gpt4 book ai didi

java - 在java中打印特定大小的数组

转载 作者:行者123 更新时间:2023-12-01 22:35:40 25 4
gpt4 key购买 nike

我正在尝试打印一个包含 10 个对象的数组。但由于某种原因,当我打印出数组时,数组中有 15 到 22 个元素。我不明白为什么。有人可以指出我正确的方向吗?

import java.util.Random;

public class Main {
public static void main( String[] args ) {

Shape[] myShapes = new Shape[10]; //Array of 10 shapes
Random rand = new Random(); //Random number generator
int shape, x1, y1, x2, y2, x3, y3;
double radius;

for( int i = 0; i < 10; i++ ) {
shape = rand.nextInt(3); //randomly select shape
switch( shape ) {
case 0: //Triangle
x1 = rand.nextInt(101);
y1 = rand.nextInt(101);
x2 = rand.nextInt(101);
y2 = rand.nextInt(101);
x3 = rand.nextInt(101);
y3 = rand.nextInt(101);
myShapes[i] = new Triangle( x1, y1, x2, y2, x3, y3 );
System.out.println("Triangle: " + myShapes[i].area());

case 1: //Rectangle
x1 = rand.nextInt(101);
y1 = rand.nextInt(101);
x2 = rand.nextInt(101);
y2 = rand.nextInt(101);
myShapes[i] = new Rectangle( x1, y1, x2, y2 );
System.out.println("Rectangle: " + myShapes[i].area());

case 2: //Circle
radius = rand.nextDouble()*100.0;
x1 = rand.nextInt(101);
y1 = rand.nextInt(101);
myShapes[i] = new Circle( radius, x1, y1 );
System.out.println("Circle: " + myShapes[i].area());
}
}
}

最佳答案

您可以对每种情况使用 break; 吗?

您的数组实际上有 10 个元素。但它会将内容放入每个元素最多三次 - 因为控制会根据情况而变化。因此,如果 case 0 正确,它将放置三个形状并打印三个打印件。如果情况 1 正确,它将放置两个形状并打印两个打印件。

如果您在每种情况后放置 break,那么在每次迭代时,它只会放置一个形状并仅打印一次。

关于java - 在java中打印特定大小的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26904528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com