Search

문자열2_문제06_랜덤타자게임

대분류
STEP06 문자열
소분류
문자열2_문제

영상

문제

package 문자열2_문제; /* [문제] 1. 문제를 섞는다.(shuffle) 2. 순서대로 문제를 출제하고, 문제를 다 맞추면 게임을 종료한다. 3. 단, 문제를 출제할 때 단어의 랜덤한 위치 한 곳만 *로 출력한다. [예시] 문제 : mys*l 입력 : mysql <--- 정답을 맞추면, 다음 문제 제시 문제 : *jp 입력 : jsp ... */ public class 문자열2_문제06_랜덤타자게임_문제 { public static void main(String[] args) { String[] words = {"java", "mysql", "jsp", "spring"}; } }
Java
복사

해설

package 문자열2_문제; import java.util.Random; import java.util.Scanner; /* [문제] 1. 문제를 섞는다.(shuffle) 2. 순서대로 문제를 출제하고, 문제를 다 맞추면 게임을 종료한다. 3. 단, 문제를 출제할 때 단어의 랜덤한 위치 한 곳만 *로 출력한다. [예시] 문제 : mys*l 입력 : mysql <--- 정답을 맞추면, 다음 문제 제시 문제 : *jp 입력 : jsp ... */ public class 문자열2_문제06_랜덤타자게임_정답 { public static void main(String[] args) { Random ran = new Random(); Scanner scan = new Scanner(System.in); String[] words = {"java", "mysql", "jsp", "spring"}; for(int i=0; i<50; i++) { int r = ran.nextInt(words.length); String temp = words[0]; words[0] = words[r]; words[r] = temp; } for(int i=0; i<words.length; i++) { int r = ran.nextInt(words[i].length()); System.out.print("문제 : "); for(int j=0; j<words[i].length(); j++) { if(j == r) { System.out.print("*"); } else { System.out.print(words[i].charAt(j)); } } System.out.println(); System.out.print("입력 : "); String myWord = scan.next(); if(!words[i].equals(myWord)) { i -= 1; } } } }
Java
복사