在循环中创建对象并将其打印到外部

时间:2014-10-06 19:53:07

标签: java

编辑: 如果输入不是,10 - 是9.我希望输出为

管道1直径

管2直径为9

:::::::

如果这是一个非常愚蠢的问题,请提前抱歉,但我尝试了不同的事情,但无法使代码生效。

首先,我试过这样的事情

Pipe (counter) = new Pipe();

以后可以按名称调用对象。这不起作用,但可以解决整个问题,我必须列出我的对象。

然后我尝试添加

     System.out.println(a.getSize); 
在for循环中

,但是因为我在while循环中创建了对象,所以它不会得到它们。我认为这是列出它们的重点,显然我错过了一些东西。 有没有人对如何做到这一点有想法?

import java.util.*;
import java.util.Scanner;

Scanner keyboard = new Scanner (System.in);
int sizeToAdd;
int counter = 0;
int forCounter = 1;
String add = ("no");
List<Object> object = new ArrayList<Object>();

while (add.equalsIgnoreCase("no")) {
  System.out.println("is this the last pipe?");
  add = keyboard.nextLine();

  Pipe a = new Pipe();

  System.out.println("what  is the size");
  sizeToAdd = keyboard.nextInt(); 
  keyboard.nextLine();//emty string

  a.settSize(sizeToAdd);
  object.add(a);
  counter++;

}    
for (Object number : object) {
 System.out.println("pipe " +(forCounter)+ (" is ") + (" diameter"));
 forCounter++; 
}

keyboard.close();
}
}

1 个答案:

答案 0 :(得分:0)

您想要一个管道列表,以便您的第二个循环知道如何访问直径。

List<Pipe> object = new ArrayList<Pipe>();

然后你可以有一个带有Pipe对象的循环:

int forCounter = 0;
for (Pipe pipe : object) {
    System.out.println("pipe " +(forCounter)+ (" is ") + pipe.getSize().toString() + (" diameter"));
    forCounter++;
}