0

我正在尝试构建一个程序,该程序允许用户输入对象的长度和宽度,无论我选择多少次(我会构建更多代码来选择循环进行多少次)。我在弄清楚每次循环迭代时如何获取输入和构造对象时遇到了一些问题。谢谢!

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);
    }


}
4

2 回答 2

1

您可以使用 ArrayList/LinkList,如果您的条目很大,那么只使用 LinkList。

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);
}
于 2013-07-23T21:49:12.003 回答
0

您需要了解如何使用 Collections API,尤其ListLinkedListArrayList. 所以你的代码会变成:

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这里是因为它通常是两者中性能更好的一个(但对于不需要任何一个功能的相对较小的列表,两者都可以)。

于 2013-07-23T21:07:51.793 回答