Boot Camp/[코드스쿼드] Java 백엔드 테스트 4

[4단계] 태양계 애니메이션 - 미완성

Ex) 1,2,3 단계에서 만든 것을 활용해서 태양계 애니메이션을 만든다. Sol) public class Animation extends JFrame { static int width = 2000; static int height = 1000; static JPanel page1 = new JPanel() { Image background = new ImageIcon(Animation.class.getResource("\\img\\sun.png")).getImage(); public void paint(Graphics g) { g.drawImage(background, width / 2 - 100, height / 2 - 100, null);// background를 그려줌, x값은 x값 그대로, y값..

[3단계] 콘솔 태양계 출력 프로그램 완성

Ex) 연, 월, 일을 입력하면 태양계가 출력되도록 하라 태양, 지구, 달 외에 다른 행성, 인공 위성 등을 추가해도 된다. Sol) Planet 클래스 2단계의 공전 클래스 메서드를 가져와서 조금만 수정했다. 지구는 검은 별, 달은 달 모양으로 표시한다. 은하수를 추가하는 메서드를 이용해서 은하수를 그린 다음에 태양, 지구, 달을 그린다. 태양, 지구, 달 그리는 메서드를 모두 따로 만들었다. public class Planet { static char[][] graph = new char[50][50]; static Set sunCharSet = Set.of('\\', '!', '/', 'O', '-', '|', '.', '*', 'Y', 'o', 'u', 'A', 'r', 'e', ' ', 'H',..

[2단계] 지구 태양 달의 위치 표시하기

Ex) 날짜(m월 d일)를 입력 받아서 지구, 태양, 달의 위치를 표시하기 1월 1일은 태양, 지구, 달이 일직선 상에 위치한다고 가정한다. 문제에 주어지지 않았으나 지구와 달이 모두 반시계 반향으로 공전한다고 가정했다. 그래프 크기 50 * 50, 태양의 지름: 5, 지구: 3, 달 1로 설정한다. Sol) public class Revolution { static final double mercuryOrbitalPeriod = 88; public static LocalDate enterDate() throws IOException { System.out.println("날짜를 입력하세요. ex) m월 d일"); BufferedReader br = new BufferedReader(new InputSt..

[1단계] 콘솔로 원 출력하기

Ex ) 3이상 80이하 값을 입력 받아서 입력값을 지름으로 하는 원을 출력한다. Sol) /** * 1단계 콘솔로 원 그리기 */ public class Circle { static char[][] graph = new char[100][100]; public static int inputDiameter() { System.out.println("원의 크기는?"); Scanner scanner = new Scanner(System.in); int r; try { r = scanner.nextInt(); } catch (InputMismatchException e) { throw new RuntimeException("[ERROR] 숫자만 입력 가능합니다."); } if (r 80) ..