使用扫描仪从用户输入读取整数

时间:2014-03-31 16:50:08

标签: java variables if-statement integer java.util.scanner

在我创建的程序中,我正在为使用整数变量的用户创建一个菜单,当用户选择一个菜单时,他们将激活该选项。我试图使用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 ");

{

4 个答案:

答案 0 :(得分:1)

此行有您的错误。

Scanner b = new Scanner(System.in);
int a = in.nextInt();

您的扫描仪名为b,而不是。请改用b.nextInt()

Scanner b = new Scanner(System.in);
int a = b.nextInt();

你也有一个错误的Read.nextInt(),你还没有定义Read。我不认为该行正在尝试做任何事情,所以只需将其删除即可。

答案 1 :(得分:0)

首先,read是什么?我不认为它在任何地方被定义为Scanner

其次,定义read后(Scanner read = new Scanner(System.in);),您可以拨打nextInt(),而不是NextInt。在尝试调用它们时,所有方法都需要这些括号。

答案 2 :(得分:0)

错误

声明

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 Naming Conventions

建议更正

  1. 删除a = read.nextInt;,因为它似乎是多余的。
  2. 在您int a;之后重新定义时删除Scanner 实例
  3. int a = in.nextInt();更改为int a = b.nextInt();

答案 3 :(得分:0)

剩下的代码是正确的只需更改此行“int a = in.nextInt();” to“int a = b.nextInt();”因为b是扫描仪的名称而nextInt()方法属于Scanner类“in.nextInt()”不正确。