zoukankan      html  css  js  c++  java
  • 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等语言,所以根本原理是不变的。

  • 相关阅读:
    移动app测试
    centos7中tomcat安装步骤
    linux下搭建数据库
    Linux 学习笔记
    vi编辑器 使用表
    python-Xml 实战
    python-Excel 实战
    手写HashMap
    volatile关键字解析
    两个栈实现队列——优化版
  • 原文地址:https://www.cnblogs.com/bigerf/p/6064133.html
Copyright © 2011-2022 走看看