解答は
ホスト名: earth.mlab.im.dendai.ac.jp
ディレクトリ: /home/submit/JavaBeginners/[今日の日付]/[学籍番号]
に提出しなさい。ソースファイル (〜.java) のみを提出。 提出は gFTP 等の ftp ソフトを用いて行うこと。
提出先が木曜日と異なることに注意
継承を利用し,クラスIntArraySumMinMaxAveから無駄なプログラムを削除せよ.
(余力があればmainメソッドからも無駄なプログラムを削除せよ)
class IntArraySumMinMax { int[] data; IntArraySumMinMax(String[] src) { data = new int[src.length]; for(int i = 0; i < data.length; i++) { data[i] = Integer.parseInt(src[i]); } } void print() { for(int i = 0; i < data.length; i++) { System.out.println("[" + i + "]:" + data[i]); } } int sum() { int s = 0; for(int i = 0; i < data.length; i++) { s += data[i]; } return s; } int max() { int m = data[0]; for(int i = 1; i < data.length; i++) { if (data[i] > m) { m = data[i]; } } return m; } int min() { int m = data[0]; for(int i = 1; i < data.length; i++) { if (data[i] < m) { m = data[i]; } } return m; } } class IntArraySumMinMaxAve { int[] data; IntArraySumMinMaxAve(String[] src) { data = new int[src.length]; for(int i = 0; i < data.length; i++) { data[i] = Integer.parseInt(src[i]); } } void print() { for(int i = 0; i < data.length; i++) { System.out.println("[" + i + "]:" + data[i]); } } int sum() { int s = 0; for(int i = 0; i < data.length; i++) { s += data[i]; } return s; } int average() { int s, a; s = sum(); a = s / data.length; return a; } int max() { int m = data[0]; for(int i = 1; i < data.length; i++) { if (data[i] > m) { m = data[i]; } } return m; } int min() { int m = data[0]; for(int i = 1; i < data.length; i++) { if (data[i] < m) { m = data[i]; } } return m; } } public class IntArrayTest { static public void main(String[] args) { if (args.length <= 0) { System.out.println("コマンドライン引数に1つ以上の値を指定してください"); return; } IntArraySumMinMax ia = new IntArraySumMinMax(args); ia.print(); int s, min, max; s = ia.sum(); min = ia.min(); max = ia.max(); System.out.println("合計:" + s); System.out.println("最小値:" + min); System.out.println("最大値:" + max); IntArraySumMinMaxAve iaa = new IntArraySumMinMaxAve(args); int a; a = iaa.average(); System.out.println("平均:" + a); } }
実行例:
>java IntArrayTest 3 1 2 5 [0]:3 [1]:1 [2]:2 [3]:5 合計:11 最小値:1 最大値:5 平均:2