Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在循环时在内部创建对象并在外部打印_Java - Fatal编程技术网

Java 在循环时在内部创建对象并在外部打印

Java 在循环时在内部创建对象并在外部打印,java,Java,编辑: I如果输入为否,则为10-是9。我希望输出是 管道1的直径为10 管道2的直径为9 :: 如果这是一个非常愚蠢的问题,请提前道歉,但我尝试了不同的方法,无法让代码正常工作 首先我试过这样的东西 Pipe (counter) = new Pipe(); 以便以后能够按名称调用对象。这不起作用,但可以解决整个问题,而且我不必列出我的对象 然后我试着补充 System.out.println(a.getSize); 在for循环中,但是由于我在while循环中创建了对象,所以它

编辑: I如果输入为否,则为10-是9。我希望输出是

管道1的直径为10

管道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();
}
}
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++;
}