자바 개발자는 자바를 잘해야된다며 시작한 남궁성님의 까페에서 자바 1000제를 풀기 시작
첫째날 낱말 섞어서 원래랑 비교하기
package Day001;
import java.util.HashSet;
import java.util.Iterator;
class WordScrambleEx {
public static void main(String[] args) {
String[] strArr = { "CHANGE", "LOVE", "HOPE", "VIEW"};
String answer = getAnswer(strArr);
String question = getScrambledWord(answer);
System.out.println("Question:"+question);
System.out.println("Answer:"+answer);
} // main
public static String getAnswer(String[] strArr) {
int seed = (int) (Math.random()*strArr.length); //난수 생성 같은 숫자가 몇번 나올 수 있으니 주의
System.out.println("seed : " + seed + " strArr : " + strArr.length);
return strArr[seed];
}
public static String getScrambledWord(String str) {
String result = "";
int seed = 0;
HashSet<Integer> source = new HashSet<Integer>(); //중복숫자를 허용하지 않기 위해서
while(true){
seed = (int) (Math.random()*str.length()); //난수를 생성해서 HashSet에 담는다.
source.add(seed);
if(source.size() == str.length()) break; //HashSet의 size와 스트링의 길이가 같으면 재료 완성
}
System.out.println(source.iterator());
Iterator<Integer> itr = source.iterator(); //Iterator 사용법에 따른 난 이것도 헷갈렸다 ㅋㅋ
while(itr.hasNext()){
result += str.charAt(itr.next());
}
return result;
} // scramble(String str)
}
결과는 위와 같이 나왔다. 앞으로 더 잘해 봐야지 ㅋㅋ