
⊙ 문제 다음 그림을 참고해 3개의 팬이 프레임에 나타나도록 프로그램을 작성하시오. ⊙ 문제 접근 과정 fillArc() 함수를 이용하여 면이 채워진 호를 그려보자 ⊙ 문제 풀이 import java.awt.Graphics; import javax.swing.*; public class Main extends JFrame { public Main() { setTitle("3개의 팬"); add(new JPanel() { protected void paintComponent(Graphics g) { super.paintComponent(g); int cx = getWidth() / 2; int cy = getHeight() / 2; int radius = (int) (Math.min(getWidth(), ..

⊙ 문제 마우스를 클릭할 때마다 프레임의 컨텐트페인 배경색이 랜덤하게 변경되는 프로그램을 작성하시오. JFrame 객체의 내부에 있는 컨텐트페인은 getContentPane() 메서드를 이용해 구할 수 있다. 컨텐트페인은 Container 타입이므로 JPanel 타입으로 변환할 수 있다. ⊙ 문제 접근 과정 Math.random() 함수를 이용해 rgb 색을 랜덤으로 바꿔준다. ⊙ 문제 풀이 import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class Main extends JFrame { public Main() { setTitle("임의의 배..

⊙ 문제 난수를 발생해 알파벳을 임의의 자리에 표시하는 프로그램을 작성하시오. 알파벳은 JLabel 객체를 사용하고, 화면 크기는 300*200으로 설정한다. 절대 좌표로 GUI 컴포넌트를 배치하려면 배치 관리자가 없어야 한다. ⊙ 문제 접근 과정 배치 관리자를 없애는 함수 = setLayout(null); ⊙ 문제 풀이 import javax.swing.*; import java.awt.*; public class Main extends JFrame { Main() { setTitle("난수 알파벳"); setSize(300,200); setLayout(new BorderLayout()); JPanel panel = new JPanel(); setDefaultCloseOperation(JFrame.EX..

⊙ 문제 OutputStream과 관련된 메서드를 이용해 0부터 9까지 연속된 숫자와 A부터 Z까지 알파벳 문자를 콘솔 뷰에 출력하는 프로그램을 작성하시오. 0의 ASCII 코드 값은 '48'이며, A의 ASCII 코드 값은 '65'이다. 콘솔은 표준 출력 장치이므로 System.out 객체를 OutputStream 타입의 변수에 대입해서 사용한다. ⊙ 문제 접근 과정 박스 안의 내용을 잘 보고 그대로 구현해보자. ⊙ 문제 풀이 import java.io.IOException; import java.io.OutputStream; public class Main { public static void main(String[] args) throws IOException { OutputStream out=Sy..

⊙ 문제 키보드로 입력한 정수 값을 학생의 점수로 사용하며 ArrayList에 저장한다. 입력된 정수 값이 음수면 입력의 끝이다. 점수 중에서 최고 점수부터 최고 점수 -10점 이상은 A, 최고 점수 -10 미만부터 최고 점수 -20점 이상은 B처럼 등급을 배정한 후 출력하는 프로그램을 작성하시오. ⊙ 문제 접근 과정 점수를 한번 이상 받아야 해서 do while문을 사용했다. 이 반복문은 음수를 받기 전까지 반복된다. 그리고 Collections에 있는 max() 함수로 입력받은 score 점수 중에서 가장 높은 값을 max라는 변수에 따로 저장했다. 그다음으로는 등급을 매겨주는 rating 메서드를 따로 만들어주었다. 만든 rating 메서드를 for문안에서 score.size()만큼 돌려주어 원하는..

⊙ 문제 다음 표와 같은 멤버를 가진 Controller 추상 클래스가 있다. TV와 Radio 클래스는 Controller의 구현 클래스이다. Controller, TV, Radio 클래스를 작성하시오. 그리고 ControllerTest 프로그램으로 테스트하시오. 필드 boolean power 메서드 void show() 추상 메서드 String getName() ⊙ 문제 접근 과정 부모 Controller 자식 TV, Radio class 구현 ⊙ 문제 풀이 abstract class Controller { boolean power; public Controller(boolean power) { this.power = power; } void show() { if (power==true) System..

⊙ 문제 다음 표를 참고해 Phone, Phone의 자식 클래스 Telephone, Telephone의 자식 클래스 Smartphone을 작성하고, 테스트 프로그램도 작성하시오. Phone Telephone Smartphone 필드 protected String owner private String when private String game 메서드 void talk() void autoAnswering() void playGame() 각 클래스에 모든 필드를 초기화하는 생성자를 추가한다. 각 클래스의 메서드를 구현한다. talk()는 owner가 통화 중, autoAnswering()은 owner가 부재중이니 when에 전화 요망, playGame()은 owner가 game 게임 중이라는 메시지를 출력..

⊙ 문제 0~99 사이의 정수를 키보드에서 10개 입력받아 10 단위 간격의 히스토그램을 출력하는 프로그램을 작성하시오. 입력된 수가 음수이면 무시하시오. 예를 들어 위쪽처럼 10개의 정수가 입력되었을 때는 아래쪽처럼 히스토그램을 출력한다. ⊙ 문제 접근 과정 배열에 카운팅을 해주고 값이 올라간만큼 '*'을 출력하도록 코딩해봤다. ⊙ 문제 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { int[] num = new int[10]; int[] hist = {0,0,0,0,0,0,0,0,0,0}; Scanner in = new Scanner(System.in); System.out.println(..

⊙ 문제 주사위 게임용 Dice 클래스를 작성하시오. 주사위를 굴리면 1~6 사이의 정수만 임의로 반환하므로 Math 클래스의 random() 메서드를 사용해 숫자를 임의로 반환하면 된다. public class DiceTest { public static void main(String[] args) { System.out.println(new Dice().roll()); } } ⊙ 문제 접근 과정 Math.random()만 하면 0.0에서 0.99999... 값을 출력한다. 그래서 (int)를 활용해주고 우리가 원하는 값인 1~6을 얻기 위해 6을 곱해준다. 하지만 이렇게 하면 0~5의 값을 얻는다. 그러므로 1을 더해 식을 완성한다. ⊙ 문제 풀이 class Dice { int roll() { ret..

⊙ 문제 길이 속성만 가진 직선을 모델링한 Line 클래스를 작성하고, 다음 프로그램으로 테스트하시오. public class LineTest { public static void main(String[] args) { Line a = new Line(1); Line b = new Line(1); System.out.println(a.isSameLine(b)); System.out.println(a == b); } } true false ⊙ 문제 접근 과정 Line 클래스를 구현해보자. 안에 isSameLine() 메서드도 추가해보자. ⊙ 문제 풀이 class Line { private int line; public Line (int line) { this.line = line; } public bool..
- Total
- Today
- Yesterday
- Web
- 프로그래머스
- py
- 연습문제
- java
- CPP
- 풀이
- 정리
- 쉽게배우는자바프로그래밍
- 그리디
- JS
- 구현
- 백준
- C++
- BFS
- 파이썬
- Python
- 자바
- 정답
- 문자열
- OS
- 해답
- 운영체제
- 쉽게배우는
- 알고리즘
- 우종정
- 답
- 정렬
- 쉽게 배우는 자바 프로그래밍
- 자바스크립트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |