Minesweeper의 기본 비 재귀, 비 GUI 양식에 대한 코딩 프로젝트를 수행하고 있습니다. [ "공개"/ "R"] [INT] [INT]형식이 정확한 입력을 확인하는 방법은 무엇입니까?
: 명령 (공개 추측 마크)를 마킹
: 요구 사항 중 하나는 입력 명령이 엄격과 같이 포맷되어야한다는 도움말 및 종료 : [ "help"/ "h"] 또는 [ "quit"/ "q"]
이러한 제한 사항을 벗어나는 입력은 잘못된 것으로 간주되어야합니다. 공개에 대한 내 코드는 다음과 같습니다.
case "reveal":
case "r":
roundsCompleted ++;
if(input.hasNextInt()){
par1 = input.nextInt();
}
else{
commandIn = null;
}
if(input.hasNextInt()){
par2 = input.nextInt();
correctInput = true;
}
else{
commandIn = null;
}
if(correctInput && isInBounds(par1, par2)){
reveal(par1, par2);
여기는 모두 스위치 설명에 포함되어 있습니다. commandIn = null 문은 "command not recognized"를 출력하는 기본 경우를 던지도록 설계되었습니다. 내 문제의 일부는 여기에 두 개의 별도의 if-else 문에 있음을 알았습니다. 또 다른 문제는 input.hasNextInt()가 처음 것 다음에 int가 없을 때 false로 평가되는 것 같지 않다는 것입니다.
이 문제의 핵심은 위에 나열된 형식으로이 명령을 완전히 제한하는 것입니다. 누구든지이 문제에 대해 어느 정도 통찰력을 줄 수 있습니까? 감사.
또는 'hasNextInt'의 필요성을 피할 수 있습니까? 정규식을 사용하고 계십니까? '/^[a-z] + \ d {2} $ /'같은 것이 있습니까? 그것이 틀린 경우에 사과, 나의 정규식 녹슨이다. –