gpt4 book ai didi

java - 将未知数量的对象添加到数组列表

转载 作者:行者123 更新时间:2023-12-01 23:35:13 25 4
gpt4 key购买 nike

我有一项学校作业,要求我将未知数量的“水果”类实例添加到数组列表“篮子”中,并打印出每个水果对象的详细信息,我的代码将水果添加到数组列表中,但是似乎每次都会覆盖以前的条目,给我留下同一项目的数组列表。这是我到目前为止的代码:

import java.util.*;
public class Question1
{
public static void main(String[]Augs)
{
List<Fruit> basket = new ArrayList<Fruit>();
int input;
Scanner inp = new Scanner(System.in);
String name;
String colour;
double mass;
int k = -1;
while (true)
{
System.out.println("Enter option: (1) add fruit (2) quit:");
input = inp.nextInt();
if (input==2)
break;
else
{
k++;
System.out.println("Enter name, colour and mass in kg separated by space");
name = inp.next();
colour = inp.next();
mass = inp.nextDouble();
Fruit temp = new Fruit(name, colour, mass);
basket.add(temp);
}
}
for (int i = 0; i<basket.size(); i++)
{
System.out.println(basket.get(i));
}
}
}

//fruit class
public class Fruit
{
private String name;
private String colour;
private double mass;
public Fruit(String name, String colour, double mass)
{
this.name=name;
this.colour=colour;
this.mass=mass;
}
public String toString()
{
return name + " " + colour + " " + mass;
}
}

最佳答案

在将水果添加到篮子方面,您的代码看起来很好。我认为让您困惑的是System.out.println(basket.get(i))。您本质上是要求打印 Fruit 对象,但运行时不知道如何执行此操作,因此尝试通过调用将 Fruit 转换为某种字符串表示形式其上的 toString() 方法。我认为您的 Fruit 类无论里面有什么内容都会打印相同的字符串。尝试重写 toString() 方法以获得正确的结果。

public class Fruit
{
@Override
public String toString()
{
return this.getName() + " " + this.getColor() + " " + this.getMass();
}
}

关于java - 将未知数量的对象添加到数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18807656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com