本示例是佈置給學生做業的參考程序,其餘初學者亦可參考。java
- import java.util.Scanner;
- import java.util.ArrayList;
- public class LetterStatistics
- {
- public static void main(String[] args)
- {
- //sentence保存用戶輸入的字符串
- String sentence = null;
- //ch保存從字符串中截取的字符
- char ch = 'a';
- int index = 0;
- //unicode保存字符的unicode編碼
- int unicode = 0;
- int temp = 0;
- Scanner scan = new Scanner(System.in);
- //保存字母的ArrayList
- ArrayList<Character> letter = new ArrayList<Character>();
- //添加5個元音,注意這裏有裝箱操做,即把
- //字符包裝爲對應的Character對象
- letter.add('a');
- letter.add('e');
- letter.add('i');
- letter.add('o');
- letter.add('u');
- //添加字母c,表明全部非元音字母
- letter.add('c');
- //計數器ArrayList,第0個是字母a的計數器,其它以此類推
- ArrayList<Integer> counter = new ArrayList<Integer>();
- //這裏一樣有裝箱操做
- counter.add(0);
- counter.add(0);
- counter.add(0);
- counter.add(0);
- counter.add(0);
- counter.add(0);
- System.out.println("請輸入一個字符串:");
- sentence = scan.nextLine();
- int length = sentence.length();
- //掃描字符串,提取其中的每一個字母來處理
- for(index = 0; index < length; index++)
- {
- //提取下標爲index的字符
- ch = sentence.charAt(index);
- //獲取字符的Unicode編碼
- unicode = (int)ch;
- //只處理小寫字母
- if(unicode <= 122 && unicode >=97)
- {
- switch(ch)
- {
- case 'a':
- //自動拆箱,把Integer類型值自動
- //轉換爲int類型
- temp = counter.get(0);
- temp++;
- //把temp值賦給counter中的第0個元素,
- //即元音字母a的計數器。自動裝箱,
- //把int類型自動包裝爲Integer類型
- counter.set(0, temp);
- break;
- //如下相似
- case 'e':
- temp = counter.get(1);
- temp++;
- counter.set(1, temp);
- break;
- case 'i':
- temp = counter.get(2);
- temp++;
- counter.set(2, temp);
- break;
- case 'o':
- temp = counter.get(3);
- temp++;
- counter.set(3, temp);
- break;
- case 'u':
- temp = counter.get(4);
- temp++;
- counter.set(4, temp);
- break;
- default:
- temp = counter.get(5);
- temp++;
- counter.set(5, temp);
- }
- }
- else
- {
- //若當前字符不是小寫字母,則不作任何處理,
- //繼續下次循環,處理下一個字符
- continue;
- }
- }
- length = counter.size();
- //打印輸出各類字母的個數
- for(index = 0; index < length - 1; index++)
- {
- System.out.println("字符串中元音"
- + letter.get(index)
- + "的個數是:"
- + counter.get(index)
- + "。");
- }
- System.out.println("輔音的個數是:" + counter.get(index));
- }
- }