티스토리 뷰

반응형

⊙ 문제

 

다음 그림을 참고해 동심원으로 구성된 무지개를 나타내는 프로그램을 작성하시오.


 

⊙ 문제 접근 과정

 

원은 drawOval() 함수로 그리자


 

⊙ 문제 풀이

 

import java.awt.*;
import javax.swing.*;
public class Main extends JFrame {
    public Main() {
        setTitle("동심원 무지개");
        class MyPanel extends JPanel {
            public void paintComponent(Graphics g) {
                super.paintComponent(g);
                Color[] c = { Color.RED, Color.ORANGE, Color.YELLOW, Color.GREEN, Color.BLUE, new Color(0x00080),
                        new Color(0x800080) };
                for (int i = 0; i < 7; i++) {
                    int d = delta(i);
                    g.setColor(c[i]);
                    g.drawOval(10 + d, 10 + d, 240 - d * 2, 240 - d * 2);
                }
            }
        }
        add(new MyPanel());
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(300, 300);
        setVisible(true);
    }
    int delta(int x) {
        double diagonal = Math.sqrt(240 * 240);
        return (int) (diagonal * 15 * x / 240);
    }
    public static void main(String[] args) {
        new Main();
    }
}

 


⊙ 결과

 


⊙ 마무리

 

 

NONE

 

좋아요는 로그인하지 않아도 누를 수 있습니다!

728x90
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함