자바 클래스와 배열을 이용한 무지개 연습문제
- 유저는 무지개색을 임의로 입력한다. (ex. 빨주노초파남보 / 보남차포노주빨 / 노초빨주보남파)
- 무지개 값은 임의로 출력된다. (랜덤으로 출력 ex. 빨빨빨주주노초 / 노노초초파파남보)
- 유저가 입력한 무지개색과 정확히 일치할 때까지 무지개 값은 반복문을 계속 돈다.
- 정확히 일치할 때까지 반복문을 몇번 돌았는지 구하시오.
package Twentysix; import java.util.Random; import java.util.Scanner; class Color { String color[] = {"빨", "주", "노", "초", "파", "남", "보"}; } class ColorGroup { Color[] c = new Color[7]; String palette; } class User { String palette; } public class Rainbow { public static void main(String[] args) { // TODO Auto-generated method stub Random r = new Random(); Scanner sc = new Scanner(System.in); Color c = new Color(); ColorGroup[] cg = new ColorGroup[7]; User[] u = new User[7]; System.out.println("무지개를 한줄씩 입력하세요: "); for (int i = 0; i < u.length; i++) { u[i] = new User(); u[i].palette = sc.next(); // class User의 palette에 값을 넣어준다. } int count = 0; int same = 0; while(true) { for (int i = 0; i < cg.length; i++) { int randomnumber = r.nextInt(7); cg[i] = new ColorGroup(); cg[i].palette = c.color[randomnumber]; System.out.print(cg[i].palette); // class ColorGroup의 palette에 값을 임의로 넣어준다. } same = 0; // same 초기화 for (int j = 0; j < u.length; j++) { for(int k = 0; k < cg.length; k++) { if(u[j].palette.equals(cg[k].palette)) { if(j==k) { same ++; // 같은 자리에 같은 색이 있다면 same ++ } } } } System.out.println(" " + ++count); // 지금까지 몇번 돌았는지 출력 if(same==7) // User가 입력한 무지개의 값과 class ColorGroup의 palette 값이 완벽히 일치한다면 while문을 탈출한다. { break; } } } }
콘솔에 나타나는 결과값:

'Java' 카테고리의 다른 글
자바 좌석 예약 프로그램 만들기 (0) | 2020.08.28 |
---|---|
자바 스레드 (Thread) 연습문제 2 (0) | 2020.08.28 |
자바 스레드 (Thread) 연습문제 1 (0) | 2020.08.27 |
자바 메소드 (Method) 를 사용해 숫자야구 만들기 (0) | 2020.07.21 |
자바로 숫자야구게임 쉽게 만들기 (배열, 조건문, 반복문 사용) (0) | 2020.07.19 |