2014-03-31 83 views
-2

在我創建的程序中,我爲用戶使用整型變量創建了一個菜單,當用戶選擇一個菜單時,他們將激活該選項。我試圖使用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 "); 

{ 
+2

這甚至不能編譯你的'Scanner'實例被命名'B'不'in' –

+0

而且這是什麼'一個= read.NextInt;'?? –

+0

另外,括號甚至沒有正確地放置或匹配 – Clark

回答

0

首先,什麼是read?我沒有看到它在任何地方定義爲Scanner

其次,一旦read定義(Scanner read = new Scanner(System.in);),那麼你可以調用nextInt(),不NextInt。所有方法試圖調用它們時都需要這些括號。

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。我不認爲這條線正在嘗試做任何事情,所以只是刪除它。

+0

我現在已經這樣做了,但是它一直要求我重命名a,在int a = b.nextInt()下面仍然有一條紅線; @ Anubian Noob – user3151959

+0

郵政堆棧跟蹤或錯誤消息請嗎? –

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();
0
剩餘

代碼是正確的只是改變這一行 「INT A = in.nextInt();」到「int a = b。nextInt();「因爲b是你掃描儀的名字,而nextInt()方法屬於掃描儀類」in.nextInt()「,所以不正確