0
사용자에게 아무것도 입력하지 않도록 요청하는 프로그램을 설계했습니다..equalsIgnoreCase를 사용할 때 루프를 어떻게 종료합니까?
사용자가 'STOP'이라는 단어를 입력하면 프로그램이 종료됩니다. 그러나 나는 .equalsIgnoreCase 메서드와 약간 혼동 스럽다. ,
import java.util.Scanner;
public class Stop {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String name;
do {
System.out.println("Enter a name: ");
name = scan.next();
System.out.println(name);
//Keep looping until the name does not equal stop, once it equals stop
//then stop the program
} while(!name.equalsIgnoreCase("STOP"));
System.out.println("Program Terminated!");
scan.close();
}
}
하지만 내 초기 시도하는 동안, 나는 동안()에 다음 코드를 시도
,while(name.equalsIgnoreCase("STOP"));
내가 !
을 사용하지 않은 :
이
가 제대로 작동 코드입니다 왜냐하면 내가 갖고있는 논리는 문자열 이름이 '중지'와 단순히 비교된다는 것입니다. String name = STOP 때 프로그램을 종료하지만 그 코드를 실행하면 프로그램이 하나의 루프 만 종료 한 후에 종료된다는 것을 알았습니다. 사용자가 프로그램에서 입력 한 내용이 한 번 반복 된 후에도 종료되었지만 루핑을 유지할 논리를 설정할 때 name은 STOP과 같지 않습니다. 프로그램이 제대로 작동하기 시작한 이유는 무엇입니까? 초기 시도에서 왜 작동하지 않습니까?감사합니다.
코드의 첫 번째 버전을 실행할 때'stop'을 입력 해 보셨습니까? 그 결과는 무엇입니까? – dasblinkenlight
'while '은 무슨 뜻인지 아십니까? (java에 존재하지 않는 'until'으로 잘못 입력 한 것 같습니다) – njzk2
특정 조건을 확인하기위한 문. 파일에 다음 줄이있는 동안 루핑을 유지하십시오. –