我有一个文本文件,其中包含来自英语的单词集合。单词按字母顺序书写,一行中有一个单词,没有空行,没有标点符号等。该列表如下图所示。列表一直持续到从'z'开始的最后一个单词,并且没有任何空行
我做了一个简单的程序,逐行读取这个文件中的单词并将单词写在不同的文件上。问题是我收到了这个错误
线程“main”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:0 在java.lang.String.charAt(未知来源) 在sd.main(sd.java:27)
只有当nextLine()方法在if条件的行中返回一个空字符串时才会发生这种情况。但是我正在读取的文件中没有空白行。如果我替换nextLine的每个实例()在程序中使用next()方法的方法,它可以完美地工作。请用导致此异常的详细信息启发我。
py.test -f
答案 0 :(得分:1)
导致问题的是你第二个nextLine()
。它移动到阵列中的下一个位置。你每个循环执行两次(在while循环中)。
所以,如果你改变:
alpha_list.println(dictionary.nextLine());
到
alpha_list.println(incre);
你会跑出界限。