/*
*读入一个16位的长整型,利用switch语句计算0—9这十个数字中,每个字出现的次数
**/
import java.util.Scanner;
class number{
public static void main(String args[]){
Scanner s=new Scanner(System.in);
System.out.println("请输入一个16位的整数");
long a,temp; //变量声明
a=s.nextLong();
int b[]; //声明一个数组变量
b=new int[16]; //创建数组空间,确定数组长度
int n[]={0,0,0,0,0,0,0,0,0,0}; //初始化数组
System.out.println(a); //输出16位的数字
for(int i&#61;1;i<&#61;16;i&#43;&#43;){ //for循环将16位数字存入数组中
temp&#61;a; //将a的值赋给temp
a&#61;temp%10; //将temp除以10取余的值赋给a
b[i-1]&#61;(int)a; //将a强制转换成int型的值存入数组
a&#61;(temp-a)/10; //将temp减去a再除以10的值赋给a
} //此循环从末尾 依次将16位长整数存入数组
for(int j&#61;0;j<&#61;15;j&#43;&#43;){ //for循环&#xff0c;依次判断16个数字
switch(b[j]){ //将数组b中的数强制转换成整型&#xff0c;与case语句值比较
case 0: n[0]&#43;&#43;; break; //与0比较&#xff0c;是0则执行语句
case 1: n[1]&#43;&#43;; break; //一下与0同理
case 2: n[2]&#43;&#43;; break;
case 3: n[3]&#43;&#43;; break;
case 4: n[4]&#43;&#43;; break;
case 5: n[5]&#43;&#43;; break;
case 6: n[6]&#43;&#43;; break;
case 7: n[7]&#43;&#43;; break;
case 8: n[8]&#43;&#43;; break;
case 9: n[9]&#43;&#43;; break;
default:
}
}
for(int j&#61;0;j<&#61;9;j&#43;&#43;){ //for循环依次输出比较之后的结果
System.out.println("数字"&#43;j&#43;"共出现"&#43;n[j]&#43;"次"); //输出各个数字出现次数
}
}
}