メソッドの戻り値を配列にする - 萌えJava超入門
第十二章 クラスメソッド

メソッドの戻り値を配列にする

戻り値を配列にして、複数の値を返してみましょう。

return array;


戻り値を配列にする


戻り値を配列にして、複数の値を返してみましょう。

第十章 配列 拡張for文 4.拡張for文の有効な使い方
で紹介した Sample05_17.java をメソッドにしてみました。

  1. 引数に計算したい配列を与えています。
  2. 戻り値で「合計・最大・最小・平均」の4つの値を持つ配列を返しています。


//Sample07_101.java
class Sample07_101 {

  /*クラスメソッドの定義*/
static double[] calc01(int[] array){
  double sum = 0;
  double max = 0;
  double min = 100;
  double avg = 0;

  for(double dou : array){
      sum += dou;
      max = max < dou ? dou : max;
      min = min < dou ? min : dou;
  }
  avg = sum / array.length;
  double[] result = {
      sum, max, min, avg
  };
  return result;
}
public static void main(String[] args){

  int[] values = {
      80,74,91,70,44,68,92,76,88,57
  };

  /*クラスメソッドの呼び出し*/
double[] calc = calc01(values);
System.out.println("合計: " + calc[0]); System.out.println("最大: " + calc[1]); System.out.println("最小: " + calc[2]); System.out.println("平均: " + calc[3]); }
}

コマンドライン
>javac Sample07_101.java
>java Sample07_101
合計: 740.0
最大: 92.0
最小: 44.0
平均: 74.0

mainメソッドから見ると、calc01に配列を与えるだけで、
合計・最大・最小・平均 を得られていますね。
calc01 内で宣言した変数は、有効範囲(スコープ)が calc01 の中に限定されるので、
変数名の重複を気にする必要がありません。


mainメソッドだけ見ると整理されていて
わかりやすいといえばわかりやすいですね。
今の段階では別のメソッドにする必要性を
感じない人もいるだろう。
だが、クラスメソッドは基本中の基本だ。
このままもう少しクラスメソッドに触れていきたい。
ここ大事なところなのね?




了解です。


お疲れ様でした。




© 2019 awasekagami