Scusa ma...
Secondo me il codice fa quello che hai scritto di fare, il problema e' che quello che hai scritto non e' cio' che vuoi fare. Prova a risistemarlo.codice:public static void main(String[] args) { //...Insersci, bla bla bla, anche se non capisco il ciclo for. //Situazione attuale:hai inserito 1 oggetto nella mappa e il reference i1 punta //ancora a quell'oggetto // visualizzazione con input da tastiera: mi stampa quello che scrivo BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in)); for (i=0; i<3; i++) { try { //setti il messaggio dell'oggetto della mappa alla stringa //appena letta in quanto i1 punta ancora all'oggetto. i1.setMessage((String) stdIn.readLine()); } catch (IOException e) { e.printStackTrace(); } i1.setState(i); if (mappa.containsKey(i1)) //E certo che lo contiene c'e' solo quello //Il messaggio naturalmente e' quello che hai scritto da tastiera //perche' sopra l'hai sovrascritto. Quindi la stampa e' corretta { i2 = (classmappa) mappa.get(i1); System.out.println(i2.getMessage()); } } }
![]()

Rispondi quotando