Java——使用扫描仪读取十六进制数

标签 java user-input hex java.util.scanner

在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/

相关文章:

java - 构造函数和用户输入遇到问题

linux - 汇编语言接受用户输入但显示输出

java(eclipse)石头剪刀布代码,选择一个简单的输入,并生成石头剪刀布的输出

c++ - C/C++ 整数到十六进制到字符 数组到字符

java - java中的Filewatcher用于监视Windows文件夹并通知Linux

java - Maven Hibernate 实体类未找到异常

php - 删除数据的最后一部分

java - 将包含二进制的整数列表转换为十六进制

java - SnakeYAML 保存不正确

java - 在 Java10 中用什么代替 `defineClass`?