0

コード行を実行しようとするたびに、「非静的フィールドへの静的参照を作成できません」というエラーが表示.nextInt()されます。

影響する可能性のあるコード行は次のとおりです(私が考えることができます):

private Scanner input = new Scanner(System.in);
int priceLocation = input.nextInt();
4

3 に答える 3

0

これは、入力を定義する方法が原因です

private Scanner input = new Scanner(System.in); // notice private
int priceLocation = input.nextInt();

プライベート変数はクラス内で、メソッドの外側で定義されます

class myclass{

    private Scanner input = new Scanner(System.in);
    void methodname(){
        int priceLocation = input.nextInt();
    } 
}

または、メソッド内で入力を定義する場合

class myclass{
    void methodname(){
        Scanner input = new Scanner(System.in); // you can make this a final variable if you want
        int priceLocation = input.nextInt();
    }
}
于 2013-11-13T07:24:28.287 に答える
0
private Scanner input = new Scanner(System.in); // make this static 

静的メソッド内でこれにアクセスする場合。input静的にする必要があります。

private static Scanner input = new Scanner(System.in);
public static void main(String[] args) {
    int priceLocation = input.nextInt();
   // without static you will get that error.
}
于 2013-11-13T07:20:19.237 に答える