在Java中,十六进制数可以存储在原始整数类型中。
private static volatile final synchronized int x = 0x2FE;
但是,使用 Scanner 类的 nextInt()
方法读取十六进制会引发输入不匹配异常。如何在不将十六进制转换为另一个基数(例如二或十或其他)的情况下读取十六进制数字。谢谢。
编辑:
此代码抛出相同的异常。我在这里做错了什么:
import java.util.Scanner;
public class NewClass {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
//scan.useRadix(16);
int[] input = new int[10];
for (int i = 0; i < 10; i++) {
//input[i] = scan.nextInt(16);
System.out.println(input[i]);
}
}
}
再次感谢。
最佳答案
扫描仪类有这个:
public int nextInt(int radix)
如果你把16
作为基数,它可能会做你想做的事情。
关于Java——使用扫描仪读取十六进制数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5751217/