JAvaプログラミング:小文字の文字列を入力し、アルファベット当たりの出現回数を統計します.
1950 ワード
*要件:統計文字列の各文字:*説明:プログラムを作成し、ユーザーに文字列を入力するように要求します.*その後、文字列の各文字に現れる個数を統計し、文字の大文字と小文字を無視します.**原理:*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]+" ");
}
}
}
}