2013-11-28 3 views
-1

저는 Java에 익숙하지 않고 탈출을 포함하여 텍스트 게임을 만들려고합니다. 여기 내 코드는 다음과 같습니다.while 루핑 및 Java의 문제점이있는 경우

import java.util.Scanner; 
import java.util.concurrent.TimeUnit; 
public class Adventure { 
    public static void main (String args[]) throws InterruptedException{ 
     System.out.println("YOU WAKE ON YOUR COUCH. YOU NEED TO GET OUT OF YOUR HOUSE."); 
     int x = 1; 
     while (x == 1){ 
      Scanner ACTION = new Scanner(System.in); 
      System.out.println("WHAT DO YOU DO NEXT?"); 
      String action; 
      action = ACTION.next(); 

      if (action == "a"){ 
       System.out.println("if"); 
      }else{ 
       System.out.println("else"); 
      } 
     } 
    } 
} 

실행 해보고 작동하지 않는지 확인하십시오. 'a'를 입력하면 'else'가 인쇄됩니다. 답안에 새로운 코드가있을 경우이를 설명하십시오. 고맙습니다.

+0

무엇이 당신 질문입니까? –

+0

while 루프가 멈추지 않습니다. 당신은 x의 값을 변경하지 않습니다. 문자열을 비교하려면 equals를 사용해야합니다. –

+0

'=='두 문자열이 똑같은 문자열인지 (같은 종이인지 생각하는지)'string.equals (otherString)'은 같은 문자 (다른 종이에 쓰여졌을 가능성이 있음)가 있는지 확인합니다. –

답변

1
if (action == "a"){ 
    System.out.println("if"); 
} 

당신은 String 유형을 비교하고 있습니다. equals을 사용하십시오.

if(action.equals("a") { } 
+0

아, 저는 만나다. 나는 차이점이 있다는 것을 잘 몰랐다. – user2916424

+0

이것은 우리가 여기서 보는 가장 일반적인 질문 중 하나이다! – christopher