用java编写一个小程序–输入一个16位的长整型数,统计其中0~9每个数字出现的次数
代码
package changzhengxingshu;
import java.util.Scanner;
public class changzhengxingshu {
public static void main(String args[]) {
System.out.println("输入一个十六位的长整型数:");
Scanner sc=new Scanner(System.in);
long sr=sc.nextLong();
double i=1;
int num0=0,num1=0,num2=0,num3=0,num4=0,num5=0,num6=0,num7=0,num8=0,num9=0;
for(;i<=16;i++) {
switch((int)(sr%10)) {
case 0:num0++;break;
case 1:num1++;break;
case 2:num2++;break;
case 3:num3++;break;
case 4:num4++;break;
case 5:num5++;break;
case 6:num6++;break;
case 7:num7++;break;
case 8:num8++;break;
case 9:num9++;break;
}
sr=sr/10;
}
System.out.println("有"+num0+"个0");
System.out.println("有"+num1+"个1");
System.out.println("有"+num2+"个2");
System.out.println("有"+num3+"个3");
System.out.println("有"+num4+"个4");
System.out.println("有"+num5+"个5");
System.out.println("有"+num6+"个6");
System.out.println("有"+num7+"个7");
System.out.println("有"+num8+"个8");
System.out.println("有"+num9+"个9");
}
}
结果
分析
输入一个数字,统计其中0~9每个数字出现的次数。归根结底是对除余法的使用。但是需要注意的是switch()函数中表达式应该是int型,所以之前为了容纳16位数的long型需要进行强制类型转换。