在我正在创建的程序中,我正在使用整数变量为用户创建一个菜单,当用户选择一个时,他们将在菜单中激活该选项。我正在尝试使用 readnextInt,但它不起作用,我不确定为什么。扫描仪的代码不起作用。
import java.util.Scanner;
public class username
{
public static void main(String[] args)
{
{
int Floor;
Floor = 0;
int Destination;
Destination = 0;
int UseLift;
int AuditReport;
int ExitLift;
int a;
UseLift = 1;
AuditReport = 2;
ExitLift = 3;
a = read.NextInt;
Scanner b = new Scanner(System.in);
int a = in.nextInt();
if (a == 1)
System.out.println(" Enter your name ");
else if (a == 2)
System.out.println("");
else if(a == 3)
System.out.println(" Please Exit Lift ");
{
这一行有你的错误。
Scanner b = new Scanner(System.in);
int a = in.nextInt();
您的扫描仪称为 b,而不是 in。请改用b.nextInt()
。
Scanner b = new Scanner(System.in);
int a = b.nextInt();
此外,您有一个错误的 Read.nextInt(),并且您尚未定义 Read。我不认为那行试图做任何事情,所以只是删除它。
首先,什么是read
?我不认为它在任何地方都被定义为Scanner
。
其次,一旦定义了read
(Scanner read = new Scanner(System.in);
),那么就可以调用nextInt()
,而不是NextInt
。所有方法在尝试调用它们时都需要这些括号。
错误:
声明
a = read.NextInt;
似乎是多余的。 变量read
未定义。
a = read.NextInt;
Scanner b = new Scanner(System.in);
int a = in.nextInt();
变量in
未定义,但用于读取nextInt()
。
int a = in.nextInt();
它必须指向Scanner
类的实例。将其替换为 b
。
您在同一范围内定义了两次a
。因此,您的 IDE 必须在下面显示一条红线
int a;
...
...
Scanner b = new Scanner(System.in);
int a = in.nextInt();
最后,不是错误,而是您的代码不遵循变量名和类名的 JAVA 命名约定。有关更多详细信息,请阅读 Java 命名约定
建议更正:
- 删除
a = read.nextInt;
,因为它似乎是多余的。 - 删除
int a;
,因为您在Scanner
后重新定义它实例。 - 将
int a = in.nextInt();
更改为int a = b.nextInt();
是属于扫描仪类的方法"in.nextInt()"是不正确的。