Java 无法对基元类型int调用nextint()

Java 无法对基元类型int调用nextint(),java,Java,所以我在学习Java,也许他没有很好地解释扫描仪的工作原理和局限性,或者我在看一些愚蠢的东西。。。但是我在answer=answer.nextInt()上得到一个错误我没有因为炸弹而得到这个错误,但它的使用方式基本相同 代码: 你怎么办?谢谢 int answer = 0; answer = answer.nextInt(); 您正在对int调用nextInt()。您需要在扫描仪上调用它: answer = input.nextInt(); 首先,您有一个带有paramether Syst

所以我在学习Java,也许他没有很好地解释扫描仪的工作原理和局限性,或者我在看一些愚蠢的东西。。。但是我在
answer=answer.nextInt()上得到一个错误我没有因为炸弹而得到这个错误,但它的使用方式基本相同

代码:

你怎么办?谢谢

int answer = 0;

answer = answer.nextInt();
您正在对int调用
nextInt()
。您需要在扫描仪上调用它:

answer = input.nextInt();

首先,您有一个带有paramether System.in的Scanner实例,因此它将“记录”您的键盘(我假设没有使用yesNo Scanner)。然后,您有一个名为“answer”的int变量,将其赋值为零值。最后,您还有另一个名为“bomb”的变量,您将从中获得请求的值

正如我在回答的注释中看到的,有一点是错误的:“input.nextInt()”是一个int值。当您使用input.nextInt()时,您会向它发送一条消息,上面写着“嘿,兄弟,给我这个愚蠢的人按下的第一个int”,但您没有做更多的事情。“输入”只是一个记录击键的扫描器(正如它的类名所说)

因此,实际上,当您执行“input.nextInt()”时,您将得到一个int值,当您执行“bomb=input.nextInt()”或“answer=input.nextInt()”时,您所做的唯一事情就是给出“bomb”或“answer”该int值。

nextInt()是一个作为对象类型扫描仪一部分的函数。要调用.nextInt(),必须具有Scanner类型的对象

因此,行“int bomb=input.nextInt();”工作正常,因为“input”是类Scanner的对象。该函数运行并从输入返回另一个对象,即整数,该对象存储在int bomb中

“answer=answer.nextInt();”行无法编译,因为“answer”是integer类的对象。integer没有名为nextInt()的函数


相应的行是“answer=input.nextInt();”,使用Scanner对象返回另一个整数以存储在“answer”中。“int”是一个基本值。它不是对象,也没有方法

也许你想做什么

answer = input.nextInt();

answer=input.nextInt()
?不过input被用来装炸弹,这不重要吗?我仍然需要Bomb的输入,你不能在原语上调用函数,它不存在,他们没有解释。也许我需要找一个更好的教程。谢谢“输入正被用于保存炸弹”-否。
input
仅保存键入行中的下一个位置。假设您键入了
100 200
。在
input.nextInt()
之后,input不记得
100
,它也不知道
炸弹
<代码>炸弹
记住
100
input
记住下次有人调用
nextInt()
,它应该从位置4开始扫描。我知道我做了什么。那一天我一定是被人盯着了,在一个地方重新命名了我的扫描仪,而在另一个地方没有改变“是的”应该是“回答”。德普。
answer = input.nextInt();