0

したがって、割り当ては、if ステートメントを使用して型java programの配列 alpha を宣言する a を記述することです。最初の要素がインデックス変数の 2 乗に等しく、最後の 25 要素がインデックス変数の 3 倍に等しくなるように配列を初期化します。50 elementsdouble25

これは私のコードです:

   int i=0;      
    int count=0;
    double[] alpha= new double [50];

    for (i=0; i<alpha.length; i++)
    { 
    if (alpha.length<25)
    alpha[i]= i*i;

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

    if (alpha.length>=25)
    alpha[i]= 3*i;      

     System.out.print(alpha[i] + " ");
        count++;
        if (count==10){
        System.out.println("\n");
        count=0;

問題は、コードの最後の部分を機能させることができることです

 if (alpha.length>=25) alpha[i]= 3*i

しかし、コードの最初の部分は機能しません。次の回答が得られます。

0.0 0.0 0.0 3.0 0.0 6.0 0.0 9.0 0.0 12.0 0.0 15.0 0.0 18.0 0.0 21.0 0.0 24.0 0.0 27.0 0.0 30.0 0.0 33.0 0.0 36.0 0.0 39.0 0.0 42.0 0.0 45.0 0.0 48.0 0.0 51.0 0.0 54.0 0.0 57.0 0.0 60.0 0.0 63.0 0.0 66.0 0.0 69.0 0.0 72.0 0.0.

誰が何が悪いのか見ることができますか?

4

4 に答える 4

2

alpha.length は常に 25 より大きくなります。i を比較して、25 より小さいか大きいかを確認する必要があります。

于 2013-04-03T04:53:09.813 に答える
1

FOR反復でアルファの長さが変化しません。i 変数を比較する必要があります。 for (i=0; i

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

if (i>=25)
alpha[i]= 3*i;      

 System.out.print(alpha[i] + " ");
    count++;
    if (count==10){
    System.out.println("\n");
    count=0;
于 2013-04-03T04:52:34.017 に答える
1

これは、あなたが 50であるため、alpha.length>=25は常にTRUEであり、alpha.length < 25常にFALSEであるためです。alpha.length

を使ってindex i比較してみてください。

if (i < 25)
 alpha[i] = i * i;
....
....
if (i >= 25)
 alpha[i] = 3 * i;
于 2013-04-03T04:55:13.340 に答える
0

alpha.length常に 50 に等しい配列の長さです。

状態を変える

if (alpha.length<25)

if (i<25)

同様に変更

if (alpha.length>=25)

もし (i>=25)

于 2013-04-03T04:54:42.217 に答える