您的位置:首页 > 其它

把一个16进制 或8进制转换为10进制的函数

2010-09-12 20:12 274 查看
这是一个面试题 下一个函数 把16进制 或8进制转换为10进制的数 考验程序员的代码熟练程度 一下是我写的转换函数 如有意见请留言

import java.io.IOException;

import java.util.*;

public class bb {

/**

* 此函数是把16进制和8进制转换为10进制的方法

*

*

* @param args

*/

public static void main(String[] args) {

Scanner input=new Scanner(System.in);

System.out.println("请输入一个十六进制数:");

String number=input.next();

double shu=zhuan(number);

System.out.println(number+"的十进制是:"+shu);



}

public static double zhuan(String shu){

double num=0;

double hi;

for (int i = 0; i < shu.length(); i++) {

String ren=shu.substring(shu.length()-i-1, shu.length()-i);

if(ren.equals("A")){

hi=10;

}else if(ren.equals("B")){

hi=11;

}else if(ren.equals("C")){

hi=12;

}else if(ren.equals("D")){

hi=13;

}else if(ren.equals("E")){

hi=14;

}else if(ren.equals("F")){

hi=15;

}else{

hi=Double.parseDouble(ren);

}

double jia=Math.pow(16, i) * hi;//16进制转换

//double jia=Math.pow(8, i) * hi;//8禁止转换

num+=jia;

}



return num;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐