题目:写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )
注意:0x用于标志该数为十六进制数
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
while(scanner.hasNext()){
String s=scanner.nextLine();
s=s.substring(2); //把标记为十六进制数的0x去掉
char[] chars=s.toCharArray();
int sum=0;
for(int i=chars.length-1;i>=0;i--){
if(chars[i]>='A' && chars[i]<='F'){
sum+=Integer.valueOf(chars[i]-65+10)*Math.pow(16,(chars.length-1)-i);
}else{
sum+=Integer.valueOf(chars[i]-48)*Math.pow(16,(chars.length-1)-i);
}
}
System.out.println(sum);
}
}
}