2017-12-02 110 views
-2

我試圖讓一個程序一起讀取用戶輸入的整數。我一直在閱讀有關掃描儀類,這似乎是在java中這樣做的最常見的方式。但是,當我複製+粘貼the examples給出的網站like this one我得到某種錯誤,我不知道如何解決。這是令人沮喪的,因爲所有發佈的東西都應該是完整的代碼,應該沒有問題!無法讓掃描儀類在Java中工作

的一些代碼,應該工作的一個例子:

import java.util.Scanner; 

public class ScannerDemo { 
    public static void main(String[] arguments){ 
     Scanner input = new Scanner(System.in); 

     String username; 
     double age; 
     String gender; 
     String marital_status; 
     int telephone_number; 

     // Allows a person to enter his/her name 
     Scanner one = new Scanner(System.in); 
     System.out.println("Enter Name:"); 
     username = one.next(); 
     System.out.println("Name accepted " + username); 

     // Allows a person to enter his/her age 
     Scanner two = new Scanner(System.in); 
     System.out.println("Enter Age:"); 
     age = two.nextDouble(); 
     System.out.println("Age accepted " + age); 

     // Allows a person to enter his/her gender 
     Scanner three = new Scanner(System.in); 
     System.out.println("Enter Gender:"); 
     gender = three.next(); 
     System.out.println("Gender accepted " + gender); 

     // Allows a person to enter his/her marital status 
     Scanner four = new Scanner(System.in); 
     System.out.println("Enter Marital status:"); 
     marital_status = four.next(); 
     System.out.println("Marital status accepted " + marital_status); 

     // Allows a person to enter his/her telephone number 
     Scanner five = new Scanner(System.in); 
     System.out.println("Enter Telephone number:"); 
     telephone_number = five.nextInt(); 
     System.out.println("Telephone number accepted " + telephone_number); 
    } 
} 

相反的程序運行,它給了我兩個錯誤。

在行public class ScannerDemo {它給了我這個錯誤:

Illegal modifier for the local class ScannerDemo; only abstract or final is permitted

在下一行public static void main(String[] arguments){我得到這個錯誤:

The method main can not be declared static; static methods can only be declared in a static or top level type.

我曾與許多不同形式的掃描儀的嘗試這一點,應該都準備好了,每次都會出錯。我究竟做錯了什麼?我該如何解決它?

我使用的加工3.

+5

ScannerDemo不應該是一個本地類,應該是文件中唯一的類,並且該文件應該被命名ScannerDemo.java。 –

+0

您應該從開始就包含處理信息,因爲它是關鍵信息。處理是**不是** Java,所以這個問題並不是真正的Java問題。 –

+0

我的不好,這是我在這裏的第一篇文章。我的印象是Processing是一個java IDE。 –

回答

-1

我相信作爲@Hovercraft提到你只需要在一個叫做ScannerDemo.java文件的代碼,被猜測你擁有了它在不同的文件名。

+0

我正在使用處理3(添加到帖子),它給它的文件一個.pde標記。它不會讓你給文件一個不同的標籤。爲它命名ScannerDemo.pde給了我這個錯誤:類「ScannerDemo不能與你的草圖或其封閉類名稱相同」。 –

-1

你的類名和文件名必須是相同的。這是第一個錯誤的決定。

public static void main(String[] arguments){ 

由於第一個錯誤而沒有工作。

0

請理解Java和加工之間的區別。 Processing是它自己的語言和編輯器,它有自己的語法規則,你不能只複製粘貼隨機Java代碼並期望它能夠工作。您必須瞭解處理如何工作,然後以處理中的方式添加代碼。

假設你正在使用的加工編輯器,那麼你的主素描文件不應該只包含一個類,它絕對不應該包含main()方法。它應該包含setup()draw()函數。

如果您確實想使用某個類,那麼請刪除您的main()方法,將您的邏輯封裝在類中的某個函數中,然後添加使用該類的setup()或函數。

或者更好的是,停止使用類,只需使用Scanner在你的處理代碼。

如果您仍然無法得到它的工作,請在一個新的問題,後一個MCVE,我們會從那裏。祝你好運。