文字列を入力として受け取り、文字列内の文字の出現回数をカウントし、文字の後に出現回数が続く新しい文字列を出力するJavaプログラムを作成しようとしています。
例えば
入力文字列:
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 count=0;
System.out.println("Enter the string:");
str=inp.nextLine();
while(str.length()>0)
{
ch=str.charAt(0);
int i=0;
while(str.charAt(i)==ch)
{
count =count+i;
i++;
}
str.substring(count);
System.out.println(ch);
System.out.println(count);
}
}
}