打印ArrayList

时间:2013-05-06 12:57:10

标签: java list arraylist

我正在编写一个计算机库存程序,允许用户从阵列中仅定义和显示一种计算机。目前,一台计算机中的一台计算机(例如,首先是一个阵列)被打印出来,但并不是所有特定型号的列表。

model = Console.askString("A or B ? ");
item = mlist.find(model);
if (item == null)
    System.out.println("Cannot find " + model);
else
     item.print("Laptop details...");
break;

2 个答案:

答案 0 :(得分:2)

  

目前,一台计算机中的一台计算机(来自阵列的第一台计算机)被打印出来,但它并不是所有特定型号的列表。

这是因为break关键字。如果您的代码snipplet是从循环中获取的,break将在if语句之后执行,然后将跳出循环并且不会打印整个数组。这将导致您所描述的行为,“首先打印数组”

model = Console.askString("A or B ? ");
item = mlist.find(model);
if (item == null)
    System.out.println("Cannot find " + model);
else
     item.print("Laptop details...");
break; // remove this

答案 1 :(得分:1)

如果mlist.find(model)有这样的签名:

List<Computer> find(String filter);

并且它确实以List返回,您应该将item重命名为items,然后您可以使用

将其循环
for (Computer computer : items){
  computer.print("Laptop details...");
}

当然,只有当您的计算机类具有print(String str)方法时才会这样,但由于您已经获得了一些打印输出,我认为这是有效的。