进制转换,写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。 数据范围:保证结果在 1≤n≤2的31次方-1
2023-12-24 23:35:50
题目:进制转换
写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
数据范围:保证结果在 1≤n≤2的31次方-1
代码实现:
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
String str = in.nextLine();
int sum = 0;
char[] chararray = str.toCharArray();
for (int i = chararray.length - 1; i > 1; i--) {
if (chararray[i] == 'A') {
int x = chararray.length - 1 - i;
int num = 10;
if (x == 0) {
num = num * 1;
sum = sum + num;
} else {
while (x > 0) {
num = num * 16;
x--;
}
sum = sum + num;
}
} else if (chararray[i] == 'B') {
int x = chararray.length - 1 - i;
int num = 11;
if (x == 0) {
num = num * 1;
sum = sum + num;
} else {
while (x > 0) {
num = num * 16;
x--;
}
sum = sum + num;
}
} else if (chararray[i] == 'C') {
int x = chararray.length - 1 - i;
int num = 12;
if (x == 0) {
num = num * 1;
sum = sum + num;
} else {
while (x > 0) {
num = num * 16;
x--;
}
sum = sum + num;
}
} else if (chararray[i] == 'D') {
int x = chararray.length - 1 - i;
int num = 13;
if (x == 0) {
num = num * 1;
sum = sum + num;
} else {
while (x > 0) {
num = num * 16;
x--;
}
sum = sum + num;
}
} else if (chararray[i] == 'E') {
int x = chararray.length - 1 - i;
int num = 14;
if (x == 0) {
num = num * 1;
sum = sum + num;
} else {
while (x > 0) {
num = num * 16;
x--;
}
sum = sum + num;
}
} else if (chararray[i] == 'F') {
int x = chararray.length - 1 - i;
int num = 15;
if (x == 0) {
num = num * 1;
sum = sum + num;
} else {
while (x > 0) {
num = num * 16;
x--;
}
sum = sum + num;
}
} else {
int x = chararray.length - 1 - i;
int num = chararray[i]-48;
if (x == 0) {
num = num * 1;
sum = sum + num;
} else {
while (x > 0) {
num = num * 16;
x--;
}
sum = sum + num;
}
}
}
System.out.println(sum);
}
}
文章来源:https://blog.csdn.net/JSUITDLWXL/article/details/135188702
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!