2016-05-15 7 views
-4

私は非常に新しい(1ヶ月のような)Javaです。今週私は難しい問題を抱えています。我々は、 "double"型の50要素の配列 "アルファ"を宣言するプログラムを書くように求められます。最初の25個の要素がインデックス変数の2乗に等しく、最後の25個の要素がインデックス変数の3倍になるように、配列を初期化します。 1行に10個の要素がになるように配列を出力してください。。これまでのところ出力が得られましたが、は1行につき1つの値しか印刷しません。、これまでの内容は間違っていますか?どのような助けも非常に感謝!1行に10要素が印刷されるように配列を出力します。

import java.util.*; 
public class progprblm5{ 
public static void main(String[] args){ 

    double alpha[] = new double[50]; 

    for(int i =0;i<25;i++) 
    {alpha[i]= i*i;} 

    for(int i = 25;i<50;i++) 
    {alpha[i]= i*i*i;} 

    System.out.println("The values are: "); 
    for(int i=0;i<50;i++) 
    System.out.println(alpha[i]); 
    } 
    void print(double array[]) 
    { 
    for(int i=1; i <= array.length; i++) 
    { 
    System.out.print(array[i+1]+ " , "); 
    if(i%10==0) 
    System.out.print("\n"); 
    } 
    } 
} 
+4

あなたは 'print()'メソッドを呼び出していません。 – shmosel

+1

良いことも、クラッシュするので。インデックスは0ベースであることはすでに分かっています。だから、1から反復し、 'array [i + 1]'を実行すると、すべてのもののうちの2ベースのものとして扱われます。おそらく 'array [i-1]'の意味ですか? – Andreas

+0

また、 'i * i * i'は*"インデックス変数の3倍 "*ではありません。それはインデックス変数の立方体です。 – Andreas

答えて

0

あなたはmainメソッドから印刷方法呼び出されていません。もう1つの間違いはあなたのコードにあります。についてはインデックス変数の3回、コードではのキューブを取っています。

public class progprblm5{ 
    public static void main(String []args){ 
     double alpha[] = new double[50]; 
     for(int i =0;i<25;i++){ 
      alpha[i]= i*i; 
     } 
     for(int i = 25;i<50;i++){ 
      alpha[i]= 3*i; // 3 times of index 
     } 
     System.out.println("The values are: "); 

     new progprblm5().print(alpha); // method call 
} 
    void print(double array[]){ 
     for(int i=0; i < array.length; i++){ //iterate array from 0 index 
      System.out.print(array[i]+ " , "); // print ith element 
      if(i%10==0){ 
       System.out.println(); 
      } 
     } 
}  
} 
関連する問題