우편 바코드 변환기를 만들기 위해이 지정을 받았습니다. 나는 예외가 하나있는 작업 프로그램이 있습니다. 내가하려고하는 오류 검사는 바코드를 숫자 변환으로 제한하는 것입니다. 문자 (프로그램에서 다시 숫자로 변환해야하므로). 가능한 모든 문자를 불특정 한 순서로 그 두 문자로 제한 할 수있는 방법을 정확하게 파악할 수 없습니다. 나는 노력했다 (! input.hasNext ([:] [|])); 그리고 그것은 내가 생각한 어떤 변화와도 운이 없다. 어떤 도움이라도 대단히 감사하겠습니다.오류 확인 완료를위한 도움이 필요합니다
Scanner input = new Scanner(System.in);
System.out.println("Enter a barcode with using : or | ");
String barcode = input.next(); // The barcode should not have white space, so don't use nextLine()
while (!barcode.contains("|") && !barcode.contains(":"))
{
System.out.println("Error: Please Input a correct number");
System.out.print("Entry: ");
input.next();
}
// Do whatever with the barcode
는 기본적으로, 당신이 바코드를 입력 한 번 사용자에게 메시지를 표시하려면 :
public static String number()
{
System.out.println("Enter a barcode with using : or | ");
Scanner input = new Scanner(System.in);
while (!input.hasNext())
{
System.out.println("Error: Please Input a correct number");
System.out.print("Entry: ");
input.next();
}
String input1 = input.next();
return input1;
}
"좋은"사례와 "오류"사례를 보여주는 예제 입력보기 – hfontanez
설명을 위해 "잘못된"문자가 감지 된 후 프로그램이 모든 것을 무시하고 최대 수신 한 정보 가져 오기를 원하십니까? 그 점 (내 문자열은':: | :: Q :: ||'을 의미하고 프로그램은':: | :: ||'을주는'Q'에서 멈춘다. 또는 허용되지 않는 문자가 감지 되더라도 관계없이 오류가 발생하기를 원하십니까? –
'while (! input.hasNext())'... 운좋게도 System.in을 소스로 사용하기 때문에 예외가 발생하지 않습니다. – Tom