我目前正在使用char作为char []中的计数器。我遇到的问题的一个例子如下:
char counter = 0x00;
for (int i = 0; i < 15; i++){
counter++;
}
这似乎工作得很好,直到我发现当i = 10时,计数器被分配了0x10而不是0x0A。
如何增加char以包含十六进制值而不是十进制值?
任何建议或意见都会很棒!
答案 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