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