我正在创建一个聊天机器人,它需要将每个句子分解为一个字符串数组列表。每当我使用空格时,它都会给我一个超出范围的字符串索引异常。老实说,我不知道该怎么办,在各个论坛上我都看过,请帮忙。

char tempChar;
String tempLetter;
String tempString = "";

for (int i = 1; i <= input.length(); i++) {
    Scanner breakDownScan = new Scanner(input);
    tempChar = breakDownScan.next().charAt(i-1);

    if (tempChar != ' ' && tempChar != '.' && tempChar != '!' && tempChar != '?') {
        tempLetter = Character.toString(tempChar);
        tempString += tempLetter;
    }

    if (tempChar == ' ' || tempChar == '.' || tempChar == '!' || tempChar == '?') {
        System.out.println("test");
        words.add(tempString);
    }

    if (i == input.length()) {
        breakDownScan.close();
    }
}


非常感谢您可以提供的所有帮助:D

最佳答案

只需使用split方法。例:

String[] words = input.split(insert your desired parser here);


我相信您可以使用Array List做同样的事情:)
(对于解析器,请使用空格(“”)或您的单词所分隔的内容)

10-06 06:27