将十进制数转换为十六进制“使用大写字母”

时间:2014-04-07 13:33:31

标签: java string

问题: 取整数作为输入,并将小数和等效的十六进制小数值从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

请告诉我如何将字母转换为大写字母。

3 个答案:

答案 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以获得小写。