여러 가지 종류의 불량 사용자 입력을 검사하기 위해이 방법을 쓰고 있습니다. 저는 BigInt 클래스를 작성했으며 "++ 2", "--2", 글자, "222 333"과 같은 공백으로 나뉘는 숫자 또는 마침표와 같은 것이 없는지 확인해야합니다. 이전에는 String Splitter를 사용하지 않았고 예상되는 tokenCount를 얻지 못했습니다. 예를 들어, 콘솔에 "++ 2"를 입력 한 경우 tokenCount = 1이지만 3을 얻을 것이라고 생각했습니다.사용자 입력 형식이 올바른지 확인하는 방법
해결 방법에 대한 아이디어가 있습니까?
public static boolean checkValidInput(String val) {
String input = val;
String[] delims = {"//+", "-", "a", " ", "."};
String[] tokens;
int tokenCount;
boolean validInput = true;
for(int i = 0; i < delims.length; i++) {
tokens = input.split(delims[i]);
tokenCount = tokens.length;
if(delims[i].equals("//+")){
if(tokenCount > 2){
validInput = true;
} else {
validInput = false;
}
} else if(delims[i].equals("-")){
if(tokenCount > 2){
validInput = true;
} else {
validInput = false;
}
} else if(delims[i].equals("a")){
if(tokenCount > 1){
validInput = true;
} else {
validInput = false;
}
} else if(delims[i].equals(" ")){
if(tokenCount > 1){
validInput = true;
} else {
validInput = false;
}
} else if(delims[i].equals(".")){
if(tokenCount > 1){
validInput = true;
} else {
validInput = false;
}
}
}
}