확인이 -이 입력에 어떤 숫자가 존재 얻을 수 있는지 확인하는 간단한 방법 :
studentArray[0][studentNumber] = firstField.getText() + " " + lastField.getText();
Pattern p = Pattern.compile("([0-9])");
Matcher m = p.matcher(studentArray[0][studentNumber]);
if(m.find()){
System.out.println("Please enter valid names");
}
가 자신에 정의 된 예외를 던질 때 잘못된를 던질 가능성이있다 입력이 발생하지만 try-catch 블록에서이 입력을 테스트하려는 경우 사용자에게 입력을 요청하는 코드를이 예외를 throw하는 메서드에서 제공해야합니다.
아마도 예외를 던지는 것보다 문제를 해결하는 또 다른 방법이있을 수 있습니다.이 방법은 실제로 심각한 문제가 발생했음을 나타냅니다. 위의 코드로 잘못된 입력이 감지되었을 때 사용자에게 다음 입력 기회를 제공하는 것이 더 나은 해결책이 아니라면 제안 할 것입니다. do-while 루프를 작성하면 여러 입력을 얻을 수 있고, 루프를 종료 할 수있는 조건으로 올바른 입력이 발생할 때 변경되는 부울 플래그를 사용할 수 있습니다. 예외를 던지기보다는 프로그램의 정상적인 진행을 계속할 수 있습니다.
@JoeC 복제본이 그 반대가 아닌가? 허용 된 응답 _에서 문자열이 유효한 정수인지 확인하십시오. – pirho
사실 그건 사실입니다. (그것은 내 깃발이었고, 죄송합니다)하지만 사용자가 대답에서 솔루션을 파생시킬 수 있기를 바랍니다. –
@RichChurcher 좋아요. ** 실제 ** 속임수를 쓰고 나서 화가났습니다. :) 글쎄, 속임수. – pirho