JAvaプログラミング:小文字の文字列を入力し、アルファベット当たりの出現回数を統計します.


*要件:統計文字列の各文字:*説明:プログラムを作成し、ユーザーに文字列を入力するように要求します.*その後、文字列の各文字に現れる個数を統計し、文字の大文字と小文字を無視します.**原理:*1.StringクラスのtoLowerCase()メソッドを使用して、文字列の大文字を小文字に変換します. * 2.26個のint値配列chを構築し、各要素に1文字の出現回数を記録する.*すなわち、ch[0]はaの個数を記録し、ch[1]はbの個数を記録する. * 3.文字の各文字に対して、小文字か否かを判断し、もしそうであれば、配列中の対応するカウンタに1を加算.
最初のスタイルのソースコード:
package    ;

import java.util.Scanner;

public class      {
	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		int[] a = new int[26];//      26          a[0]      a     ,a[2]    c     。。。
		System.out.println("          ");
		String str=sc.nextLine();
		str=str.trim().toLowerCase();//               
		
		// for            
		for (int i = 0; i < str.length(); i++)
		{
			char c = str.charAt(i);//        
			int index=c-'a';//                  
			a[index]=a[index]+1;//               1
		}
		
		// for             ,          
		for (int i = 0; i < a.length; i++)
		{
			if(a[i]!=0)//  0                
			{
				System.out.println("  "+(char)(i+'a')+"  :"+a[i]+" ");
			}
		}
	}

}

最初のスタイルのソースコード:統計アルファベットの個数を静的な方法に包装しました
package     _   ;
import java.util.Scanner;
public class        {

	//                 
	public static int[] countLetters(String str) 
	{
		int[] a = new int[26];
		//  for            
		for (int i = 0; i < str.length(); i++)
		{
			char c = str.charAt(i);//         
			int index = c - 'a';//                   
			a[index] = a[index] + 1;//                1
		}
		return a;
	}

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		String str = sc.nextLine();
		int[] a = countLetters(str);//              ,       
		// for             ,          
		for (int i = 0; i < a.length; i++)
		{
			if(a[i]!=0)//  0                
			{
				System.out.println("  "+(char)(i+'a')+"  :"+a[i]+" ");
			}
		}
	}
}