`

自己按基本算法用Java编了一个数值转换

    博客分类:
  • Java
阅读更多
package com.second.go;

import java.io.*;

public class NumericConversion {
 public static void main(String[] args)
 {
    String binaryNumber="";
    int decimalNumber=0; 
    int p,type;
    String str;
    long[] binaryArray;
    try{
     BufferedReader in =new BufferedReader(new InputStreamReader(System.in));
     System.out.print("请输入你要转换进制数类型:");
     type=Integer.parseInt(in.readLine());
     System.out.print("请输入你要转换的"+type+"进制数:");
     binaryNumber=in.readLine();     
     int bnLength=binaryNumber.length();
     binaryArray=new long[bnLength];
     if(type==2||type==8)
     {      
      for(int i=0;i<bnLength;i++)
      {
       binaryArray[i]=Integer.parseInt(binaryNumber.substring(i,i+1));    
      }
      for(int i=0;i<bnLength;i++)
      {
       p=power(type,bnLength-i);
       decimalNumber+=binaryArray[i]*p;
      }
     }
     if(type==16)
     {
      for(int i=0;i<bnLength;i++)
      { 
       str=binaryNumber.substring(i,i+1);
       if("0123456789".indexOf(str)!=-1)
       {
         binaryArray[i]=Integer.parseInt(str);
       }
       else if(str.equals("A"))
       {
        binaryArray[i]=10;
       }
       else  if(str.equals("B"))
       {
        binaryArray[i]=11;
       }
       else  if(str.equals("C"))
       {
        binaryArray[i]=12;
       }
       else  if(str.equals("D"))
       {
        binaryArray[i]=13;
       }
       else if(str.equals("E"))
       {
        binaryArray[i]=14;
       }
       else  if(str.equals("F"))
       {
        binaryArray[i]=15;
       }
     
      }   
           
     for(int i=0;i<binaryArray.length;i++)
      {
       p=power(type,binaryArray.length-i);
       decimalNumber+=binaryArray[i]*p;
      }  
     
     }
     
    }catch(IOException ex){
     System.out.println(ex);
    }  
   System.out.println("二进制数转换成十进制数后,为:"+decimalNumber);
 }
 public static int power(int n,int m)
 {
     int temper=1;
     for(int i=0;i<m-1;i++)
     {
      temper*=n;
     }
     return temper;
 }

}


0 0 0 
(请您对文章做出评价)
分享到:
评论

相关推荐

    java 算法大全 java

    java 算法大全 java16进制与字符串的相互转换函数

    java实现坐标系转换

    java实现2000坐标转wgs84,WGS84和cgcs2000互转,使用String字符串解析和三参数算法实现,只需坐标就能实现

    java版的AC多模式匹配算法

    算法思想:用多模式串建立一个确定性的树形有限状态机,以主串作为该有限状态机的输入,使状态机进行状态的转换,当到达某些特定的状态时,说明发生模式匹配。AC 多模式匹配算法的实现可分预处理和搜索查找两个阶段...

    java实现字符转换成十六进制的ASCII码

    今天写了一个将字符转换成ASCII码,并且以16进制写的。主要是一个整数与16进制数的转换的算法,以递归的方式。对递归有兴趣的,可以看一下。

    Java开发技术大全(500个源代码).

    HelloWorldApp.java 第一个用Java开发的应用程序。 firstApplet.java 第一个用Java开发的Applet小程序。 firstApplet.htm 用来装载Applet的网页文件 第2章 示例描述:本章介绍开发Java的基础语法知识。 ...

    java源码包---java 源码 大量 实例

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    数据挖掘18大算法实现以及其他相关经典DM算法

    朴素贝叶斯算法是贝叶斯算法里面一种比较简单的分类算法,用到了一个比较重要的贝叶斯定理,用一句简单的话概括就是条件概率的相互转换推导。详细介绍链接 SVM 支持向量机算法。支持向量机算法是一种对线性和非...

    java源码包2

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java 算法

    JAVA时间格式化处理 ,将毫秒转化为日期, 文本的倒序输出 ,判断一个数字是奇数还是偶数 ,用Hibernate实现分页, 35选7彩票程序 ,获取GMT8时间, 中文乱码转换 ,小标签 ,Big5字与Unicode的互换, 取得服务器...

    java源码包4

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    JAVA上百实例源码以及开源项目

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java源码包3

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java实现的LSB顺序隐写

    例如,读取文件得到byte数组的第一个元素为63,需将63转换为00111111数组。并且保存好文件的长度。 3、按照算法,遍历形如10101的数组 1、如果遍历到的值为0,将矩阵对应的矩阵元素与0xfe进行与运算,将最低位置为...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    java实现小数、百分数值处理组件

    该组件是对数字处理的一个组件,主要针对小数和还有百分号的数值的处理,其中包含小数的四舍五入及取百分号后几位小数的方法。

    MD5加密算法(Java语言描述)

     当你按照我上面所说的方法实现MD5算法以后,你可以用以下几个信息对你做出来的程序作一个简单的测试,看看程序有没有错误。  MD5 ("") = d41d8cd98f00b204e9800998ecf8427e  MD5 ("a") = 0cc175b9c0f1b6a831c399...

    基于JAVA毕业设计-JAVA基于遗传算法的中药药对挖掘系统的设计与实现(源代码+论文).rar

    开发了一个基于遗传算法的中药药对药组挖掘系统。论文组织如下:介绍了研究背景和意义;阐述了相关的理论基础;提出了系统的设计方案;详细展示了基于遗传算法的双向关联规则挖掘系统的实现过程,包括位图矩阵的实现...

    遗传算法与粒子群算法的实现

    ToStringBuffer是一个将数组转换为其字符串表示的类。 org.lakeast.ga.skeleton中: AbstractChromosome定义了染色体的公共方法。 AbstractDomain是定义问题域有关的计算与参数的抽象类。 ...

    中文数字转成阿拉伯数字 java 实现

    独立开发,实测可用, 将阿拉伯和中文数字组合的字符串转成阿拉伯数字的整型 包。例如: “八万三千20”就可以转成整型 803020 。解压后,引用包。调用方法 在UnitTest.java 中有

Global site tag (gtag.js) - Google Analytics