**講義スライド [#m1ff719a] #ref(./第10_5回.pdf); **基礎クラス用演習問題 [#p2c49f66] 解答は &size(20){ホスト名: earth.mlab.im.dendai.ac.jp}; &size(20){ディレクトリ: /home/submit/JavaBeginners/[今日の日付]/[学籍番号]}; に提出しなさい。ソースファイル (〜.java) のみを提出。 提出は gFTP 等の ftp ソフトを用いて行うこと。 &size(20){''提出先が木曜日と異なることに注意''}; ***問題1(Beginners') [#y37e2d5c] 継承を利用し,クラス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