для моего задания Я предполагаю, что у пользователя есть имя и цена предметов. Тем не менее, они должны вводить неограниченное количество раз до тех пор, пока не будет использовано контрольное значение. На самом деле я не знаю, как это сделать. Единственный способ, которым я знаю, как объявить объект с пользовательским вводом, - это использовать сканер, а затем поместить эти данные в аргументы конструктора. Но это создаст только один объект. Благодаря!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