Java 在循环时在内部创建对象并在外部打印
编辑: I如果输入为否,则为10-是9。我希望输出是 管道1的直径为10 管道2的直径为9 :: 如果这是一个非常愚蠢的问题,请提前道歉,但我尝试了不同的方法,无法让代码正常工作 首先我试过这样的东西Java 在循环时在内部创建对象并在外部打印,java,Java,编辑: I如果输入为否,则为10-是9。我希望输出是 管道1的直径为10 管道2的直径为9 :: 如果这是一个非常愚蠢的问题,请提前道歉,但我尝试了不同的方法,无法让代码正常工作 首先我试过这样的东西 Pipe (counter) = new Pipe(); 以便以后能够按名称调用对象。这不起作用,但可以解决整个问题,而且我不必列出我的对象 然后我试着补充 System.out.println(a.getSize); 在for循环中,但是由于我在while循环中创建了对象,所以它
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();
}
}
import java.util.*;
导入java.util.Scanner;
扫描仪键盘=新扫描仪(System.in);
int sizeToAdd;
int计数器=0;
int forCounter=1;
字符串add=(“否”);
列表对象=新的ArrayList();
while(添加.equalsIgnoreCase(“否”)){
System.out.println(“这是最后一根管道吗?”);
add=keyboard.nextLine();
管道a=新管道();
System.out.println(“大小是多少”);
sizeToAdd=keyboard.nextInt();
keyboard.nextLine();//emty字符串
a、 设置大小(sizeToAdd);
添加(a);
计数器++;
}
用于(对象编号:对象){
系统输出打印号(“管道”+(计数器)+(“is”)+(“直径”);
forCounter++;
}
键盘关闭();
}
}
您希望有一个管道列表,以便第二个回路知道如何访问直径
List<Pipe> object = new ArrayList<Pipe>();
我不太清楚你在问什么。您是否可以编辑您的问题,以提供一些示例键盘输入和一些所需的控制台输出?只是一个有用的提示:请注意如何命名变量。在一个包含大量代码的大型应用程序中,使用名为“object”和“number”的变量会让人非常困惑。但我认为List对象=new ArrayList();是所有管道的列表吗?这里的区别是Java知道并且确信列表中有管道。通过这种方式,您可以访问列表中管道的方法和属性。
int forCounter = 0;
for (Pipe pipe : object) {
System.out.println("pipe " +(forCounter)+ (" is ") + pipe.getSize().toString() + (" diameter"));
forCounter++;
}