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等语言,所以根本原理是不变的。
看到的是差距,看不到的也是差距! 陌陌带你一起寻找差距