为什么获取java.lang.stringindexoutofboundsexception:字符串索引超出范围:0

icnyk63a  于 2021-08-20  发布在  Java
关注(0)|答案(2)|浏览(317)

此问题已在此处找到答案

什么是indexoutofboundsexception?我怎样才能修好它[(1份答覆)
是什么导致java.lang.arrayindexoutofboundsexception以及如何防止它((26个答案)
4小时前关门了。
system.out.println(“进入迷宫”);

char[][] maze = new char[height][width];
    for (int i=0;i<height;i++){
        String line= scanner.nextLine();
        for (int j=0;j<width;j++){
            maze[i][j]= line.charAt(j);

        }
    }
qlvxas9a

qlvxas9a1#

我相信是从电话线传来的 maze[i][j]= line.charAt(j); 因为输入来自 scanner 不保证长度 j .

q0qdq0h2

q0qdq0h22#

异常正在由引发 line.charAt(j) ,它告诉您它无法获取 line ... 也就是说 line 是空的。
阅读代码时,它假设输入包含(至少) height 每行包含(至少) width 人物。
我可以想出两个可能的异常根源:
其中一个输入行可能真的是空的。
你可能会收到一条空行,因为你是如何处理这个问题的 Scanner 在此代码之前。例如,如果您以前打过电话 nextInt 要读取的值,请执行以下操作: heightwidth ,这些数字后面的行分隔符将保留在扫描仪的输入中。所以下一个电话是 nextLine 将交付该行的其余部分。。。这可能是一个空字符串。

相关问题