- #刷题
小迷宫问题,用文件读入数据出错了

7612
我的代码:
package org.stack;[br][/br][br][/br]import java.io.*;[br][/br][br][/br]public class Maze {[br][/br][br][/br] private static int startI,startJ;//入口坐标[br][/br][br][/br] private static int endI,endJ;//出口坐标[br][/br][br][/br] [br][/br][br][/br] public void start(int startI,int startJ){[br][/br][br][/br] this.startI=startI;[br][/br][br][/br] this.startJ=startJ;[br][/br][br][/br] }[br][/br][br][/br] public void end(int endI,int endJ){[br][/br][br][/br] this.endI=endI;[br][/br][br][/br] this.endJ=endJ;[br][/br][br][/br] }[br][/br][br][/br] public static void main(String[] args) {[br][br][/br] [br][/br][br][/br] int maze[][]={};[br][/br][br][/br] java.util.Scanner scanner=null;[br][/br][br][/br] String filename="d:/1.txt";[br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] try{[br][/br][br][/br] scanner=new java.util.Scanner(new File(filename));[br][/br][br][/br] for(int i=0;i<9;i++){[br][/br][br][/br] for(int j=0;j<9;j++){[br][/br][br][/br] maze[i][j]=scanner.nextInt();[br][/br][br][/br] }[br][/br][br][/br] }[br][/br][br][/br] }catch(FileNotFoundException e){[br][/br][br][/br] e.printStackTrace();[br][/br][br][/br] System.out.println("Error openning the file"+filename);[br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] create(maze);[br][/br][br][/br] Maze cell=new Maze();[br][/br][br][/br] cell.start(1, 1);[br][/br][br][/br] cell.end(7, 7);[br][/br][br][/br] [br][/br][br][/br] visited(maze, startI, startJ);[br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br] public static void visited(int[][] cell,int i,int j){[br][/br][br][/br] cell[i][j]=1;[br][/br][br][/br] if(i==endI&&j==endJ){[br][/br][br][/br] System.out.println("走完一条路线");[br][/br][br][/br] for(int m=0;m<cell.length;m++){[br][/br][br][/br] for(int n=0;n<cell[0].length;n++){[br][/br][br][/br] if(cell[m][n]==2){[br][/br][br][/br] System.out.print("#");[br][/br][br][/br] }else if (cell[m][n]==1) {[br][/br][br][/br] System.out.print("*");[br][/br][br][/br] }else {[br][/br][br][/br] System.out.print(" ");[br][/br][br][/br] }[br][/br][br][/br] }[br][/br][br][/br] System.out.println();[br][/br][br][/br] }[br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br] //向右[br][/br][br][/br] if(cell[i][j+1] == 0){[br][/br][br][/br] visited(cell, i, j+1);[br][/br][br][/br] }[br][/br][br][/br] //向下[br][/br][br][/br] if(cell[i+1][j] == 0){[br][/br][br][/br] visited(cell, i+1, j);[br][/br][br][/br] }[br][/br][br][/br] //向左[br][/br][br][/br] if(cell[i][j-1] == 0){[br][/br][br][/br] visited(cell, i, j-1);[br][/br][br][/br] }[br][/br][br][/br] //向上[br][/br][br][/br] if(cell[i-1][j] == 0){[br][/br][br][/br] visited(cell, i-1, j);[br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br] cell[i][j]=0;[br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] //打印迷宫图[br][/br][br][/br] public static void create(int[][] maze){[br][/br][br][/br] for(int i=0;i<maze.length;i++){[br][/br][br][/br] for(int k=0;k<maze.length;k++){[br][/br][br][/br] if(maze[i][k]==2){[br][/br][br][/br] System.out.print("#");[br][/br][br][/br] }else {[br][/br][br][/br] System.out.print(" ");[br][/br][br][/br] }[br][/br][br][/br] }[br][/br][br][/br] System.out.println();[br][/br][br][/br] }[br][/br][br][/br] }[br][/br][br][/br]}[color][backcolor=rgb(245, 245, 245)][font][size]1.txt文件:[/size][/font][/backcolor][/color][br][/br][br][/br][color][backcolor=rgb(245, 245, 245)][font][size]2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,2,2,0,2,2,0,2,2,0,2,2,0,2,0,0,2,0,0,2,2,0,2,0,2,0,2,0,2,2,0,0,0,0,0,2,0,2,2,2,0,2,2,0,2,2,2,2,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2[/size][/font][/backcolor][/color][br][/br][br][/br][color][backcolor=rgb(245, 245, 245)][font][size]目录没错,咋就不行呢?**求大牛指点[/size][/font][/backcolor][/color][/i][/i][/i][/i][/i][/i]
2条回复
热度排序