2011-12-26 5 views
0

다음 코드에서 키보드에 y를 입력하면 분기 문의 else 부분에 입력됩니다. 왜 그런가요?Java 입력이 문자열을 인식하지 못합니다.

public static void getInput(){ 
    String response; 
    String[] coins = new String[6]; 

    System.out.println("Would you like to enter your own amount? (y/n)"); 

    Scanner sc = new Scanner(System.in); 
    response=sc.nextLine(); 

    if (response=="y"){ 
     System.out.println("You entered y"); 
     } 
    else{ 
     System.out.println("You did not enter y, you entered " + response); 
     } 
    } 
+0

이 프로그램 ... – Vinoth

답변

2

당신은 response.equals ("y")를 원합니다.

+0

감사의 메인 클래스가없는 ... 어쩌면 내가 결국이 물건 : – Geekender

+0

그것은 수 있도록 쉬운 실수를 배우게됩니다. –

1

문제의 조건은 if(response=="y")입니다.

equals() 메서드는 String 객체 내부의 문자를 비교합니다. == 연산자는 두 개의 개체 참조를 비교하여 동일한 인스턴스를 참조하는지 확인합니다.

사용

(response.equals("y") 
관련 문제