java 中简单的分解正整数。

import java.util.*;
class work7
{
    public static void main(String[] args)
    {//最多输入十亿位
        String[] str = new String[]{"十位","百位","千位","万位","十万位","百万位","千万位","亿位","十亿位","百亿位","千亿位"};
        System.out.println("请输入一个数字");
        Scanner sac = new Scanner(System.in);

//接受用户输入的数
        long sum = sac.nextInt();
        long sum2=sum;
        int a=0;
        for (int i = 0 ; i<32 ;i++ )
        {

//判断用户输入的数是几位数
            if(sum/10>0){
                sum=sum/10;
                a++;
            }else{
            
                break;
            }
        }
        if (sum2<10)
        {
              long k =sum;
            System.out.println("这个数的只有个位是"+k);

}else{

//把用户输入的数是分解出来
            
             for (int i = 0 ;i<=a ;i++ )
        {

if (i==0)
                 {
                      long c = sum2%10;
                      System.out.println("这个数的个位是"+c);

}else if(i<a){

//这里要强转一下 这个函数出来的double;
                    long new1=(long)Math.pow(   10,    i);
                        
                        //参数说明:m为要求方的数,n为次方数
                
                      long b = sum2/new1%10;
                      System.out.println("这个数的第"+str[i-1]+"是"+b);
                
                 }else{
                
                   long new2= (long)Math.pow(   10,     i);
                 long h = sum2/new2%10;
        
                 System.out.println("这个数的第"+str[i-1]+"是"+h);
                
                
                 }

}
        
        
        }

}
}

时间: 2024-10-08 09:23:11

java 中简单的分解正整数。的相关文章

java中简单的db封装

package com.melin.bbs;    import java.sql.Connection;  import java.sql.DriverManager;  import java.sql.ResultSet;  import java.sql.SQLException;  import java.sql.Statement; public class DB { //建立连接 public static Connection getConn(){          Connect

胡博君解Java中简单工厂模式

为什么要用简单工厂模式: 我们都知道程序是分开的,客户端中有程序,服务器端有程序,一般来说我们写的main方法中的程序都是在客户端电脑中的,按照我们学习的时候喜欢的写法: //一般来说这个程序都是在客户电脑中,俗称调用者 public  class  Text{ public static void main(String[] args) { Person  p  =  new  Person(); p.getInfo(); } } //一般这个程序都在服务器中,俗称被调用者,而且是可以修改的

java中简单字符替换

在网络编程中,假设URL含有特殊字符,如空格.'#'等,server将无法识别导致无法获得正确的參数值.我们须要将这些特殊字符转换成server能够识别的字符,比如将空格转换成'%20'.给定一个字符串,将当中的空格转换成'%20'.要求效率尽可能高.尽量在O(n)的复杂度完毕,要求用char数组来存储字符,不能用string 输入:一个原始字符串,比如 hello world. 输出转换后的字符串,比如 hello%20world. import java.util.Scanner; publ

java 中简单的IO流(二)

今天我们一起简单的总结一下缓冲流,今天着重看一下BufferReader   和BufferWriter这两个缓冲流.我们知道BufferReader是缓冲流,那么何为缓冲流,效率如何提高呢?BufferReader中有一个字符数组缓冲区,这个字符缓冲区有默认缓冲大小,或者你可以指定缓冲区的大小.当程序运行时,会启动IO操作,将源中的数据读取出来,一次将缓冲区读满.当我们进行其他操作时,读取到一个字符数组,读取一行等.都是读取的是缓冲区的内容.当缓冲区的内容不够读取时,这时在启动IO操作,将读完

JAVA中简单的MD5加密类(MD5Utils)

MD5加密分析: JDK API: 获取对象的API: 加密的API: 1 package cn.utils; 2 3 import java.security.MessageDigest; 4 import java.security.NoSuchAlgorithmException; 5 6 /** 7 * @author CQY13 MD5加密工具类 8 */ 9 public class MD5Utils { 10 11 /** 12 * 获取MD5加密 13 * 14 * @param

Java中String是不是引用传递?

本文转自:http://www.jcodecraeer.com/a/chengxusheji/java/2012/0805/340.html 编者语:书上都说string是引用类型,但事实上我所看到的string和所谓的值类型没有什么区别,但通过看以下的文章,明白了: 1.string a="abc";之后,如果a="xy",则是a并没有改变内存中已经存在的"abc",而是又创建了另外一个实例.实际上相当于:string a=new String

java中引用的原理【转】

在Java中的引用类型,是指除了基本的变量类型之外的所有类型,所有的类型在内存中都会分配一定的存储空间(形参在使用的时候也会分配存储空间,方法调用完成之后,这块存储空间自动消失), 基本的变量类型只有一块存储空间(分配在stack中), 而引用类型有两块存储空间(一块在stack中,一块在heap中), 方法形参的值传递(引用)是指形参和传进来的参数指向同一个值的内存(heap)中; java是传值还是传引用,这个估计很多人至今都很糊涂,这里有篇文章写的还是可以的,大家可以看看.. 这个写的还是

java中引用的原理

转自:http://blog.163.com/[email protected]/blog/static/112987702200962211145825/ 在Java中的引用类型,是指除了基本的变量类型之外的所有类型,所有的类型在内存中都会分配一定的存储空间(形参在使用的时候也会分配存储空间,方法调用完成之后,这块存储空间自动消失), 基本的变量类型只有一块存储空间(分配在stack中), 而引用类型有两块存储空间(一块在stack中,一块在heap中), 方法形参的值传递(引用)是指形参和传

Java中的简单浮点数类型float和double不能够进行精确运算

在java中,简单的浮点类型float和double是不能够进行运算.我们先看下面的两个程序代码: 代码一: import java.util.Scanner; class Circle { double radius; static final double PI=3.14; public Circle(){this.radius=0;} public Circle(double r){this.radius=r;} public double getArea(){return PI*this