一亩三分地论坛

 找回密码
 获取更多干货,去instant注册!

扫码关注一亩三分地公众号
查看: 332|回复: 2
收起左侧

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

[复制链接] |试试Instant~ |关注本帖
TonyJang 发表于 2014-7-8 15:11:44 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?获取更多干货,去instant注册!

x
我的代码:
  1. package org.stack;
  2. import java.io.*;


  3. public class Maze {
  4.         private static int startI,startJ;//入口坐标
  5.         private static int endI,endJ;//出口坐标
  6.        
  7.         public void start(int startI,int startJ){
  8.                 this.startI=startI;
  9.                 this.startJ=startJ;
  10.         }
  11.         public void end(int endI,int endJ){
  12.                 this.endI=endI;
  13.                 this.endJ=endJ;
  14.         }

  15.         public static void main(String[] args) {
  16.                
  17.                 int maze[][]={};
  18.                  java.util.Scanner scanner=null;
  19.                  String filename="d:/1.txt";
  20.                  
  21.                  
  22.                  try{
  23.                       scanner=new java.util.Scanner(new File(filename));
  24.                       for(int i=0;i<9;i++){
  25.                                         for(int j=0;j<9;j++){
  26.                                                 maze[i][j]=scanner.nextInt();
  27.                                                 }
  28.                                         }
  29.                   }catch(FileNotFoundException e){
  30.                    e.printStackTrace();
  31.                    System.out.println("Error openning the file"+filename);
  32.                   }
  33.                
  34.                
  35.                 create(maze);

  36.                 Maze cell=new Maze();
  37.                 cell.start(1, 1);
  38.                 cell.end(7, 7);
  39.                
  40.                 visited(maze, startI, startJ);
  41.         }
  42.        
  43.         public static void visited(int[][] cell,int i,int j){
  44.                 cell[i][j]=1;
  45.                 if(i==endI&&j==endJ){
  46.                         System.out.println("走完一条路线");
  47.                         for(int m=0;m<cell.length;m++){
  48.                                 for(int n=0;n<cell[0].length;n++){
  49.                                         if(cell[m][n]==2){
  50.                                                 System.out.print("#");
  51.                                         }else if (cell[m][n]==1) {
  52.                                                 System.out.print("*");
  53.                                         }else {
  54.                                                 System.out.print(" ");
  55.                                         }
  56.                                 }
  57.                                 System.out.println();
  58.                         }
  59.                 }
  60.                
  61.                  //向右
  62.                 if(cell[i][j+1] == 0){
  63.                         visited(cell, i, j+1);
  64.                 }
  65.                 //向下
  66.                 if(cell[i+1][j] == 0){
  67.                         visited(cell, i+1, j);
  68.                 }
  69.                 //向左
  70.                 if(cell[i][j-1] == 0){
  71.                         visited(cell, i, j-1);
  72.                 }
  73.                 //向上
  74.                 if(cell[i-1][j] == 0){
  75.                         visited(cell, i-1, j);
  76.                 }
  77.                
  78.                 cell[i][j]=0;
  79.         }
  80.        
  81.        
  82.         //打印迷宫图
  83.         public static void  create(int[][] maze){
  84.                 for(int i=0;i<maze.length;i++){
  85.                         for(int k=0;k<maze.length;k++){
  86.                                 if(maze[i][k]==2){
  87.                                         System.out.print("#");
  88.                                 }else {
  89.                                         System.out.print(" ");
  90.                                 }
  91.                         }
  92.                         System.out.println();
  93.                 }
  94.         }
  95. }
复制代码
1.txt文件:
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

目录没错,咋就不行呢?**求大牛指点

donnice 发表于 2014-7-8 22:45:05 | 显示全部楼层
我觉得不只是文件读入的问题。LZ能告诉我这个程序是为了什么吗?设计迷宫?还是自动找出一条路?
回复 支持 反对

使用道具 举报

 楼主| TonyJang 发表于 2014-7-9 14:55:07 | 显示全部楼层
donnice 发表于 2014-7-8 22:45
我觉得不只是文件读入的问题。LZ能告诉我这个程序是为了什么吗?设计迷宫?还是自动找出一条路?

自动找路径啊
回复 支持 反对

使用道具 举报

本版积分规则

请点这里访问我们的新网站:一亩三分地Instant.

Instant搜索更强大,不扣积分,内容组织的更好更整洁!目前仍在beta版本,努力完善中!反馈请点这里

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明 ( 沪ICP备11015994号 )

custom counter

GMT+8, 2016-12-10 13:35

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表