求助-马踏棋盘
来源:互联网 发布:单词翻译软件 编辑:程序博客网 时间:2024/04/27 19:40
以下是我的java代码
import java.util.Scanner;public class 马踏棋盘 {public static int[][] fangXiang = { { -2, 1 }, { -1, 2 }, { 1, 2 },{ 2, 1 }, { 2, -1 }, { 1, -2 }, { -1, -2 }, { -2, -1 } };public static void main(String[] args) {// TODO Auto-generated method stubScanner scanner = new Scanner(System.in);int[][] qiPan = new int[8][8];int i, j;for (i = 0; i < 8; i++) {for (j = 0; j < 8; j++) {qiPan[i][j] = 0;}}System.out.println("输入初始位置:");int x = scanner.nextInt();int y = scanner.nextInt();qiPan[x - 1][y - 1] = 1;searchPath(x - 1, y - 1, qiPan, 2);System.out.println("寻找路径结束!!!");}public static void searchPath(int x, int y, int[][] qiPan, int bu) {System.out.println("通过函数寻找路径中。。。。。。");System.out.println("当前起始位置为:" + x + " " + y);System.out.println("当前步数为:" + bu);int i, j, k, l, m;int xTemp, yTemp;int[][] qiPanTemp = new int[8][8];int buTemp;// 对新创建的棋盘进行赋值for (j = 0; j < 8; j++) {for (k = 0; k < 8; k++) {qiPanTemp[j][k] = qiPan[j][k];}}// 分别对8个方向进行判断for (i = 0; i < 8; i++) {xTemp = x + fangXiang[i][0];yTemp = y + fangXiang[i][1];System.out.println("尝试第" + i + "个方向");System.out.println("尝试的位置为" + xTemp + " " + yTemp);if (xTemp < 0 || xTemp >= 8 || yTemp < 0 || yTemp >= 8) {} else {if (qiPanTemp[xTemp][yTemp] != 0) {} else {buTemp = bu;qiPanTemp[xTemp][yTemp] = buTemp;buTemp++;if (buTemp < 65) {searchPath(xTemp, yTemp, qiPanTemp, buTemp);} else {System.out.println("路径为。。。。。。。。。。。。。。。。。。。。。。。。。。。。");for (l = 0; l < 8; l++) {for (m = 0; m < 8; m++) {if (qiPanTemp[l][m] < 10) {System.out.print(0);System.out.print(qiPanTemp[l][m] + " ");} else {System.out.print(qiPanTemp[l][m] + " ");}}System.out.println();}System.out.println();}qiPanTemp[xTemp][yTemp] = 0;}}}}}
我不明白为什么会产生死循环呢?求助大神啊
0 0
- 求助-马踏棋盘
- 马踏棋盘问题
- 马踏棋盘
- 马踏棋盘
- 马踏棋盘
- 【马踏棋盘】 数据结构
- 栈--马踏棋盘
- 马踏棋盘
- 马踏棋盘算法
- 马踏棋盘
- 马踏棋盘问题
- 马踏棋盘
- 马踏棋盘
- 马踏棋盘
- 马踏棋盘
- 数据结构---马踏棋盘
- 马踏棋盘
- 马踏棋盘
- matlab图像处理编程基础之读取和写入文件
- IOS开发——UIPageControl页面翻页循环
- 代码中连接数据库技巧
- google maps javascript API v3 and markerWithLabel
- Davinci encode分析(dm365)
- 求助-马踏棋盘
- 【经典排序算法】快速排序
- iOS知识点大全
- 多路数组聚集(Multiway array aggregatin)
- DM365开机与挂载flash报块问题
- 进程的状态转换
- IOS面试题--1
- 使用Xcode 5创建Cocoa Touch Static Library(静态库)
- C++的常量