2013-07-15 3 views
1

그래서 내가하는 A 문제가, 나는 다음과 같이 스캐너를 사용Scanner.class를 스위치/케이스와 함께 두 번 사용하는 방법은 무엇입니까?

import java.util.Scanner; 
public class Test{ 

    public static void main(String[] args){ 

     Scanner a = new Scanner(System.in); 
     String b = a.nextLine(); 

     switch(b){ 

     case "Hello": 
      System.out.println("Hello to you"); 
      break; 
     case "Hi": 
      System.out.println("Hi to you"); 
      break; 
     default: 
      System.out.println("Good day"); 

      String c = a.nextLine(); 

      switch(c){ 

       case "Bye": 
        System.out.println("Bye to you"); 
        break; 
       case "Good bye": 
        System.out.println("Good bye..."); 
        break; 
       default: 
        System.out.println("..."); 

      } 
     } 
    } 
} 

을 그래서 내가 오류를 얻을하지 않습니다, 나는 단지가 아닌 C에서 B의 입력을 얻을 수 있습니다 그것을 실행하려고하지만 경우 휴식 때문에 ... 어떻게이 문제를 해결할 수 있습니까? 그러나 스위치가 작동 한 후에도 새 스캐너를 만들려고했지만 작동하지 않습니다.

답변

3

초를 시작하기 전에 첫 번째 switch 문을 닫지 않아야합니다. switch(b) 블록의 기본 문 다음에 닫는 대괄호 }을 배치하십시오. 이제 작성된 방법은 switch(c) 문이 FIRST switch 문의 default: 분기의 함수로만 실행된다는 것입니다. 코드를 실행하여 첫 번째 스위치를 기본값으로 설정하면 두 번째 switch 문이 실행됩니다.

요약 : System.out.println("Good day");

다음에 }을 입력하십시오.
관련 문제