Ciao a tutti, ho un problema con un esercizio, ecco il testo:
La classe Compito contiene un metodo pubblico di classe che riceve in ingresso una matrice quadrata m.
Tale metodo individua la colonna della matrice m che contiene più numeri pari e restituisce una LinkedList che contiene tutti i numeri pari della colonna in questione.
- Si scriva la classe Compito ed il suo metodo colonnaMaxPari.
- Si scriva la classe ProvaCompito contenente il solo metodo main, il quale svolge le seguenti operazioni:
o Crea una matrice quadrata di interi m. Sia la dimensione di m sia i valori da inserire in m sono decise dall’utente.
o Usando la classe Compito individua la colonna con più numeri pari e visualizza questi all’utente.
Ho scritto una interfaccia e poi la classe, ecco i codici:
codice:
public interface List {
/* ritorna il numero di elementi nella lista*/
public int size ();
/* aggiunge l'oggetto obj in testa alla lista */
public void addToHead (Object obj);
}
codice:
class Compito implements List {
private Entry head;
private int size;
private static class Entry {
Object element; //elemento rappresentato
Entry next; //successore
/* crea un oggetto entry, dato l’elemento e il successore */
Entry(Object element, Entry next) {
this.element = element;
this.next = next;
}
}
public Compito() {
this.head=null;
this.size=0;
}
/* ritorna il numero di elementi nella lista*/
public int size() {
return this.size;
}
/* aggiunge l'oggetto obj in testa alla lista */
public void addToHead(Object obj) {
Entry e = new Entry(obj,this.head);
this.head=e;
this.size++;
}
/* metodo che individua la colonna della matrice m che contiene più numeri pari e restituisce una LinkedList
che contiene tutti i numeri pari della colonna in questione.*/
public Compito colonnaMaxPari(int[][] mat) {
Compito result = new Compito();
int[] temp = new int[mat.length];
int maxPari=0;
for(int j=0;j<mat.length;j++) {
int count=0; // variabile contatore: tiene conto dei numeri pari di ogni colonna
for(int i=0;i<mat.length;i++) {
if(mat[i][j]%2==0)
temp[i]=mat[i][j];
count++;
}
}
}
}
Il problema è il metodo colonnaMaxPari(qui è incompleto). L'idea è copiare tutti i numeri pari delle varie colonna in più array, effettuare un confronto tra la lunghezza degli array e prendere quello più lungo. Poi convertire i valori in Object, tramite la classe Integer. La prima parte del metodo credo vada bene. Ora, la mia domanda è: come sono referenziati i vari array?non riesco a confrontarli!!