5、 public int[] move(int state[],String info){
int lang = 0;
try{
lang = Integer.parseInt(info.substring(0,2));
}catch(Exception e){
lang = Integer.parseInt(info.substring(1,2));
}
int yang = 0;
try{
yang= Integer.parseInt(info.substring(2));
}catch(Exception e){
yang = Integer.parseInt(info.substring(3));
}
int[] result = new int[state.length];
result[0] = state[0]+lang;
result[1] = state[1]+yang;
return result;
}
注意:try语句的使用,因为+3转换为数字的时候出现异常
另外不能直接修改state的元素值然后把state返回。
6、public boolean check(int state[]){
判定羊的个数不能小于狼的个数。
7、public boolean hasExist(StringBuffer str){
判断是否有死循环。
8、public void printResult(StringBuffer str){
输出结果方案。
大家可以试着使用广度优先的方式实现代码,可以不用递归的方式进行处理(如果递归的层数比较多,会出现堆栈溢出问题)。