【发布时间】:2026-01-27 10:25:01
【问题描述】:
在 Java 中,如果可能的话,如何将数字扫描仪输入(例如 2 或 87)转换为整数变量?我现在使用的会产生错误消息:
Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)
at diDecryption.Didecryption.main(Didecryption.java:226)
这是我用来做这件事的代码(拼凑在一起,它是一个更大的程序的一部分):
System.out.println("Enter first number");
Scanner sc=new Scanner(System.in);
String name=sc.next();
int result = Integer.valueOf(name);
if (result / 2 == 1){
System.out.println("a");
该程序的目的是解码加密的消息。输入是数字,如果我将字符串删除为 int 转换器,则除法不起作用。我该如何解决这个问题?
【问题讨论】:
-
如果我给它一个数字,你的代码对我来说很好。确切地说,您在系统输入中提供了什么? (您发布的错误消息表明您正在尝试解析
null) -
您的意见是什么?代码对我来说看起来不错。 ideone.com/omNdEF
-
我怀疑您的异常消息是否与您的代码匹配。扫描仪方法不返回
null。如果没有可读取的内容,它们将抛出异常。请提供minimal reproducible example。 -
给出的步骤不会重现引用的问题。
标签: java int java.util.scanner