public final void nameErrorLoop() {
while (error) {
System.out.println("Enter the employee's name.");
setName(kb.next());
if (name.contains("[A-Za-z]")) {
error = false;
}
else {
System.out.println("The name can only contain letters.");
}
}
error = true;
}
다른 방법으로 작동하는 비슷한 설정에도 불구하고 if 문은 항상 false이기 때문에이 메서드는 상수 루프에서 멈추게됩니다. 나는 .matches()
을 시도했고, Interent에서 찾은 것이 지금까지 도움이되었습니다. 어떤 아이디어? 사전에 도움을 주셔서 감사합니다.String.contains는 항상 false로 표시됩니다.
편집 : 프로젝트를 마치면서 '이름'을 인쇄하려고하면 나중에 이름 만 표시되고 마지막은 인쇄되지 않습니다. 두 가지를 모두 포함하도록 'name'문자열을 얻을 수있는 방법이 있습니까?
또한, 미국에서 적어도, 일부 지역은 느슨한 [법률]이 (HTTP : //en.wikipedia
이
또는 이것을 사용 하나. org/wiki/Naming_law)을 사용하여 아동의 학대를 말하고 숫자와 다른 별난을 허용합니다 : "... 일부 주에서는 숫자 나 그림 문자의 사용을 금지합니다. 일부 주에서는 외설 사용을 금지합니다. 어떤 명명법도 없다 "고 말했다. – azurefrog
완벽하게 작동 했으므로 철저한 설명에 감사드립니다. 나는 그것이 가능한 한 빨리 대답으로 표시 할 것이다. – DJOwen
@azurefrog : 좋은 지적입니다. 나는 이것이 컨텍스트에 정말로 달려 있다고 생각합니다. –