问题: 取整数作为输入,并将小数和等效的十六进制小数值从1打印到2列中的该数字。 所有十六进制字母都应为大写字母。
import java.util.Scanner;
class DecimalToHexa {
public static void main(String args[]) {
int n = 0;
Scanner in = new Scanner(System.in);
System.out.println("Enter a number ");
n = in.nextInt();
for(int i=1; i<=n; i++) {
System.out.println(i + "\t" + Integer.toHexString(i));
}
}
}
输出:
Enter a number 14
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 a
11 b
12 c
13 d
14 e
请告诉我如何将字母转换为大写字母。
答案 0 :(得分:5)
您可以使用String#toUpperCase()方法:
Integer.toHexString(i).toUpperCase()
答案 1 :(得分:4)
像这样使用toUpperCase():
public static void main(String args[]) {
int n = 0;
Scanner in = new Scanner(System.in);
System.out.println("Enter a number ");
n = in.nextInt();
for (int i = 1; i <= n; i++) {
System.out.println(i + "\t" + Integer.toHexString(i).toUpperCase());
}
}
答案 2 :(得分:0)
public static void main(String args[]) {
int n = 0;
Scanner in = new Scanner(System.in);
System.out.println("Enter a number ");
n = in.nextInt();
for (int i = 1; i <= n; i++) {
System.out.printf("%d\t%X\n",i,i);
}
}
将int转换为十六进制的另一种方法。
String s = String.format("%X", num);
printf遵循相同的规则。用java格式化打印。
您可以将大写X更改为x以获得小写。