Java和StringIndexOutOfBoundsException存在问题

Java和StringIndexOutOfBoundsException存在问题,java,string,Java,String,我正在尝试做一项学校作业,我有点被代码卡住了,当我运行代码时,我得到以下信息: Exception in thread "main" java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 25 at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3756) at java.base/java.lang.Stri

我正在尝试做一项学校作业,我有点被代码卡住了,当我运行代码时,我得到以下信息:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 25
    at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3756)
    at java.base/java.lang.String.substring(String.java:1902)
    at Demo4/d4.StringBuilder.poistaEkaSana(StringBuilder.java:32)
    at Demo4/d4.StringBuilder.main(StringBuilder.java:18)
目标是使用StringBuilder删除firstname firstname并在空格后打印字符。 感谢您的帮助

import fi.jyu.mit.ohj2.*;

public class StringBuilder {

    public static void main(String[] args) {
        String nimi = Syotto.kysy("Give Lastname Firstname");
        StringBuilder sb = new StringBuilder();
        removeFirstWord(sb);

        System.out.println("Your last name is " + sb);
        String lastname = giveFirstWord(name);
        System.out.println("Your last name is " + lastname);
    }


    public static String removeFirstWord(StringBuilder sb) {
        String bs = sb.toString();
        int remove= bs.indexOf(" ");
        String second= bs.substring(0, remove);
        return second;

    }

    public static String giveFirstWord(String fname) {
        int s1= fname.indexOf(' ');
        String d2= fname.substring(s1, 14);
        return d2;
    }
}

您的类名与java.lang.StringBuilder混淆

重命名类名或使用FQCN,然后

字符串nimi=Syotto.kysyGive Lastname Firstname; java.lang.StringBuilder sb=new java.lang.StringBuilderNMI;//添加参数
如何从空的stringbuilder中删除任何内容?请注意,如果您打算使用java.lang.stringbuilder,您可以通过命名自己的类stringbuilder来隐藏它。您的问题与stringbuilder完全无关,只是它是空的或返回值。