你的位置:首页 > Java教程

[Java教程]java 分解整数 【个 十 百】(数组案例)


求一个数两位数的个位数,十位数及百位数:

   int num = 53;

     int g =  num % 10;              //个位
         int s =  (num / 10) % 10;    //十位
         int b = (num / 100);            //百位

 

下面是用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等语言,所以根本原理是不变的。