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