gpt4 book ai didi

java - 非常基本的 GObject/GOval For 循环

转载 作者:行者123 更新时间:2023-12-01 04:10:50 25 4
gpt4 key购买 nike

我目前正在参加 AP Java 编码类(class),但遇到了一个有趣的问题。

我正在尝试使用 GObjects/GOval 在图形窗口中创建 100 个具有不同半径和随机颜色的随机圆。我尝试隔离问题,并且确信 for 循环和 GOval(循环)创建之间存在通信问题。我也尝试从头开始多次重做此代码,但我一直遇到同样的问题。具体来说,我的问题是我的图形窗口仅显示一个随机圆圈,而不是 100 个。请帮忙。我的代码如下:

请注意,我选择了变量 c 来随机指定颜色。没有任何押韵或理由,我只是需要使用一个随机值。

import java.awt.Color;
import acm.graphics.GOval;
import acm.program.GraphicsProgram;
import acm.util.RandomGenerator;

public class _100_Random_Circles extends GraphicsProgram
{

public _100_Random_Circles()
{
// Random Number Generator

RandomGenerator rgen = new RandomGenerator();

// Random X-coordinate.
int x = rgen.nextInt(1, 500);
// Random Y-coordinate.
int y = rgen.nextInt(1, 500);
// Random Circle width
int c = rgen.nextInt(1, 100);
// Random Circle height
int d = rgen.nextInt(1, 100);

for(int i = 0; i < 100; i++)
{
GOval circle = new GOval (x, y, c, d);
add(circle);

//Color the circles randomly

if(c <= 10)
{
circle.setFilled(true);
circle.setColor(Color.BLUE);
}
else if(c <= 20)
{
circle.setFilled(true);
circle.setColor(Color.RED);
}
else if(c <= 30)
{
circle.setFilled(true);
circle.setColor(Color.YELLOW);
}
else if(c <= 40)
{
circle.setFilled(true);
circle.setColor(Color.GREEN);
}
else if(c <= 50)
{
circle.setFilled(true);
circle.setColor(Color.ORANGE);
}
else if(c <= 60)
{
circle.setFilled(true);
circle.setColor(Color.BLACK);
}
else if(c <= 70)
{
circle.setFilled(true);
circle.setColor(Color.GRAY);
}

else if(c <= 80)
{
circle.setFilled(true);
circle.setColor(Color.PINK);
}

else if(c <= 90)
{
circle.setFilled(true);
circle.setColor(Color.MAGENTA);
}

else
{
circle.setFilled(true);
circle.setColor(Color.WHITE);
}
}
}
}

最佳答案

正如我在评论中首先指出的那样。

那是因为您的 xycd 定义位于循环之外。那么所有圈子都只有一个值

关于java - 非常基本的 GObject/GOval For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19944360/

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