编辑: 如果输入不是,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();
}
}
答案 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++;
}