5-6.단어의 글자위치를 섞어서 보여주고 원래의 단어를 맞추는 예제이다. 실행결과와 같이 동작하도록 예제의 빈 곳을 채우시오.
import java.utill.Scanner;
class Excercise5_6 {
public static void main(String args[]) {
String[] words = { "television", "computer", "mouse", "phone" };
Scanner scanner = new Scanner(System.in);
for(int i = 0; i < words.length; i++) {
char[] question = words[i].toCharArray();
<---문제--->
<---문제--->
System.out.printf("Q%d. %s의 정답을 입력하세요.>", i+1, new String(question));
String answer = scanner.nextLine();
if(words[i].equals(answer.trim()))
System.out.printf("맞았습니다.%n%n");
else
System.out.printf("틀렸습니다.%n%n");
}
}
}
문제의 핵심 Key
- 배열안에 들어있는 글자들을 섞는 방법을 아는가?
- 중첩 for문을 활용할 수 있는가?
나의 오답원인
- 중첩 for문을 제대로 활용하지 못했다. 첫 for문에서 섞을 단어를 정하고 두 번째 for문에서 선택한 단어에서 각 글자를 섞어야 했다.
핵심개념
1.두 변수의 값을 바꾸는 방법
class practice {
public static void main(String args[]) {
int x = 10, y = 5
int tmp = x; // 1. x의 값을 tmp에 저장
x = y; // 2. y의 값을 x에 저장
y = tmp; // 3. tmp에 저장된 값을 y에 저장
System.out.println("x="+x);
System.out.println("y="+y);
}
}
2.중첩 for문의 활용
문제를 풀기위해 했던 노력
출처:자바의 정석 기초편(저자:남궁성, 출판사: 도우출판)