기본적으로이 문은 "OR"을 사용하지 않고 "AND"를 사용하여 완벽하게 작동하는 논리를 이해하는 데 어려움을 겪고 있습니다. 논리가 Y 또는 y가 같거나 N 또는 n이 같으면 작동해야합니다. 하지만 이것을 사용하면 무한 루프가됩니다. 코드 블록은 아래에서 볼 수 있습니다.누군가가이 문이 왜 AND가되어야하는지 설명 할 수 있습니까?
response = "empty";
while (!response.equals("Y") && !response.equals("y") && !response.equals("N") && !response.equals("n"))
{
response = stdin.next();
if (!response.equals("Y") && !response.equals("y") && !response.equals("N") && !response.equals("n")) {
System.out.println("Try again, you're still in the loop!");
}
else {
System.out.println("Congratulations you're out the loop!");
}
}
}
누구나 내게 설명 할 수있는 논리적인 이유는 무엇입니까? 사용할 수 없지만 & &은 완벽하게 작동합니다. 나머지 코드 (스캐너 등은 위와 같지만 관련이 없으므로 스캐너를 포함하지 않습니다). 감사합니다.
사용할 수있는'equalsIgnoreCase()'. –
[String.equalsIgnoreCase (String s)'] (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#equalsIgnoreCase%28java.lang.String%)을 소개하겠습니다. 29). 그것은 당신을 위해 깔끔한 것들을 조금합니다. – indivisible
if 문이 이해가되지 않습니다. 당신은 상관없이 반복합니다. – Brian