100文字の小文字をランダムに印刷し、各文字が表示される回数を印刷します.

12200 ワード

public class F {

	public static void main(String[] args)
	{
      char[] chars = createArray();
      
      System.out.println("The lowercase letters are : ");
      
      displayArray(chars);
      
      int[] counts =countLetters(chars);
      
      System.out.println();
      System.out.println("The occurences of each letter are:");
      
      displayCounts(counts);
	}


	private static void displayArray(char[] chars) {
		
		for (int i = 0; i<chars.length; i++)
		{
			if((i+1)%20==0)
				System.out.println(chars[i]);
			else
				System.out.print(chars[i] +" ");
		}
	}

	private static char[] createArray() {
		
		char[] chars =new char[100];
		for (int i = 0; i<chars.length; i++)
			chars[i] =  (char)('a'+Math.random()*('z'-'a'+1));//    a-z   
		return chars;
	}

	private static int[] countLetters(char[] chars) {
		
		int[] counts =new int[26];
		
		for (int i = 0; i<chars.length; i++)
		{
			counts[chars[i]-'a']++;
		}
		return counts;
	}

	private static void displayCounts(int[] counts) {
	
		for (int i = 0; i<counts.length; i++)
		{
			if ( (i+1)%10 == 0)
				System.out.println(counts[i] + " " + (char)(i+'a'));
			else
				System.out.print(counts[i] + " " + (char)(i+'a') + " ");
		}
			
	}
}