2017-11-18 1 views
0

필자는 사용자 입력이 x 인 스캐너를 가지고 있는데, 입력이 "정확함"을 올바르게 출력하고 입력이 올바르지 않으면 "올바르지 않음"을 출력합니다. 그러나 내가 올바른 또는 잘못된 문자열을 입력하면 나는 "무언가"를 출력하는 while 루프의 무한 루프에 갇혀 있습니다.while 루프에서 사용자 입력을 저장하는 변수를 어떻게 사용할 수 있습니까?

사용자 입력이 올바른지 확인하고 "그렇다면"단어를 출력하고 프로그램의 다음 부분으로 이동하십시오. 입력이 올바르지 않으면 "wrong"를 출력하고 입력이 올 때까지 반복하십시오.

희망적으로 말이 되네요!

코드 :

Scanner sc = new Scanner(System.in); 

    int n = 0; 
    String x = sc.nextLine(); 
    while(n == 0){ 
     if (x == "inv"){ 
      System.out.println("correct"); 
      n++; 
     }else{ 
      System.out.println("incorrect"); 
     } 
    } 
+0

보다 x.equals("Inv")를 사용하는 데 필요한! – user7431342

+1

x == "inv"이 잘못되었습니다. https://stackoverflow.com/questions/767372/java-string-equals-versus – caot

답변

0

는 차라리 Aominè가, 감사 근무 @x == "Inv"

+1

"Inv".equals (x)를 사용하는 것이 훨씬 낫습니다. – caot

+0

차이점은 무엇입니까, 단지 호기심입니까? – user7431342

+0

x가 null이면 NullPointerException과 함께 실패합니다. "Inv"는 null이 될 수 없으므로 안전합니다. – caot

관련 문제