2017-12-02 4 views
-2

私はユーザが入力する整数を読み込むプログラムを一緒に取得しようとしています。私は、javaでこれを行う最も一般的な方法と思われるスキャナクラスについて読んできました。しかし、like this oneサイトに与えられたthe examplesをコピーしてコピーすると、私はどのように修正するべきかわからないという何らかのエラーが発生します。投稿されたすべてのものが問題を持ってはならない完成したコードであると考えられているので、どちらがイライラしていますか?スキャナクラスを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); 
    } 
} 

代わりのプログラムの実行は、それは私に2つのエラーを与えます。ラインpublic class ScannerDemo {

それは私に、このエラーを与える:次の行public static void main(String[] arguments){

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

私はこのエラーを取得する:

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

私はそのスキャナの多くの異なる形でこれを試してみましたすべての準備が整い、毎回エラーが発生するはずです。私は間違って何をしていますか?どうすれば修正できますか?

私が処理3. @HovercraftはあなただけScannerDemo.javaというファイルにこのコードが必要に言及したように、私は信じてい

+5

ScannerDemoはローカルクラスであってはならず、ファイル内の唯一のクラスである必要があり、ファイルの名前はScannerDemo.javaである必要があります。 –

+0

キー情報であるので、get-goからの処理情報を含める必要があります。処理は** Javaではないので、実際にはJavaの質問ではありません。 –

+0

私の悪い、これは私の最初の投稿です。 ProcessingがJava IDEだったという印象を受けました。 –

答えて

-1

を使用しています、あなたは別のファイル名でそれを持って推測しました。

+0

私は処理3を使用しています(それを投稿に追加しました)。そのファイルに.pdeタグを付けます。ファイルに別のタグを付けることはできません。 ScannerDemo.pdeという名前を付けると、このエラーが発生しました。クラス "ScannerDemoはスケッチまたはその囲むクラスと同じ名前を持つことはできません"。 –

-1

あなたのクラス名とファイル名は同じでなければなりません。これは最初のエラーの決定です。

は最初のエラーのため動作しません。

0

Javaと処理の違いをご理解ください。処理は独自の構文規則を持つ独自の言語とエディタであり、ランダムなJavaコードをコピーして貼り付けるだけで動作するわけではありません。 Processingの仕組みを理解してから、Processingで機能するようにコードを追加する必要があります。

処理エディタを使用していると仮定すると、メインスケッチファイルにはクラスだけが含まれてはならず、確かにmain()メソッドを含むべきではありません。代わりにsetup()draw()関数を含める必要があります。

実際にクラスを使用する場合は、main()メソッドを取り除き、ロジックをクラス内の関数にカプセル化し、クラスを使用するsetup()またはdraw()関数を追加します。

また、クラスの使用を中止し、処理コードにScannerを使用するだけです。

まだ動作しない場合は、MCVEを新しい質問の投稿に投稿してください。がんばろう。

関連する問題