2017-02-16 4 views
1

私は配列を渡すことができないことを知っています。もしそうなら、私は参考にして渡す必要がありますか?質問は参考のために一番下にあります。Javaで配列を渡す

import java.util.Scanner; 
public class MethodsArrays { 

    public static int[] fillArray() { 
     Scanner scan = new Scanner(System.in); 
     int size = scan.nextInt(); 
     int array[] = new int[size]; 
     int pos=0; 

     for(int i=0; i<array.length; i++) { 
      pos=i+1; 
      System.out.println("Enter element " + pos); 
      array[i]=scan.nextInt(); 
     } 
     return array; 
    } 

    public static int sumArray(int [] array) { 
     int sum=0; 

     for(int i=0; i<array.length-1; i++) { 
      sum=array[i]+array[i+1]; 
     } 
     return sum; 
    } 

    public static int avgArray(int [] array) { 
     int avg=0; 
     int sum = sumArray(array); 
     avg = sumArray(array)/array.length-1; 
     return avg; 
    } 

    public static void printArray(int [] array) { 
     for(int i=0; i<array.length; i++) { 
      System.out.print(array[i] + " "); 
     } 
    } 

    public static void main(String[] args) { 
     fillArray(); 
     System.out.println("Sum=" + sumArray(array)); 
     System.out.println("Average=" + avgArray(array)); 
     printArray(array); 
    } 
} 

Javaプログラムを書くfillArray()、sumArray()、avgArray()、及びプリントアレイ()と呼ばれる4つの静的メソッド を有する呼ばMethodsArrays。 fillメソッドは、メインメソッドから呼び出す必要があります。 fillArray()メソッド fillArray()メソッドはスキャナーを使用して、配列の長さを表す数値 を取得し、配列を とする数値を読み取る必要があります。 sumArray()メソッドは、入力配列 としてint配列をとり、配列内のすべての 要素の合計である整数値を返します。 avgArray()メソッドは、入力パラメータとしてint配列 をとり、配列内のすべての要素の平均値である の整数値を返します。 printArray()メソッド は、入力パラメーターとしてint配列をとり、戻り値は です。次に、同じ 行をスペース( "")で区切って配列の要素を出力する必要があります。すべてのメソッドは整数 配列に対して機能するはずです。

+1

あなたは以下の問題を持っているでしょう... – Tom

+0

は、なぜあなたは配列にあなたがやっている方法を渡すことはできませんか? 'fillArray()'の呼び出し結果を 'array'という名前の変数に格納するだけで、変数名が実際に存在し、次の呼び出しでそれを使うことができます。 –

+1

私はあなたがint [] array = fillArray()のような変数にfillArray()結果を割り当てる必要があると思います。 –

答えて

2

コードは正常です。この結果を別のメソッドに使用するには、のfillArray()の結果を変数に代入するだけです。

それは次のようになります。あなたが実際にどのような `fillArray()`を返す気になる場合

int[] array = fillArray(); 
System.out.println("Sum=" + sumArray(array)); 
System.out.println("Average=" + avgArray(array)); 
printArray(array); 
+1

'avgArray'メソッドでOPは' array.length-1'で分割されます。意図されているかどうかわからない –

関連する問題