java編程之計算16位長整型數字中0-9出現次數(從命令窗輸入數據)

/*
 *讀入一個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=1;i<=16;i++){    //for循環將16位數字存入數組中
			temp=a;        //將a的值賦給temp
			a=temp%10;    //將temp除以10取餘的值賦給a
			b[i-1]=(int)a;     //將a強制轉換成int型的值存入數組
			a=(temp-a)/10;     //將temp減去a再除以10的值賦給a
		}          //此循環從末尾 依次將16位長整數存入數組
		
		for(int j=0;j<=15;j++){        //for循環,依次判斷16個數字
			switch(b[j]){        //將數組b中的數強制轉換成整型,與case語句值比較
				case 0: n[0]++; break;       //與0比較,是0則執行語句
				case 1: n[1]++; break;       //一下與0同理
				case 2: n[2]++; break;
				case 3: n[3]++; break;
				case 4: n[4]++; break;
				case 5: n[5]++; break;
				case 6: n[6]++; break;
				case 7: n[7]++; break;
				case 8: n[8]++; break;
				case 9: n[9]++; break;
				default:
			}
		}
		for(int j=0;j<=9;j++){     //for循環依次輸出比較之後的結果
			System.out.println("數字"+j+"共出現"+n[j]+"次");      //輸出各個數字出現次數
		}
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章