【问题标题】:String Index out of bounds exception when using blank space使用空格时字符串索引越界异常
【发布时间】:2015-11-07 02:06:05
【问题描述】:

我正在制作一个聊天机器人,它需要将每个句子分解成一个字符串数组列表。每当我使用空格时,它都会给我一个字符串索引越界异常。老实说,我不知道该怎么办,我已经查看了所有论坛,请帮助。

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句吗?还是某种流?

标签: java arraylist char runtime-error


【解决方案1】:

只需使用拆分方法。示例:

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

我相信你可以用数组列表做同样的事情:) (对于解析器,请使用空格(“”),或者您的单词之间的分隔符)

【讨论】:

  • 非常感谢您的回答,这正是我所需要的 :D 顺便说一句,如果这是一个已经回答的问题,我很抱歉,我搜索了它,并没有找到与我的问题相匹配的东西,但如果它已经得到了回答,如果一个模组能把它拿下来就好了。
猜你喜欢
  • 2019-08-01
  • 2013-12-08
  • 2014-10-16
  • 2017-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多