Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java,检查字符串的子字符串是否为';";“存在”;_Java_String_Exception_Substring - Fatal编程技术网

Java,检查字符串的子字符串是否为';";“存在”;

Java,检查字符串的子字符串是否为';";“存在”;,java,string,exception,substring,Java,String,Exception,Substring,我有一个while循环,用来把一个单词分成几个字母。。。它可以工作,但当我尝试检查不存在的子字符串是否为null时,它会抛出异常 private static void seperateWord(String word) { boolean running = true; int count = 0; while (running) { if (word.substring(count, count + 1).equals("null")) {

我有一个while循环,用来把一个单词分成几个字母。。。它可以工作,但当我尝试检查不存在的子字符串是否为null时,它会抛出异常

    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”


提前感谢您的帮助!

您试图在只有3个字符的字符串上使子字符串从索引3转到索引4。这就是为什么会出现异常

此外,
input.substring(count,count+1).equals(“null”)
显然永远不会为真。一个1个字符的字符串怎么可能等于一个包含4个字符的字符串
“null”


阅读String类的API文档。它有一个
length()
方法返回字符串的长度,您应该使用该方法停止循环。它还有一个
charAt()
返回给定索引处的字符的方法。

此代码中的
输入
单词
字母
是什么?这与reall代码示例不太接近。要么您有一个无限长的
字符串
,要么您可能希望在到达末尾时停止。我知道输入是我为wh创建的变量ole类我把它改成了word,就像它应该是。。。