网站建设色,织梦rss转wordpress,搜索引擎哪个好,wordpress update ftp参见英文答案 Java compressing Strings 18个我正在尝试编写一个Java程序,它接受一个字符串作为输入,并计算一个字符串中出现的字符数,然后打印一个新字符串,该字符串后跟no出现的字符.例如.输入字符串#xff1a;aaaabb输出字符串 Java compressing Strings 18个我正在尝试编写一个Java程序,它接受一个字符串作为输入,并计算一个字符串中出现的字符数,然后打印一个新字符串,该字符串后跟no出现的字符.例如.输入字符串aaaabb输出字符串a4b2输入字符串aaaaabbbc输出字符串a5b3c1我发布了我的java代码.它正在抛出StringOutOfBoundException/*Write a routine that takes as input a string such as aabbccdef and o/p a2b2c2def or a4bd2g4 for aaaabddgggg.*/import java.util.Scanner;public class CountingOccurences {public static void main(String[] args) {Scanner inp new Scanner(System.in);String str;char ch;int count0;System.out.println(Enter the string:);strinp.nextLine();while(str.length()0){chstr.charAt(0);int i0;while(str.charAt(i)ch){count counti;i;}str.substring(count);System.out.println(ch);System.out.println(count);}}}解决方法:这就是问题while(str.charAt(i)ch)这将继续下去直到它结束…当我与字符串的长度相同时,它将要求超出字符串末尾的字符.你可能想要while (i str.length() str.charAt(i) ch)您还需要在较大循环的每次迭代开始时将计数设置为0 – 计数重置,毕竟 – 并更改count count i;要么count;…或摆脱伯爵或我.毕竟,他们总是会有相同的价值.就个人而言,我只使用一个变量,在循环中声明并初始化.事实上,这是一个通用的样式点 – 在需要时声明局部变量更为清晰,而不是在方法的顶部声明它们.但是,那么你的程序将永远循环,因为这没有做任何有用的事情str.substring(count);字符串在Java中是不可变的 – substring返回一个新字符串.我想你想要str str.substring(count);请注意,这仍然会为“aabbaa”输出“a2b2a2”.这样可以吗标签string-parsing,java,string,exception来源 https://codeday.me/bug/20191002/1843137.html