`

自己按基本算法用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 抽奖算法·

    - **随机数生成**:使用`Math.random()`函数生成一个0到1之间的随机浮点数,然后乘以最大累积概率值再加上1,得到介于1到最大累积概率值之间的随机整数。 - **结果判断**:通过一系列条件判断语句来确定最终的抽奖...

    java kmeans聚合算法

    在本例中,描述提到了从Pascal语言转换到Java实现,这意味着我们将讨论如何在Java环境下构建KMeans算法来处理坐标数据,如找出一千个坐标的重心点。 KMeans算法的基本步骤如下: 1. **初始化**:选择K个初始质心...

    java实现logistic回归算法

    Logistic回归的核心是将线性回归的结果通过一个非线性的函数(Logistic函数,Sigmoid函数)转换,以得到概率输出。Logistic函数的公式为:`f(x) = 1 / (1 + e^(-x))`,它将实数值映射到(0,1)之间,代表事件发生的...

    Java常用数值算法集.rar

    "Java常用数值算法集"是一个集合,包含了一系列在Java中实现的常用数值算法。下面将详细探讨这些算法及其在实际应用中的重要性。 1. **线性代数算法**:线性代数是现代计算的核心,涉及到矩阵和向量的操作。例如,...

    FP树增长算法的java实现

    1. **数据预处理**:首先,我们需要对原始数据进行预处理,将交易数据转换为事务ID和项ID的形式,即每条记录表示一个交易,其中包含交易中出现的所有项。 2. **项集计频**:对所有交易中的项进行频率统计,生成项的...

    模糊匹配算法java实现

    1. **Levenshtein距离**:Levenshtein距离是一种衡量两个字符串相似度的方法,定义为由一个字符串转换成另一个字符串最少的单字符编辑操作次数(插入、删除或替换)。Java中可以自定义实现,或者使用开源库Apache ...

    Java数值计算算法源代码

    本资源"Java数值计算算法源代码"涵盖了复数运算、矩阵操作、线性方程组求解、非线性方程求解、插值法以及数值积分等多个关键领域,对于学习和实践Java数值计算具有很高的价值。 1. **复数运算**:复数是数学中的一...

    MD5 算法的Java Bean

    在MD5算法的Java Bean实现中,首先定义了一个辅助方法`rhex`用于将一个32位整数转换成十六进制字符串表示。这个方法通过迭代每一位的高四位和低四位,查找对应的十六进制字符并拼接成字符串。 #### 字符串转换为块 ...

    Apriori算法 java实现

    2. 支持度计算:定义一个函数来计算项集的支持度,这是评估项集频繁程度的指标。 3. 生成候选集:根据Apriori性质生成不同长度的候选频繁项集。 4. 计算频繁集:迭代过程,对每个候选集计算其支持度,保留那些满足...

    JAVA近百种算法大全

    Java算法大全是一个包含约100种常见算法的资源库,专为Java程序员设计,用于深入理解和实践编程中的各种算法。这些算法涵盖了数据结构、排序、搜索、图论等多个领域,是提升编程技能和解决问题能力的重要工具。下面...

    基于java实现的des算法

    基于Java实现的DES算法 作为一个IT行业大师,我将从给定的文件中生成相关知识点。...这个Java程序实现了DES算法的主要步骤,并提供了一个基本的实现方式。但是,代码的质量可能需要进一步的改进和优化。

    BP.rar_BP_bp 神经网络 java 算法_bp 预测_java BP预测算法_预测算法java

    这个“BP.rar”压缩包包含了一个用Java实现的BP神经网络算法,名为“BP.java”,这为我们提供了一个在Java环境中进行预测分析的工具。 BP神经网络的核心思想是通过反向传播误差来调整权重,以最小化网络的预测误差...

    java数值计算算法编程

    Java数值计算算法编程是计算机科学中的一个重要领域,它涉及到如何使用Java语言进行高效且精确的数学运算。在Java中,数值计算涵盖了广泛的算法和技术,包括基本的算术运算、复杂数学函数、线性代数、微积分、概率...

    java遗传算法寻找最优路径

    ### Java遗传算法寻找最优路径 #### 一、遗传算法概览 ...综上所述,这段Java代码通过遗传算法成功地实现了寻找最优路径的目标,通过对代码的具体分析我们可以更加深入地理解遗传算法的基本思想及其实现细节。

    java数据结构与算法.pdf

    Java作为广泛应用的编程语言,其在实现数据结构和算法时有着丰富的库支持和优秀的可读性。下面将对标题和描述中提到的一些关键知识点进行详细解释。 1. **数据结构**: - **稀疏数组**:当大量数据中大部分为零或...

    遗传算法Java实现

    它将个体的编码转换为一个数值,通常越高表示解决方案越好。适应度函数的定义依赖于具体问题,例如,对于最小化问题,目标函数的负值可作为适应度。 4. **选择操作**: 这一步骤根据个体的适应度进行选择,常见的...

    用java写的数值转换包

    总之,这个Java数值转换包利用了堆栈数据结构的特性,提供了一种高效、灵活的数值转换解决方案。开发者可以通过学习和使用这个包,加深对Java数据结构和算法的理解,以及在实际项目中应用这些知识。

    算术算法压缩实现Java

    1. **初始化**:首先,需要创建一个概率模型类,用于存储每个符号的概率和更新概率的函数。可以使用动态自适应概率模型,根据已编码的符号调整概率。 2. **编码**:编写一个编码器类,包含将符号编码为编码范围的...

    misty算法java实现

    这个Java实现的项目旨在提供一个能够按照Misty算法进行数据加密的工具,同时支持对BMP图片和TXT文档的处理。下面将详细介绍Misty算法的基本原理、Java实现的关键点以及如何通过提供的代码进行实际操作。 Misty算法...

    DES算法Java实现

    DES算法使用一个56位的密钥来加密64位的数据块,通过一系列复杂的数学运算,将明文转换为密文,以保护数据的安全。Java作为一种多平台通用的编程语言,提供了丰富的API来支持DES算法的实现。 首先,我们需要了解DES...

Global site tag (gtag.js) - Google Analytics