0

配列の要素をチェックするために、以下のコードを書きました。必要な答えが得られました。出力が次のようになるようにするには、どのような変更を行う必要があるかを知りたいだけです1, 2, 3, 4, 5.

a[]また、の代わりに書くb[]と、コードでエラーが発生しますa is already defined in main(java.lang.String[])。手伝っていただけませんか?

class ArrayDemo15
{
    public static void main(String a[])
    {
        int b[]=new int[5];
        for(int i=0;i<5;i++)
        {
            System.out.println(b[i]+""+);
        }
    }
}
4

4 に答える 4

2

あなたは試すことができます

System.out.println(Arrays.toString(b));

メイン メソッドの引数を見てください。これは と呼ばれているため、の名前をto にa変更することはできません。同じ名前の 2 つの変数が作成されるためです。のようなものに変更する必要があるかもしれません。bamain(String[] args)


関連ドキュメント

于 2013-01-14T01:22:23.313 に答える
0
int b[] = new int[5];

コード行は、5つの空白要素を含む新しいint配列を作成しているだけです。

int b[] = {1,2,3,4,5};

この行は、要素1、2、3、4、5を持つbと呼ばれる配列を提供します。

2番目の質問に関しては、あなたはa[]あなたの主なパラメータに変化があります。

于 2013-01-14T01:42:58.577 に答える
0

「出力が次のようになるように、どのような変更を行う必要があるかを知りたいだけです1, 2, 3, 4, 5。」

これらの数値を出力したいだけの場合は、配列はまったく必要ありません。次のようなforループを使用するだけです

int counter=1;
for (counter=1; counter<=4; counter++)
    System.out.print(counter+", ");
//after loop print last element without comma
System.out.println(counter);

しかし、コードを改善して配列を使用することを主張する場合は、この回答を読み続けてください...

この場合は2つの引数演算子であり、1つの引数しか指定しないため、System.out.println(b[i]+""+);現在、コードでコンパイルエラーが発生します。+次のようなものに変更します

System.out.print(b[i]+", ");

数字の間に改行記号を入れたくないので、print代わりに使用しました。println

また、現在、配列はゼロで埋められています。これは、すべての新しい配列がいくつかのデフォルト値で埋められている ためです。-プリミティブ数値タイプ(int、byte、doubleなど)
の配列の場合、デフォルト値は0です。-プリミティブブール値の場合はfalseです。 -オブジェクト(文字列など)の場合はnullです。

したがって、最初に配列に値を入力する必要があります。これを行うには、2つのオプションがあります

  1. 配列を反復処理し、すべての要素を設定します

    for (int index = 0; index < b.length; index++) {
        b[index] = index + 1;
    }
    
  2. 配列の作成中にすべての値を提供します。
    • int[] b1 = { 1, 2, 3, 4, 5 };このバージョンは参照でのみ使用できます
    • int[] b2 = new int[]{ 1, 2, 3, 4, 5 };このバージョンは参照を必要とせず、たとえばintの配列を受け入れるメソッドの引数としてどこでも使用できます。Arrays.sort(new int[]{ 5, 3, 1, 4, 2 })

配列のすべての要素が正しい値に設定されたら、それを印刷する必要があります。ARSが指摘 したように、組み込みのユーティリティを使用してSystem.out.println(java.util.Arrays.toString(b))実行することも、ループを使用して自分で実行することもできます。

for (int i = 0; i < b.length - 1; i++) {// b.length - 1 I don't want to
    // print last element here since I don't want to add comma
    // after it
    System.out.print(b[i] + ", ");
}
// now it is time for last element of array
System.out.println(b[b.length - 1]);
//since b[]={1,2,3,4,5} b.length=5 so it will print b[4] -> 5
于 2013-01-14T02:20:48.403 に答える
0

初期値を指定せずに配列を初期化すると、Javaは配列内のすべての要素をそのタイプに基づいてデフォルト値に設定します。intのデフォルトのavlueは0です。[0,0,0,0,0]の代わりに[1,2,3,4,5]を配列として使用する場合は、初期化時に配列の内容を設定できます。すなわちint b[] = {1,2,3,4,5};。を呼び出す前に行を追加して、forループに配列を設定することもできますprintln

for(int i = 0; i < 5; i++){
   b[i] = i+1;
   System.out.println(b[i]);
}

このエラーが発生する理由は、変数の型を再宣言できず、再割り当てするだけであるためです。例えば、

int a = 4;
int a = 5;

許可されていませんが

int a = 4;
a = 5;

許可されている。mainメソッドでは、配列aはとして宣言されておりString[]、として再宣言することはできませんint[]

于 2013-01-14T03:54:08.120 に答える