2014-09-05 2 views
0

자바를 처음 사용하면서 대학 과정을 수강합니다.Java : while 루프가 반환되지 않습니다.

나는 그것이 자신의 법안을 계산할 수 있도록 자신의 인터넷 패키지에 대한 사용자 요청하는 프로그램을 쓰고 있어요. 여기에 자신의 패키지를 요청, 나는 "은"..

입력 할 경우에도 그들이 대답 한 중 A는, B 또는 C 어떤 이유

, 그것은 while 루프를 입력하는 확인해야 니펫이다
//Create Keyboard scanner 
    Scanner keyboard = new Scanner(System.in); 

    //Get user package 
    String servicePackage; 
    System.out.println("Enter your internet package: A, B, or C"); 
    servicePackage = keyboard.nextLine(); 
    servicePackage = servicePackage.toUpperCase(); 
    System.out.println(servicePackage);//This line is for debugging 

    //Validate User Package Input 
    while (servicePackage != "A" && servicePackage != "B" && servicePackage != "C"){ 
    System.out.println("Please enter a valid internet package (A, B or C)"); 
    servicePackage = keyboard.nextLine(); 
    servicePackage = servicePackage.toUpperCase(); 
    System.out.println(servicePackage);//for debugging 
    } 
    System.out.println(servicePackage);//for debugging 

가 관련이 있는지 확실하지만, 나는 jGrasp를 사용하고하지 않습니다.

도움을 주시면 감사하겠습니다.

답변

0

"문자열"(선언) == "문자열"false를 돌려줍니다. 당신은 (true를 반환) "문자열".equals ("문자열") 등호를 사용한다 또는 equalsIgnoreCase (예 : 진정한 또한 "STRING".equalsIgnoreCase ("문자열") 반환)

+0

은 항상 false를 반환하지 않습니다. –

관련 문제