代碼欣賞:
公共?靜電?int?壹步?=?1;
公共?靜電?StringBuffer?printStep?=?新的?string buffer();
公共?靜電?int[][]?迷宮?={{1,1,1,1,1,1,1,1,1,1,1},
{1,0,1,0,1,0,0,0,0,0,1?},
{1,0,1,0,0,0,1,0,1,1,1?},
{1,0,0,0,1,0,1,0,0,0,1?},
{1,0,1,1,0,0,1,0,0,1,1?},//?0表示是,1表示否。
{1,0,1,0,1,1,0,1,0,0,1?},
{1,0,0,0,0,0,0,0,1,0,1?},
{1,0,1,0,1,0,1,0,1,0,1?},
{1,0,0,1,0,0,1,0,1,0,1?},
{1,1,1,1,1,1,1,1,1,1,1?}?};
公共?靜電?作廢?main(String[]?args)?{
int?我,?j;?//循環計數變量
Sample.way(1,?1);//二維數組的起始值從下標1和1開始。
System.out.println("坐標起點?x?=?1,?y?=?1開始”);
System.out.println("終點坐標是什麽?x?=?8,?y?=?9 End”);
System.out.println("這是迷宮圖");
system . out . println(" 0123456789?10");
system . out . println("+-+-+-+-+-+-+-+-+-+");
對於(我?=?0;?我?& lt?10;?i++){
System.out.print("??+?我?+?"‖");
對於(j?=?0;?j?& lt?11;?j++)
System.out.print("-"?+?迷宮[i][j]?+?"-‖");
system . out . println(" ");
system . out . println("+-+-+-+-+-+-+-+-+-+");
}
//打印並顯示步數
system . out . print(print step . tostring());
}
公共?靜電?布爾?way(int?x,?int?y){
if(迷宮[8][9]?==?2)//代表遞歸終止條件(即出出口時,標記為?2)
回歸?真實;
否則{
if(迷宮[y][x]?==?0){
迷宮[y][x]?=?2;
/*
*?下面if判斷條件將當前坐標表示為基點,
*?根據判斷遞歸調用當前位置,例如:
*?向上,向右,向右,向右,向下,
*?左下,左中和左上的坐標是否可以去,
*?判斷能不能去的回報條件是:
*?2表示是,1表示否,3表示通過了,但未能通過。
*/
如果(方式(x,y?-?1)){
PrintStep.append("第壹個?"?+?壹步?+?"?臺階的位置是什麽?x?=?"?+?x?+?"?y?=?"?+?y?+?" \ n ");
step++;
回歸?真實;
}別的?如果(方式(x?+?1,?y?-?1)){
PrintStep.append("第壹個?"?+?壹步?+?"?臺階的位置是什麽?x?=?"?+?x?+?"?y?=?"?+?y?+?" \ n ");
step++;
回歸?真實;
}別的?如果(方式(x?+?1?,?y)){
PrintStep.append("第壹個?"?+?壹步?+?"?臺階的位置是什麽?x?=?"?+?x?+?"?y?=?"?+?y?+?" \ n ");
step++;
回歸?真實;
}別的?如果(方式(x?+?1,?y?+?1)){
PrintStep.append("第壹個?"?+?壹步?+?"?臺階的位置是什麽?x?=?"?+?x?+?"?y?=?"?+?y?+?" \ n ");
step++;
回歸?真實;
}別的?如果(方式(x,y?+?1)){
PrintStep.append("第壹個?"?+?壹步?+?"?臺階的位置是什麽?x?=?"?+?x?+?"?y?=?"?+?y?+?" \ n ");
step++;
回歸?真實;
}別的?如果(方式(x?-?1,?y?+?1)){
PrintStep.append("第壹個?"?+?壹步?+?"?臺階的位置是什麽?x?=?"?+?x?+?"?y?=?"?+?y?+?" \ n ");
step++;
回歸?真實;
}別的?如果(方式(x?-?1,?y)){
PrintStep.append("第壹個?"?+?壹步?+?"?臺階的位置是什麽?x?=?"?+?x?+?"?y?=?"?+?y?+?" \ n ");
step++;
回歸?真實;
}別的?如果(方式(x?-?1,?y?-?1)){
PrintStep.append("第壹個?"?+?壹步?+?"?臺階的位置是什麽?x?=?"?+?x?+?"?y?=?"?+?y?+?" \ n ");
step++;
回歸?真實;
}否則{
迷宮[y][x]?=?3;
回歸?假的;
}
}否則
回歸?假的;
}
}
復制代碼前需要樓主創建壹個嗎?班級?
Sample.way(1,?1);這段代碼是我的類的靜態調用。改成XXXXX.way(1,?1);
XXXXX代表您創建的類。
下面是這個程序運行後的截圖。