Ciao a tutti!! Ritorno con un quesito che mi sta facendo impazzire, non tanto per la difficoltà, quanto per il fatto che non riesco a capire dove sbaglio!!
Premetto che sto iniziando a studiare la classe ArrayList.
Devo aggiungere a una classe già creata il metodo toString, che mi restituisce una stringa in questo modo:
Purse[Quarters, Dimes, Nickels]
Ecco qui cosa ho fatto:
codice:
public class Purse
{
public Purse()
{
coins = new ArrayList<String>();
}
public void addCoin(String coinName)
{
coins.add(coinName);
}
public String toString()
{
String s ="Purse[";
for(String x: coins)
s.concat(x + ", ");
s.concat("]");
return s;
}
private ArrayList<String> coins;
}
Per testarla ho usato una classe semplice
codice:
public class PurseTester
{
public static void main(String[] args)
{
Purse purse = new Purse();
purse.addCoin("Nickels");
purse.addCoin("Dimes");
purse.addCoin("Quarters");
System.out.println(purse.getSize());
System.out.println(purse.toString());
}
}
Ecco quello che mi stampa a video
Non capisco perchè mi esce solo la prima parentesi quadra e non aggiunge le altre stringe.
Ho provato in ogni modo possibile: sostituendo il ciclo for generalizzato con un for normale; creando String s come campo di istanza e poi aggiungendo man mano le varie stringe.
Il risultato però non cambia.
Spero che qualcuno di voi possa illuminarmi per bene sul perchè!!
Grazie mille a tutti!