카테고리 없음

[배열] 연습문제 5-6

각시탈코더 2022. 9. 3. 15:25

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

  1. 배열안에 들어있는 글자들을 섞는 방법을 아는가?
  2. 중첩 for문을 활용할 수 있는가?

나의 오답원인

  1. 중첩 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문의 활용

 

문제를 풀기위해 했던 노력

 


출처:자바의 정석 기초편(저자:남궁성, 출판사: 도우출판)