public class Alimento {
private String nome;
private int quantità;
private String scadenza;
private String tipo;
Alimento(JTextField txt_nome, JTextField txt_quantità, JTextField txt_scadenza, JTextField txt_tipo) {
setNome(txt_nome.getText());
setQuantità(Integer.parseInt(txt_quantità.getText()));
setScadenza(txt_scadenza.getText());
setTipo(txt_tipo.getText());
/*System.out.println(getNome());
System.out.println(getQuantità());
System.out.println(getScadenza());
System.out.println(getTipo());*/
}
public String getNome(){
return nome;
}
public int getQuantità(){
return quantità;
}
public String getScadenza(){
return scadenza;
}
public String getTipo(){
return tipo;
}
public String setNome(String name){
return nome = name;
}
public int setQuantità(int quant){
return quantità = quant;
}
public String setTipo(String type){
return tipo = type;
}
public String setScadenza(String scad){
return scadenza = scad;
}
}
public class Dispensa{
LinkedList<Alimento> dispensa = new LinkedList<>();
public Dispensa(){}
public void add(Alimento alimento){
dispensa.add(alimento);
}
public void showList(){
for (int i = 0; i < dispensa.size(); i++)
System.out.println(dispensa);
}
}
当我尝试显示元素时,我将它们的数字地址显示为(mykitchen.Alimento@10a6cf9e)。我会显示如下内容:
名:...
quantità:...
对于我在链表中的每个元素
谢谢你!答案 0 :(得分:1)
获取#{1}}之类的对象引用是正常的,因为您为行mykitchen.Alimento@10a6cf9e
中的对象调用了toString方法,System.out.println(dispensa);
对象是{{} 1 {}} dispensa
对象,所以你必须使用List
在循环中获取alimento对象,调用你想要的getter。喜欢:
alimento
您还可以在班级中为dispensa.get(index)
定义public void showList(){
for (int i = 0; i < dispensa.size(); i++)
{
Alimento alimento = dispensa.get(i);
System.out.println(alimento.getNome());
}
}
,这样您就不必致电toString()
。