以下代码将生成随机生成的不同颜色的圆圈。我需要能够通过它的大小来指定圆的颜色,以便循环将在不同的位置产生相同的圆形图案。这需要使用2d数组。我知道这可能不是那么困难,但我似乎无法掌握这个概念。 这是方向和我的代码。
谢谢!
设置2-D,int colors [] [],包含6行的数组,每个圆圈一个,以及3列,每个元素(红色,绿色,蓝色)对应要使用的颜色。在上面的显示中,颜色值是在程序开始时在0到255范围内随机生成的。然后对于每个直径[i],将颜色[i] [0],颜色[i] [1]和颜色[i] [2]用于RGB水平。
import java.io.*;
import java.util.*;
import java.awt.*;
public class Lab10 {
/**
* @param args
*/
public static void main(String[] args) {
Scanner console=new Scanner (System.in);
Random r = new Random();
int [] color= new int [3];
color[0]=r.nextInt(256);
color[1]=r.nextInt(256);
color[2]=r.nextInt(256);
System.out.println("Please enter 6 integer values. The values should be in descending order and in the range 100 to 1.");
int[] diameters=new int[6];
int colors[][] = new int [6][3];
for(int i=0; i<6; i++){
diameters[i]=console.nextInt();//values entered
}
for (int i=0; i<diameters.length; i++) {
for (int j = 0; j < color.length; j++) {
colors[i][j]=colors[i][j];
}
}
int panelX = 400, panelY = 400;
DrawingPanel panel = new DrawingPanel(panelX, panelY);
panel.setBackground(Color.WHITE);
Graphics g = panel.getGraphics();
for (int i=0; i<10; i++){
int centerX=r.nextInt(350);
int centerY=r.nextInt(350);
for(int value:diameters){
g.setColor(new Color(r.nextInt(256),r.nextInt(256), r.nextInt(256)));
g.fillOval(centerX - value , centerY - value, 2 * value, 2 * value);
}
}
}
}
答案 0 :(得分:0)
提示
为你打破这个概念。
int color[6][3]
是你的数组。
随机生成颜色值
创建类Random
Random random = new Random();
对颜色行进行循环
for(int i=0;i<6;i++)
{
for(int j=0;j<3;j++)
color[i][j]= random.nextInt(255);
}
现在画直径[i],
的圆圈请参阅color[i][0],color[i][1],color[i][2]
的rgb值
答案 1 :(得分:0)