はなたの日記

プログラミング(C言語)の勉強をしています。超初心者です。

ITP1_8_C Counting Characters

問題
文字のカウント | プログラミング入門 | Aizu Online Judge

javaの本を図書館で借りることができたので、再びjavaの勉強を始めました。
明解Java入門編という本なのですが、非常に分かり易いです。紙媒体は良いですね。

今は文字列関連の問題ですが、C言語とは違う面もあり大変です。
この問題も含め、よく「入力が終わるまで読みこむ」という問題がありますが

C言語の場合

while(scanf("%s",str)!=EOF)

Javaの場合

while(scan.hasNext())

と対応するそうです。勉強になりました。

import java.util.Scanner;

public class itp_8_c {
	public static void main(String[] args){
		Scanner scan=new Scanner(System.in);
		int[] a=new int[26];
		while(scan.hasNext()){
		
			String str = scan.nextLine();
			str = str.toLowerCase();
		
			for(int i=0;i<str.length();i++)
				if(str.charAt(i) >= 'a' && str.charAt(i) <= 'z')
					a[str.charAt(i)-'a']++;
		}
		
		for(int i=0;i<26;i++)
			System.out.printf("%c : %d\n",i+'a',a[i]);
	}
}

javaの基本的な文法をさっさと覚えて、早くクラスについて勉強したいです。