使用空格时,String Index out of bounds exception

时间:2015-08-13 22:34:34

标签: java arraylist char runtime-error

我正在制作聊天机器人,它需要将每个句子分解为数组字符串列表。每当我使用空格时,它给出了一个超出范围的字符串索引异常。老实说,我不知道该怎么做,我已经遍布论坛,请帮忙。

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

1 个答案:

答案 0 :(得分:1)

只需使用split方法即可。例如:

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

我相信你可以用数组列表做同样的事情:) (对于解析器,使用空格(&#34;&#34;),或者你的单词被分隔开来)