###前提・実現したいこと
アルファベットの小文字の頻度分布を調べて、よく使う小文字を上から10個表示するプログラムを作っているのですが、よく使う小文字を上から10個表示することができません。
どうしたら表示することができるでしょうか?
よろしくお願いします!!
###該当のソースコード
import java.util.Scanner;
public class LowerRanking {
public static void main(String[] args) {
String s;
char c;
int n = 0;
int temp;
int countTable[] = new int[128];
Scanner kbd = new Scanner(System.in); while(kbd.hasNext()) { s = kbd.next(); for(int i = 0; i<s.length(); i++) { c = s.charAt(i); countTable[c] = countTable[c]+1; } } for(int i = 97; i<=122; i++) { System.out.println(i+":"+(char)i+":"+countTable[i]); } if(s.length() == 0) { System.out.println("No Data."); }else{ for(int i= 0; i<s.length()-1; i++) { for(int j = i+1; j<s.length(); j++) { if(countTable[i]<countTable[j]) { temp = countTable[i]; countTable[i] = countTable[j]; countTable[j] = temp; } } } } if(s.length()<=10) { for(int i = 0; i<s.length(); i++) { System.out.printf("countTable[%d]=%d\n",i,countTable[i]); } }else{ for(int i = 0; i<10; i++) { System.out.printf("countTable[%d]=%d\n",i,countTable[i]); } } for(int i = 10; i<s.length(); i++) { if(countTable[9] == countTable[i]){ System.out.printf("countTable[%d]=%d\n",i,countTable[i]); } } } }
回答2件
あなたの回答
tips
プレビュー