0

私はJavaが初めてで、Javaで配列を学習しようとしているので、これを実行したとき

class Example
{
    int [] i= new int[2];
    i[0]=5;    //error in this line. Trying to assign 5 to 1st position of array i.

    void m1()
    {
        System.out.println("i[0]:"+i);
    }

    public static void main(String args[])
    {
        Example a=new Example();
        a.m1();
    }
}

ここでは、行番号 4 で期待される ']'としてエラーが発生します。

関数内で機能することはわかっていますが、なぜこれが気に入らないのかを知りたいだけで、解決策はありますか?そうでない場合、その理由は何ですか?

申し訳ありませんが、コピーではなくプログラムを間違って書きました...今は正しいものです。

4

2 に答える 2

3
int[0] = 5;

間違っている。使用する必要があります

i[0] = 5;

ただし、クラス本体でこのような割り当てを行うことはできません。その宣言をメソッド内に移動するか、配列宣言で次のようなことを行う必要があります。

int[] i= {5};//same as int[] i = new int[1]; i[0] = 5;
于 2013-09-16T19:57:57.580 に答える
2

この行は正しくありません:

int[0] = 5;

あなたはこれを意味しました(ブロックと配列の正しい名前に注意してください):

{
    i[0] = 5;
}

または、1 行で配列の初期化を宣言することもできます。

int[] i = {5};

[]また、規則として、この部分は通常、配列の名前の後ではなく、配列のの後に記述されることに注意してください(これは C の規則であり、Java の規則ではありません)。

于 2013-09-16T19:58:42.110 に答える