增加字符问题(十六进制)

时间:2014-06-17 14:37:11

标签: java char hex

我目前正在使用char作为char []中的计数器。我遇到的问题的一个例子如下:

char counter = 0x00;

for (int i = 0; i < 15; i++){
counter++;
}

这似乎工作得很好,直到我发现当i = 10时,计数器被分配了0x10而不是0x0A。

如何增加char以包含十六进制值而不是十进制值?

任何建议或意见都会很棒!

2 个答案:

答案 0 :(得分:0)

没有十进制或十六进制值,只有一个整数值。十进制和十六进制只是格式。当i为0时,计数器的值为1,当i为1时,计数器变为2.当i为10时,计数器变为11.我在此处以十进制格式表示所有值。

试试这个:

    int i = 7023;
    System.out.println(Integer.toString(i, 16).toUpperCase());
    System.out.println(Integer.toHexString(i).toUpperCase());

答案 1 :(得分:0)

为计数器分配了正确的值,您只需将其转换为十六进制格式。

char counter = 0x00;

for (int i = 0; i < 15; i++){
    counter++;
    System.out.println(Integer.toHexString((int) counter);
}

运行它会在单行打印1 - f。

1
2
3
4
5
6
7
8
9
a
b
c
d
e
f