java 分解整數 【個 十 百】(數組案例)


求一個數兩位數的個位數,十位數,百位數及千位:

  int num = 53;

  int g = (num / 1) % 10;     //個位

  int s = (num / 10) % 10;   //十位

  int b = (num / 100) % 10;      //百位

  int b = (num / 1000) % 10;    //千位

你會發現,這是有規律的,求哪一位就用這個數除以位的值,然后再對10進行求余。如果不求余那就會出現高位的數,例如,如果不對百位求余,當你輸入一個四位數(3456),結果就會:3,34 , 5 , 6

 

 

下面是用java寫的一個一般般的 拆分整數的案例 值得大伙研究研究,趣味無窮哦

 1 import java.util.Scanner; //導入輸入庫
 2 class numbers
 3 {
 4     public static void main(String[] args) 
 5     {
 6         //最多輸入十億位
 7         //創建一個數組,遍歷輸出相應的位數
 8         String[] str = new String[]{"十位","百位","千位","萬位","十萬位","百萬位","千萬位","億位","十億位","百億位","千億位"};
 9 
10         System.out.println("請輸入一個數字:");
11         Scanner sca = new Scanner(System.in);
12 
13         //接受用戶輸入的數
14         long sum = sca.nextInt(); //聲明一個長整型變量
15         long sum2 = sum; //分開判斷正 負數
16         int a = 0; 
17 
18         for (int i = 0 ; i<32 ;i++ )
19         {
20             //判斷用戶輸入的數是幾位數
21             if(sum/10 > 0){ //個位數大於0,為正數
22                 sum = sum/10;
23                 a++;
24             }else{
25                 break;
26             }
27         }
28 
29         if (sum2 < 10) //如果是負數
30         {
31             long k = sum;
32             System.out.println("這個數只有個位是"+k);//
33 
34         }else{
35             //把用戶輸入的數是分解出來
36             for (int i = 0 ;i <= a ;i++ )
37             {
38                 if (i==0)
39                 {
40                      long c = sum2 % 10; //個位數
41                      System.out.println("這個數的個位是:"+c);
42 
43                 }else if(i < a){
44                    //這里要強轉一下 這個函數出來的double;
45                     long new1 = (long)Math.pow(10,i); 
46                          
47                     //參數說明:m為要求方的數,n為次方數
48                     long b = sum2 / new1 % 10;
49                     System.out.println("這個數的"+str[i-1]+"是:"+b);
50 
51                  }else{                
52                     long new2= (long)Math.pow(10,i);
53                     long h = sum2 / new2 % 10;
54                     System.out.println("這個數的"+str[i-1]+"是:"+h);
55                  }
56             }
57         
58         }
59 
60     }
61 }

陌陌說:編程語言之間多少都是有相通的,萬變不離其宗,java本是繼承於c,c++,oc等語言,所以根本原理是不變的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM