用java写一个16进制转10进制算法的程序!
比如将string类型的“aabbcc”转换成int类型的10进制数,要求先截取字符串然后一个一个转过来!急求!...
比如将string类型的“aabbcc”转换成int类型的10进制数,要求先截取字符串然后一个一个转过来!急求!
展开
2个回答
展开全部
首先16进制里面a代表的是10.b 代表11,f代表15
16进制就是每16进1
然后利用这个 原理。得到如下代码。经测试,下边代码两次输出的结果是相同的。
public class test1 {
public static void main(String[] args) {
String str="aabbcc";
String myStr[]={"a","b","c","d","e","f"};
int result=0;
int n=1;
for(int i=str.length()-1;i>=0;i--){
String param=str.substring(i,i+1);
for(int j=0;j<myStr.length;j++){
if(param.equalsIgnoreCase(myStr[j])){
param="1"+String.valueOf(j);
}
}
result+=Integer.parseInt(param)*n;
n*=16;
}
System.out.println(result);
System.out.println(Integer.parseInt(str, 16));
}
}
还有给的分太少啦。。。
16进制就是每16进1
然后利用这个 原理。得到如下代码。经测试,下边代码两次输出的结果是相同的。
public class test1 {
public static void main(String[] args) {
String str="aabbcc";
String myStr[]={"a","b","c","d","e","f"};
int result=0;
int n=1;
for(int i=str.length()-1;i>=0;i--){
String param=str.substring(i,i+1);
for(int j=0;j<myStr.length;j++){
if(param.equalsIgnoreCase(myStr[j])){
param="1"+String.valueOf(j);
}
}
result+=Integer.parseInt(param)*n;
n*=16;
}
System.out.println(result);
System.out.println(Integer.parseInt(str, 16));
}
}
还有给的分太少啦。。。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询