저는 체스 판을 만듭니다. 여기서 혼자만의 왕이 체스의 규칙에 따라 걸을 것입니다. 아래의 방법으로 King의 좌표 i와 j의 2 배를 호출했습니다.이 King의 좌표가 이미 존재하는지 확인하기 위해 입력 변수 String을 작성했습니다. 정수로 변환하려고 시도하는 것보다이 변환에 문제가있는 것 같습니다.문자열에서 정수로의 변환에 문제가 있습니다
import java.util.*;
public class King {
int move(String iK){
Random rand = new Random();
Integer coordinateKing = Integer.valueOf(iK);
if (iK == null){
coordinateKing = rand.nextInt(8);
}else{
int caseI;
switch(caseI = rand.nextInt(2)){
case 0: if (coordinateKing < 8){ coordinateKing++; } else {caseI = rand.nextInt(2);}
break;
case 1: if (coordinateKing > 0){ coordinateKing--; } else {caseI = rand.nextInt(2);}
break;
default:
break;
}
}
return coordinateKing;
}
}
나는이 같은 문제를 가지고 :
Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:454)
at java.lang.Integer.valueOf(Integer.java:582)
at chess_engine.King.move(King.java:6)
at chess_engine.MainClass.main(MainClass.java:12)
사전에 감사!
'iK'값을 제공 할 수 있습니까? –
'iK'는'null'이므로 파싱 할 수 없습니다. 그냥 'coordinateKing'을 선언하고 else 블록에 'coordinateKing = Integer.valueOf (iK);를 옮기시겠습니까? –