2012-12-14 3 views
0

아래 코드는 서로 다른 색상의 무작위로 생성 된 원을 생성합니다. 루프가 다른 위치에서 동일한 원형 패턴을 생성 할 수 있도록 크기에 따라 원의 색상을 지정할 수 있어야합니다. 이 작업은 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); 
      } 
     } 
    } 

    } 
+1

숙제 : 여기

는 같이 방법입니까? 문제가 정확히 무엇입니까? –

+0

'DrawingPanel'이란 정확히 무엇입니까? 또한, 당신은'colors [i] [j] = colors [i] [j]'를 가지고 있는데, 나는 자기 할당의 이유를 생각할 수 없다. –

답변

0

힌트는 당신을위한 개념을 중단합니다.

int color[6][3]이 귀하의 배열입니다.

무작위 색상 값 가

for(int i=0;i<6;i++) 
{ 
for(int j=0;j<3;j++) 
color[i][j]= random.nextInt(255); 
} 

지금 직경 [I]

대해 같은 원호를 그리 색의 행에 루프를 수행 클래스 Random

Random random = new Random(); 

의 객체를 생성 생성하려면

은 해당 rgb 값으로 color[i][0],color[i][1],color[i][2]을 참조하십시오.

0

그래서이 권한이 있다면 무작위로 원을 그려야하고 색상을 직경에 따라 달라 지길 원합니다. pastebin

는 또한, 내가 그것을 함께하고 자바 8없이 모두 수행 할 수 있습니다, 그래서 그것에 대해 혼동하지 않는 방법을 보여 주려고 :

여기에 그 문제에 대한 내 솔루션입니다.

Screenhot