Ciao devo realizzare una classe torreche rappresenta unatorre di blocchi.Il mio problema è l'implementazione del metodo numColorati() ed numJolly(), che chiedono di estituiire il numero di blocchi colorati ed di blocchi jolly presenti nella torre.
Il compilatore mi restutisce 4 e 0 al posto di 3 (numero di blocchi colorati) ed 1(numero di blocchi jolly).Perchè iterando l'arraylist ed usando il metodo contains il compilatore non mi riconosce gli ogetti BloccoColorato e BloccoJolly1?codice:import java.util.*; class Torre{ private String nome; ArrayList<Blocco1> a; BloccoColorato b; //sottoclasse di Blocco1 BloccoJolly1 b1; ////sottoclasse di Blocco1 Torre(String nome){ this.nome=nome; a=new ArrayList<Blocco1>(); } public void addBlocco(Blocco1 b){ a.add(b); } public int numColorati(){ int count=0; for(Blocco1 b:a){ if(a.contains(b)){ count++; } } return count; } public int numJolly(){ int count=0; for(Blocco1 b:a){ if(a.contains(b1)){ count++; } } return count; } public static void main (String [] args){ BloccoColorato n=new BloccoColorato(2,"rosso"); BloccoColorato n1=new BloccoColorato(3,"giallo"); BloccoColorato n2=new BloccoColorato(4,"rosa"); BloccoJolly1 n3=new BloccoJolly1(5); Torre t=new Torre("ggg"); t.addBlocco(n); t.addBlocco(n1); t.addBlocco(n2); t.addBlocco(n3); System.out.println(t.numColorati()); System.out.println(t.numJolly()); } }![]()

Rispondi quotando
con instanceof viene tutto...sei stato gentilissimo
...quindi da quanto ho capito questo ciufolo di metodo serve per verificare che una lista contenga oggetti in generale (e non sottoclassi) giusto?
