

/** *//**
* 数目字计数器,可多次添加整形数,累计0-9各个数字出现了多少次
* @author: sitinspring(junglesong@gmail.com)
* @date: 2008-6-26-下午09:45:52
*/
public class NumberCountCaculator
{
// 用于存放0-9位图数组
private int[] numCounts;

/** *//**
* 构造函数,其中初始化变量numCounts
*
*/
public NumberCountCaculator()
{
numCounts=new int[10];
}

/** *//**
* 添加一个整形数,累计0-9各个数字出现了多少次
* @param number
*/
public void add(int number)
{
while(number>9)
{
numCounts[number%10]++;
number/=10;
}
numCounts[number]++;
}

/** *//**
* 打印出现次数信息
*
*/
public void printNumberCount()
{
for(int i=0;i<numCounts.length;i++)
{
if(numCounts[i]!=0)
{
System.out.println("数字"+i+"出现了"+numCounts[i]+"次");
}
}
}

public static void main(String[] args)
{
NumberCountCaculator ncc=new NumberCountCaculator();
ncc.add(1234567890);
ncc.add(13579);
ncc.add(24680);
ncc.add(1);
ncc.add(23);
ncc.add(456);
ncc.add(7890);
ncc.printNumberCount();
}
}输出:
数字0出现了3次
数字1出现了3次
数字2出现了3次
数字3出现了3次
数字4出现了3次
数字5出现了3次
数字6出现了3次
数字7出现了3次
数字8出现了3次
数字9出现了3次