Discussione: [Java] problema
View Single Post
Old 19-06-2007, 10:47   #1
gigippa
Member
 
Iscritto dal: Apr 2007
Cittā: Torino
Messaggi: 95
[Java] problema

Ciao. Devo implementare i metodi trasformaInTripla della classe che metto qui sotto

Codice:
import java.util.Scanner;
import static java.lang.System.*;

public class CoppiaTripla{

  static Scanner input = new Scanner(System.in);

  public static void main(String[] args) {

     Coppia [] array = creaArrayCoppia();
     stampaArrayCoppia(array);
     //
     trasformaInTripla(array);
     stampaArrayTripla(trasformaInTripla(array));
  }


  /** Metodo che crea e restituisce un array di Coppie. Gli interi che compongono
  le singole Coppie sono richiesti all'utente.
  */
	public static Coppia [] creaArrayCoppia() {
 		out.println("Di che lunghezza vuoi l'array?");
 		while(!input.hasNextInt()) {
		      input.next();
		      out.print("Immetti un intero: ");
    }
 		int n = input.nextInt();
 		Coppia [] array = new Coppia[n];
 		for(int i = 0; i < n; i++){
			 array[i] = new Coppia();
			 out.println("Inserisci il primo elemento della coppia numero " + i);
			 array[i].setI(input.nextInt());
			 out.println("Inserisci il secondo elemento della coppia numero " + i);
			 array[i].setJ(input.nextInt());
    }

    return array;
 }

 /** Metodo che stampa un array di Coppie. */
 public static void stampaArrayCoppia(Coppia [] a){
	 int n = a.length;
	 for (int i = 0; i < n; i++)
	 out.println(a[i]);
 }

 /** Metodo da completare che dato un array di Coppie costruisce e restituisce un array di Triple.*/
 public static Tripla [] trasformaInTripla(Coppia [] a){
	 int dimensione=a.length;
	 Tripla arr [] = new Tripla[dimensione];

	 for(int i=0; i<dimensione; i++){  //i<a.length
		 arr[i].setI(a[i].getI()); //= a[i].getI();
		 arr[i].setJ(a[i].getJ());

		 if(arr[i].getI()<arr[i].getJ()){
			 arr[i].setK(arr[i].getI());
		 }
		 else arr[i].setK(arr[i].getJ());
	 }
return arr;
	 }


 /** Metodo che stampa un array di Triple. */
 public static void stampaArrayTripla(Tripla [] a){
	 int n = a.length;
	 for (int i = 0; i < n; i++)
	 out.println(a[i]);
 }

}
classe che utilizza le classi che qui riporto
Codice:
class Tripla {

  private int i;
  private int j;;
  private int k;


  // NON INTRODURRE NESSUN COSTRUTTORE!
  // Si usa il costuttore di default.


 /** Restituisce il valore del campo i*/
 public int getI() {
		return i;
  }

  /** Restituisce il valore del campo j*/
  public int getJ() {
		return j;
  }

  /** Restituisce il valore del campo k*/
  public int getK() {
		return k;
  }


  /** Modifica il campo i*/
  public void setI(int i) {
		this.i = i;
  }

  /** Modifica il campo j*/
 public void setJ(int j) {
		this.j = j;
  }

	/** Modifica il campo k*/
  public void setK(int k) {
		this.k = k;
  }

 /** Restituisce una stringa che contiene tutti i valori dei campi dell'oggetto*/
  public String toString(){
			return "i: " + i + " j: " + j + " k: " + k;
	}


}
Codice:
class Coppia {

  private int i;
  private int j;



  // NON INTRODURRE NESSUN COSTRUTTORE!
  // Si usa il costuttore di default.


 /** Restituisce il valore del campo i*/
 public int getI() {
    return i;
  }

  /** Restituisce il valore del campo j*/
  public int getJ() {
    return j;
  }


  /**Modifica il campo i*/
  public void setI(int i) {
    this.i = i;
  }

 /** Modifica il campo j*/
 public void setJ(int j) {
		this.j = j;
  }


/** Restituisce una stringa che contiene tutti i valori dei campi dell'oggetto*/
 public String toString(){
		return "i: " + i + " j: " + j;
 }

}
Non riesco a capire come mai non funzioni. Qualcuno mi aiuta? Grazie
gigippa č offline   Rispondi citando il messaggio o parte di esso