字符串缓冲区函数setCharAt()抛出错误

时间:2018-05-06 14:34:56

标签: java string

我尝试运行此代码并删除所有大写字符并再次打印更改后的字符串。但它所做的只是给我一个"找不到符号 - 方法删除(int,int)" String函数中的错误。我非常确定循环变量也是可见的。

    String s = "Some Random Sentence Here";
    int l = s.length()
    for(int i = 0;i<l;i++)
    {
        char ch = s.charAt(i);
        if(Character.isUpperCase(ch) == true)
        {
           s.delete(i,(i+2));
        }
    }
    System.out.println(s);

编辑:感谢Mentallurg,忘了我不到l部分

3 个答案:

答案 0 :(得分:1)

如评论中所述,字符串没有删除功能。字符串在Java中的行为有点像基本类型,但最终并不是真的。

无论如何,您可以使用流来轻松解决问题,如下所示:

vardadienas = FileUtils.loadedfile(getContext());

答案 1 :(得分:0)

  1. 使用StringBuffer而不是String。

  2. 使用 i < l 要么 i <= l-1 因为索引从0开始,最后一个元素的索引为l-1。

答案 2 :(得分:0)

当您删除此字符时,问题被遗忘减去:D