写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
输入:
0xA
0xAA
输出:
10
170
2020.04写的:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while(scanner.hasNext()){
String hexNum = scanner.nextLine();
hexNum = hexNum.toLowerCase();
String substring = hexNum.substring(2);
int result = 0;
for (int i = substring.length()-1 ,j=0; i >= 0 ; i--,j++) {
char c = substring.toCharArray()[i];
if (c >= 'a' && c<='f'){
result += (c - 'a'+10)*(int)Math.pow(16,j);
}else{
result += (c-'0')*(int) Math.pow(16,j);
}
}
System.out.println(result);
}
}
}
六个月后2020.11:写的:
package thinking_in_java;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String s = sc.nextLine().toUpperCase();
if (s.startsWith("0X")) s = s.substring(2);
System.out.println(Integer.parseInt(s, 16));
}
}
}
本文介绍如何编写程序,将输入的十六进制数转化为其对应的十进制表示。例如,输入0xA和0xAA,程序分别输出10和170。
3430

被折叠的 条评论
为什么被折叠?



