登录
  • #刷题

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

TonyJang
761
2
我的代码:
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条回复
热度排序

发表回复