我的任務我想有一個用戶輸入項目的名稱和價格。但是,他們將無限次地輸入,直到使用警戒值。我實際上並不知道如何去做這件事。我知道如何用用戶輸入聲明對象的唯一方法是使用掃描器,然後將這些數據放入構造函數的參數中。但那隻會創建一個對象。謝謝!Java:我如何用用戶輸入的數據聲明未定義數量的對象?
import java.util.Scanner;
public class Item
{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
}
private String name;
private double price;
public static final double TOLERANCE = 0.0000001;
public Item(String name,double price)
{
this.name = name;
this.price = price;
}
public Item()
{
this("",0.0);
}
public Item(Item other)
{
this.name = other.name;
this.price = other.price;
}
public String getName()
{
return name;
}
public double getPrice()
{
return price;
}
public void setName(String name)
{
this.name = name;
}
public void setPrice(double price)
{
this.price = price;
}
public void input(String n, double item)
{
}
public void show()
{
// Code to be written by student
}
public String toString()
{
return "Item: " + name + " Price: " + price;
}
public boolean equals(Object other)
{
if(other == null)
return false;
else if(getClass() != other.getClass())
return false;
else
{
Item otherItem = (Item)other;
return(name.equals(otherItem.name)
&& equivalent(price, otherItem.price));
}
}
private static boolean equivalent(double a, double b)
{
return (Math.abs(a - b) <= TOLERANCE);
}
}
您是否已經瞭解了有關列表或數組的知識? – user2864740
不是列表,但我確實瞭解了數組, – Artie
好吧,可以在這裏使用數組,對於可以創建多少項目有一些「限制」。創建一個大小爲1000個元素的數組(即不超級巨大,但超過用戶輸入的數量)。然後還保留一個howManyItemsHaveBeenAdded變量。當您要求使用輸入時(可能使用'while或'do-while循環),從輸入創建對象,然後將其分配給相應的數組元素(在先前添加的項目的末尾)並增加計數器變量。 (如果列表允許,添加可以簡化..) – user2864740