아래 코드는 서로 다른 색상의 무작위로 생성 된 원을 생성합니다. 루프가 다른 위치에서 동일한 원형 패턴을 생성 할 수 있도록 크기에 따라 원의 색상을 지정할 수 있어야합니다. 이 작업은 2 차원 배열로 수행해야합니다. 나는 이것이 그다지 어렵지 않다는 것을 안다. 그러나 나는 그 개념을 이해하는 것처럼 보이지 않는다. 여기에 지침과 코드가 있습니다.다른 색상의 원을 그리는 2 차원 배열 만들기
감사합니다.
6 색 (각 원에 하나씩, 3 열, 사용할 색상의 각 요소 (빨강, 초록, 파랑)에 하나씩)의 2 차원, int colors [] [] 배열을 설정하십시오. 위의 디스플레이에서 색상 값은 프로그램 시작시 0에서 255 범위에서 무작위로 생성됩니다. 그런 다음 각 직경 [i]에 대해 color [i] [0], color [i] [1] 및 color [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);
}
}
}
}
숙제 : 여기
는 같이 방법입니까? 문제가 정확히 무엇입니까? –
'DrawingPanel'이란 정확히 무엇입니까? 또한, 당신은'colors [i] [j] = colors [i] [j]'를 가지고 있는데, 나는 자기 할당의 이유를 생각할 수 없다. –