我正在创建一个聊天机器人,它需要将每个句子分解为一个字符串数组列表。每当我使用空格时,它都会给我一个超出范围的字符串索引异常。老实说,我不知道该怎么办,在各个论坛上我都看过,请帮忙。
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做同样的事情:)
(对于解析器,请使用空格(“”)或您的单词所分隔的内容)