-2

Javaで、配列をクラスに渡す方法を教えてください。いつでも、「静的コンテキストで非静的変数を参照できません」というメッセージが表示されます。配列には 10 の位置があります。配列を次のように宣言しました。

編集:これはより明確な例ですか? また、プログラマーが理解することは重要ではないと主張して、私の先生は静的なものとその使用方法を完全に無視したことにも注意してください。

編集2:私はそれを取り 、 これが私のプログラムに何をしたかを正確に変えることでそれを機能させることができました.これは悪い修正と見なされますかsorter sort = new sorter(); ? static sorter sort = new sorter();

主要

public class example {

    public static void main(String[] args) {

    int[] test = new int[10];
     sorter sort = new sorter();

     sort.GetArray(test);


    }
}

クラス

public class sorter {

    int[] InputAR = new int[10];

    public sorter
    {

    }

        public void GetArray(int[] a)
    {


    }
}
4

3 に答える 3

0

あなたは十分なコードを入れていませんでした、私の推測は次のとおりです:

  • 非静的フィールドを宣言しました (静的 int の代わりに int[] test = new int[10] のように ...)
  • sort.getArray はメインまたは別の静的メソッドにあります。

非静的フィールドには具体的なオブジェクトが存在する必要があるため、これは不可能です。

于 2013-01-30T13:03:25.690 に答える
0

sort.GetArray(test)それは、何らかのstaticメソッドを呼び出しているためです。アクセスするには、配列変数を作成する必要がありますstatic

この記事を読むだけで、コードの問題を理解できます。

于 2013-01-30T13:04:23.350 に答える
0

"静的コンテキストで非静的変数を参照することはできません"

あなたのこのエラーは、配列などを渡すこととは何の関係もありません。コードのどこか、またはメンバーを参照している可能性がありpublic void GetArray(int[] a)ますstaticが、非静的コンテキストを使用しています。

その variable non-static、または method static、またはその逆を行います。

詳細については、このリンクを参照してください。

于 2013-01-30T13:04:40.533 に答える