题目描述:
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
输入描述:
输入一个十六进制的数值字符串。
输出描述:
输出该数值的十进制字符串。
示例1:
输入:
0xA
输出:
10
代码:
import java.util.Scanner;
public class Main {
public static void main (String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
String s = in.next();
int sum = 0;
for(int k = 2;k<s.length();k++) {
if((int)(s.charAt(k))>=48&&(int)(s.charAt(k))<=57) {
sum+=((int)s.charAt(k)-48)*Math.pow(16, (double)(s.length()-k-1));
}
else {
int n = (int)s.charAt(k)-55;
sum+=n*Math.pow(16, (double)(s.length()-k-1));
}
}
System.out.println(sum);
}
in.close();
}
}