我有一个while循环,应该将一个单词分成单独的字母......它可以工作,但是当我尝试检查一个不存在的子字符串是否为空时,它会抛出异常......
private static void seperateWord(String word) {
boolean running = true;
int count = 0;
while (running) {
if (word.substring(count, count + 1).equals("null")) {
running = false;
return;
} else {
letter[count] = word.substring(count, count + 1);
System.out.println(letter[count]);
count++;
}
}
}
它确实正确地输出了所有字母,直到它到达字符串的末尾并且没有什么可读取的......因为它只是不存在。它抛出这个异常......
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
at java.lang.String.substring(Unknown Source)
at Class.seperateWord(Class.java:33)
at Class.main(Class.java:13)
第 33 行是 :: if (input.substring(count, count + 1).equals("null")) {
第 13 行就是我调用该方法的地方。
我输入的文字是“abc”
提前感谢您的帮助!