在这种情况下,如何防止ArrayIndexOutOfBoundsException?

粗鲁的浪费电视

问题是:给定一个字符串:aaaBBB

我需要打印:a3B3(计算给定字符串中每个字母的出现次数)。

我尝试了以下方法:

        String x = "aaaBBB";
        char[] c = x.toCharArray();
        StringBuilder sb = new StringBuilder();

        int count = 1;
        System.out.println(c.length);
        
        for (int i = 0; i < c.length; i++) {
                if (c[i] == c[i+1]) {
                    count++;
                } else {
                    sb.append(c[i]).append(count);
                    count = 1;
                }
        }
        System.out.println(sb);

在上一次迭代中,当我用c [i + 1]检查c [i]时,我遇到了ArrayIndexOutOfBounds异常(这很明显,因为索引i + 1不存在)。

我想知道一些避免更改此异常的方法,而无需更改if条件。听起来可能做得不好,但是我已经尝试了很长时间了,但是在通过这里发表之前无法通过。

WJS

请尝试以下操作:

  • 将第一个字符分配给一个自变量。
  • 当不再等于后续字符时。添加到具有该字符的字符串并计数。
  • 然后重置该字符并计数到下一个和1。
  • 当所有字符都用完后,添加最后一个字符并计数。
String x = "aaaaBBBcDDDDD";
char[] c = x.toCharArray();
StringBuilder sb = new StringBuilder();

int count = 1;
char ch = c[0];
for (int i = 1; i < c.length; i++) {
        if (c[i] == ch) {
            count++;
        } else {
            sb.append(ch).append(count);
            ch = c[i];
            count = 1;
        }
}
sb.append(ch).append(count);
System.out.println(sb);

版画

a4B3c1D5

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在这种情况下,如何避免ArrayIndexOutOfBoundsException?

来自分类Dev

在这种情况下如何防止“过于广泛的例外”?

来自分类Dev

在这种情况下如何防止空引用异常

来自分类Dev

Swift:如何在这种情况下防止索引超出范围

来自分类Dev

在这种情况下如何定义适用性?

来自分类Dev

在这种情况下如何动态形成插入查询

来自分类Dev

在这种情况下如何更新多个列

来自分类Dev

在这种MongoDB连接情况下,如何注入bean?

来自分类Dev

在这种情况下,如何设置我的Class参数?

来自分类Dev

在这种情况下,jquery .after应该如何工作?

来自分类Dev

在这种情况下如何使用unique_ptr?

来自分类Dev

在这种情况下如何计算数组的长度

来自分类Dev

在这种情况下,如何正确使用ndb KeyProperty?

来自分类Dev

在这种情况下,如何应用惰性量词?

来自分类Dev

在这种情况下,如何避免使用instanceof?

来自分类Dev

在这种情况下如何调用ICommand.CanExecute?

来自分类Dev

在这种情况下,String.Format如何工作?

来自分类Dev

在这种情况下如何使NSMutableArray持久化?

来自分类Dev

在这种情况下如何处置资源

来自分类Dev

在这种情况下如何使用struct

来自分类Dev

在这种情况下如何释放内存?

来自分类Dev

地图在这种情况下如何工作?

来自分类Dev

在这种情况下如何使用功能?

来自分类Dev

如何在这种情况下编写equals()方法?

来自分类Dev

在这种情况下如何理解array.foo?

来自分类Dev

在这种情况下,如何缩短if语句?

来自分类Dev

在这种情况下如何正确使用struct

来自分类Dev

在这种情况下,Ruby的map方法如何工作?

来自分类Dev

在这种情况下,如何链接库函数?

Related 相关文章

热门标签

归档