반응형
문제
package kr.or.ddit.homework;
import java.util.Random;
import java.util.Scanner;
public class HomeWork7 {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
HomeWork7 obj = new HomeWork7();
obj.process();
}
public void process() {
String[] words = { "abort", "absurd", "bankrupt", "bishop", "caption", "cater" };
int ran = new Random().nextInt(words.length);
String select = words[ran];
char[] ch = select.toCharArray();
/*
* 문자 섞기
*/
for(int i=0; i< 10000000; i++) {
int ran2 = new Random().nextInt(ch.length);
char temp = ch[0];
ch[0] = ch[ran2];
ch[ran2] = temp;;
}
while(true) {
/*
* ch 배열 출력하기
*
*/
// 정답 맞추기.
}
}
}
정답
package kr.or.ddit.homework;
import java.util.Random;
import java.util.Scanner;
public class HomeWork7 {
Scanner sc = new Scanner(System.in);
public static void main(String[] args) {
HomeWork7 obj = new HomeWork7();
obj.process();
}
public void process() {
/*
* 6개의 단어가 제공되며
* 이중 임의의 단어가 선택된다.
*
* 사용자는 이를 보고 원래의 단어를 입력한다.
* 사용자가 단어를 맞출때까지 반복하며 단어를 맞추었을때 시도 횟수 출력
*/
String[] words = { "abort", "absurd", "bankrupt", "bishop", "caption", "cater" };
int ran = new Random().nextInt(words.length);
String select = words[ran];
/*
* String -> char 배열로 바꿔줌
* toCharArray
*/
char[] ch = select.toCharArray();
/*
* 문자 섞기
*/
for(int i=0; i< 10000000; i++) {
int ran2 = new Random().nextInt(ch.length);
char temp = ch[0];
ch[0] = ch[ran2];
ch[ran2] = temp;;
}
int cnt = 0;
while(true) {
/*
* ch 배열 출력하기
* 정답 : abort
* 섞인 단어 : bator
*
*/
System.out.print("섞인 단어 : ");
for (char c : ch) {
System.out.print(c);
}
System.out.println();
// 정답 맞추기.
System.out.print("정답 : ");
String answer = sc.nextLine();
cnt++;
System.out.println(cnt + "번째 시도입니다.");
if(answer.equals(select)) {
System.out.println("정답입니다.");
break;
}
System.out.println("틀렸습니다.\n");
}
}
}
반응형
'자바' 카테고리의 다른 글
[Java 초급] 11.5장 테스트 (0) | 2023.12.13 |
---|---|
[Java 초급] 12장 배열 복사 (0) | 2023.12.13 |
[Java 초급] 11장 2차원 배열 (0) | 2023.12.12 |
[Java 초급] 10.5.1장 테스트 (0) | 2023.12.11 |
[Java 초급] 10장 1차원 배열 및 버블 정렬, 선택 정렬 (0) | 2023.12.11 |