我创建了5个Box对象,将它们放在一个名为boxes的数组中,并希望迭代它们以打印它们的信息。获得访问的一个数组对象已成功打印,因此我知道方法很好。
但我的for循环似乎只能访问最后一个对象。以3.14,99.1和26.7作为参数的那个。它打印5次,所以我知道条件(x< boxes.length)正常工作。如何成功迭代数组中的每个对象?
import java.util.Scanner;
public class BoxTest {
public static void main(String[] args) {
Box[] boxes= new Box[5];
Scanner stdin = new Scanner(System.in);
System.out.print("Enter a height: ");
double height = stdin.nextDouble();
System.out.print("Enter a width: ");
double width = stdin.nextDouble();
System.out.print("Enter a length: ");
double length = stdin.nextDouble();
Box first = new Box(width, length, height);
boxes[0] = first;
Box second = new Box();
boxes[1] = second;
Box third = new Box(2,3.5,5.75);
boxes[2] = third;
Box fourth = new Box(6.66,4.20,9.11);
boxes[3] = fourth;
Box fifth = new Box(3.14,99.1,26.7);
boxes[4] = fifth;
for (int x = 0; x < boxes.length; x++ ) {
System.out.println(Box.toString(boxes[x]) + " Area: " +
Box.calculateArea(boxes[x]) + " Volume: " +
Box.calculateVolume(boxes[x]));
}
}
答案 0 :(得分:-3)
您的方法不应该是静态的。 将Box类更改为toString。 for(int x = 0; x&lt; boxes.length; x ++){ 的System.out.println(盒[X]);