我正在尝试构建一个允许用户输入对象长度和宽度的程序,但是我选择了多次(我会构建更多代码来选择循环的次数)。我每次循环迭代时都会遇到一些问题,想知道如何获取输入并构造一个对象。谢谢!
public static void main(String[] args)
{
Scanner console = new Scanner(System.in);
for (int i = 1; i <= 2; i++)
{
System.out.println("Enter length" + i + ": ");
int length i = console.nextInt();
System.out.println("Enter length" + i + ": ");
int width i = console.nextInt();
OBJECT instance1 = new OBJECT(length1, width1);
}
}
答案 0 :(得分:1)
您可以使用ArrayList / LinkedList,如果您的条目很大,那么只能使用LinkedList。
Scanner console = new Scanner(System.in);
System.out.println("Enter how many records you want: ");
int j = console.nextInt(); //"Loop will run "+ j +" times"
List<ObjectName> objectList = new ArrayList<ObjectName>();
int length = 0;
int width = 0;
for (int i = 1; i <= j; i++)
{
System.out.println("Enter length" + i + ": ");
length = console.nextInt();
System.out.println("Enter width" + i + ": ");
width = console.nextInt();
ObjectName instance1 = new ObjectName(length, width);
objectList.add(instance1);
}
答案 1 :(得分:0)
您需要了解如何使用Collections API,尤其是List
,LinkedList
和ArrayList
。所以你的代码将成为:
public static void main(String[] args) {
final Scanner console = new Scanner(System.in);
final List<Area> objectList = new ArrayList<Area>();
for (int i = 0; i < 2; i++) {
System.out.println("Enter length" + (i + 1) + ": ");
final int length = console.nextInt();
System.out.println("Enter width" + (i + 1) + ": ");
final int width = console.nextInt();
final Area instance = new Area(length, width);
objectList.add(instance);
}
}
我在这里选择ArrayList
因为它通常是两者中表现较好的一个(但是对于不需要任何一个功能的相对较小的列表,两者都可以)。