我混乱的代码。随机颜色和大小圆 import javax.swing.*; 导入java.awt.*; 导入java.awt.event.*; 导入java.awt.geom.*; 导入java.awt.Color; 导入java.awt.Graphics; 导入java.util.Random; 公共类keyExample扩展JPanel实现ActionListener,KeyListener{ 定时器t=新定时器(5,此); 双x=0,y=0; 双changeX=0,changeY=0; 公钥示例(){ t、 start(); addKeyListener(此); 设置聚焦(真); setFocusTraversalKeysEnabled(false); } 私有静态最终整数N_圆=10; 专用静态最终双最小半径=5; 专用静态最终双最大半径=50; 公开募捐{ Random gen=新的Random(); 对于(int i=0;i

我混乱的代码。随机颜色和大小圆 import javax.swing.*; 导入java.awt.*; 导入java.awt.event.*; 导入java.awt.geom.*; 导入java.awt.Color; 导入java.awt.Graphics; 导入java.util.Random; 公共类keyExample扩展JPanel实现ActionListener,KeyListener{ 定时器t=新定时器(5,此); 双x=0,y=0; 双changeX=0,changeY=0; 公钥示例(){ t、 start(); addKeyListener(此); 设置聚焦(真); setFocusTraversalKeysEnabled(false); } 私有静态最终整数N_圆=10; 专用静态最终双最小半径=5; 专用静态最终双最大半径=50; 公开募捐{ Random gen=新的Random(); 对于(int i=0;i,java,swing,random,Java,Swing,Random,我应该创建一个代码,生成具有随机颜色和大小的圆。同时调整一些零件和另一个零件。我造成了我无法理解的混乱。请帮助我修复代码,以便产生预期结果。因此,首先,没有Random#nextDouble(min,max),您可以通过阅读JavaDocs来了解这一点 所以,快速浏览一下JavaDocs中的 返回此随机数生成器序列中0.0和1.0之间的下一个伪随机、均匀分布的双精度值 这意味着nextDouble将返回一个从0.0到1.0的“随机”数。这听起来可能没什么用处,但你会感到惊讶 现在,您必须使用自己

我应该创建一个代码,生成具有随机颜色和大小的圆。同时调整一些零件和另一个零件。我造成了我无法理解的混乱。请帮助我修复代码,以便产生预期结果。

因此,首先,没有
Random#nextDouble(min,max)
,您可以通过阅读JavaDocs来了解这一点

所以,快速浏览一下JavaDocs中的

返回此随机数生成器序列中0.0和1.0之间的下一个伪随机、均匀分布的双精度值

这意味着
nextDouble
将返回一个从
0.0
1.0
的“随机”数。这听起来可能没什么用处,但你会感到惊讶

现在,您必须使用自己的最小/最大逻辑。不难。首先计算两个值之间的范围,使用
Random#nextDouble
中的值乘以“range”,然后简单地将最小值相加

double range = MAX_RADIUS - MIN_RADIUS;
double r = MIN_RADIUS + (gen.nextDouble() * range);
我不知道圆圈是什么,你没有提供,请继续

窗格。添加(面板)似乎是造成灾难的可靠方法。我假设
面板
是组件,但不能将组件添加到自身

假设
Circle
是某种组件,然后
add(Circle)
for循环
之外,因此不会有太大作用,因为对
圆圈
的引用仅在
for循环
上下文中有效