Java经典算法40题 – 题目7

【程序7】题目:
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

思路:逐个读吧。

package org.sixlab.algorithm40;

import java.util.HashMap;
import java.util.Map;

public class CharacterNumber {
    public static void main(String\[\] args) {
        String testString="Hello World! Hello 123! >-<";
        System.out.println(countNumber(testString));
    }

    private static Map<String, Integer> countNumber(String input) {
        int englishNumber = 0;
        int numberNumber = 0;
        int spaceNumber = 0;
        int otherNumber = 0;

        int length = input.length();

        for (int i = 0; i < length; i++) {
            char tempChar = input.charAt(i);
            if (Character.isDigit(tempChar)) {
                numberNumber++;
            } else if (Character.isSpaceChar(tempChar)) {
                spaceNumber++;
            } else if (Character.isLetter(tempChar)) {
                englishNumber++;
            } else {
                otherNumber++;
            }
        }

        Map<String, Integer> map = new HashMap<>();
        map.put("english", englishNumber);
        map.put("number", numberNumber);
        map.put("space", spaceNumber);
        map.put("other", otherNumber);

        return map;
    }
}

上一篇
JavaFx非详细入门教程 1 - Hello World! JavaFx非详细入门教程 1 - Hello World!
本教程不是详细的JavaFx入门教程,不讲解JavaFx的前世今生,不讲解JavaFx优缺点,不讲解JavaFx具体控件的用法,有一定Java基础的人看完本教程可以拿着API手册写JavaFx程序了。废话不多说,上干货。 在JavaFx中:
2015-03-21
下一篇
Java经典算法40题 – 题目6 Java经典算法40题 – 题目6
【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。思路: 最大公约数:方法1:先找出两个数中最小的数字p,然后将i的取值范围设置为:从p到2,循环判断i是否既能被m整除,又能被n整除,是则return i,如果一直没有一个数
2014-04-04