2013-11-27 16 views
1

이미 많은 매개 변수가있는 스위치 케이스에 변수 매개 변수를 추가하는 구문이 필요합니다. 문맥은 아래에 제공됩니다.문자열을 정수로 변환

문자열 응답을 정수 반환으로 변경하려면 스위치 케이스를 사용하고 있습니다. 사용자 응답이있는 대신


2. 다른 것.

나는 대답은 같이 할

나는이 같은 코드를하기 전에 그것을 한 적이

(Y/N) :

static public int getYN() { 
    String answer = ""; 
    switch(keyboard.nextLine().substring(0, 1).toLowerCase()) { 
     case "y": 
      return 1; 

     case "n": 
      return 0; 

     default: 
      return 2; 

    } 
} 



그리고 문을 사용하여 :

int getAnswer = getYN(); 
     System.out.println(); 

     if (getAnswer == 1) { 
     System.out.println("Stuff."); 
     test = 1; 
     } 
     else { 
     System.out.println("Other stuff."); 
     System.out.println(); 
    } 

하지만 String 응답 변수를 스위치 케이스에 넣을 위치를 모르겠습니다. 당신이 많은 다른 매개 변수를 사용하지 않는 경우 일반적으로, 그것은 단지

switch(answer) { 
} 



+0

올바른 언어 태그를 추가하십시오 ... [태그 : java] – hyde

+0

와 같은 모양의 메시지를 추가하십시오 ... – geedubb

+4

질문이 명확하지 않습니다. 무엇을 성취하려고합니까? – Zong

답변

0

가 인라인을 확인이 검사를 수행하는 전용 방법을 가지고 잊을 것이다.

char getAnswer = keyboard.next().charAt(0); 

    switch(getAnswer) 
    { 
     case 'y': 
      System.out.println("Stuff."); 
      test = 1; 
      break; 
     case 'n': 
      System.out.println("Other stuff."); 
      System.out.println(); 
      break; 
    } 
+0

코드'if (answer.equalsIgnoreCase ("yes")) {}'또는'(no ")'가이 똑같은 일을하는 것으로 나타났습니다. 아웃. 그러나 이러한 대답은 잘 작동하며 코딩 논리에 좋은 자료입니다. 감사! @ 보헤미안의 대답. –

0

당신은 한 줄에 같은 일을 달성 할 수있다 : 당신이 절대적으로 스위치를 사용해야하는 경우

char getAnswer = keyboard.next().charAt(0); 

    System.out.println(); 

    if (getAnswer == 'y' || getAnswer == 'Y') 
    { 
     System.out.println("Stuff."); 
     test = 1; 
    } 
    else if(getAnswer == 'n' || getAnswer == 'N') 
    { 
     System.out.println("Other stuff."); 
     System.out.println(); 
    } 

public static int getYN(String s) { 
    return ("yn YN".indrxOf(s) + 3) % 3; 
} 

모두 대문자와 소문자를 취급하고 있습니다 "찾을 수 없음"2의 기본값은 3을 추가하여 처리됩니다 (대상을 찾을 수 없을 때 indexOf()-1을 반환 함). 계수 빼기가 대문자 색인을 처리합니다.

나 자신을 그렇게 말할지라도 말이지.