gpt4 book ai didi

java - 在java中将文本文件中的数据填充到char数组

转载 作者:行者123 更新时间:2023-12-01 09:19:53 26 4
gpt4 key购买 nike

我正在创建一个函数来从文件中读取迷宫文件包含迷宫的大小[row],[col],[Entrypoint_row],[EntryPoint_Col],[ExitPoint_row],[ExitPoint_Col]然后是迷宫数据

  • 当前文件的数据如下1 enter image description here

    public void readMaze() 抛出 FileNotFoundException{

/用于存储入口点和导出点

    int EntryPoints[]=new int[2];
int ExitPoints[]=new int[2];

try
{
String line="";
FileReader fr=new FileReader("maze.txt");
BufferedReader br=new BufferedReader(fr);
  • 将数据作为字符串读入
  • 将字符串变量line拆分为字符数组arr
  • 从arr获取数据到声明的变量

        line=br.readLine();
    String arr[]=line.split(" ");
    row=Integer.parseInt(arr[0]);
    col=Integer.parseInt(arr[1]);

    this.AllocateMaze(row, col); //allocating size of maze row and col from file
    EntryPoints[0]=Integer.parseInt(arr[2]);
    EntryPoints[1]=Integer.parseInt(arr[3]);
    ExitPoints[0]=Integer.parseInt(arr[4]);
    ExitPoints[1]=Integer.parseInt(arr[5]);
    System.out.println("row :"+row+"col :"+col);
    System.out.println("exit points :"+EntryPoints[0]+" : "+EntryPoints[1]);
    System.out.println("exit points :"+ExitPoints[0]+" : "+ExitPoints[1]);

    int i=0,k=0;
    boolean flag=true;
  • 用文件中的数据逐个字符填充迷宫[][]

        while(!(line=br.readLine()).equals(null))
    {
    k=0;
    for(int j=0;j<row;j++)
    {

    这里我在 i=8,j=8 处遇到数组越界异常,为什么我找不到处理它的方法需要帮助

                maze[i][j]=String.valueOf(line.charAt(k));//here
    k++;
    }
    i++;

    }

    }
    catch(Exception e)
    {
    e.printStackTrace();
    }

    }

最佳答案

您是否在退出点添加了一些空间?据我所知, ArrayOutOfBound 异常更有可能是由 line.charAt(k) 抛出的,在这种情况下,“k”大约是 9,而该行大约有 9 个字符长,所以你会得到这个异常。您可能需要该行正好有 10 个字符,因此,您应该添加空格或特定字符,例如“x”。

关于java - 在java中将文本文件中的数据填充到char数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40235779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com