お世話になっております。
秀和システムのjava入門書籍にて独習中です。
教科書の演習問題に手こづっており質問をするに至りました。どうかご教授下さいませ。
問い
BasicStatクラスをStatクラスに継承させて
Execクラスでdouble[]dataの合計、平均、最大値、最小値を
出力せよという問いについて下記のようにプログラムしました。
java
1コード 2package pass17_01_1; 3import java.util.Arrays; 4public class BasicStat { 5 private double[]data; 6 public BasicStat(double[] data){ 7 this.data=data; 8 Arrays.sort(data); 9 } 10 public double min(){ 11 return data[0]; 12 } 13 public double max(){ 14 return data[data.length-1]; 15 } 16 public double size(){ 17 return data.length; 18 } 19 protected double[] getData(){ 20 return data; 21 } 22} 23```java
package pass17_01_1;
public class Stat extends BasicStat{
public Stat(double[]data){
super(data);
}
public double sum(){ double total=0; for(double a:getData()){ total +=a; } return total; } public double ave(){ return sum()/size(); }
}
java
1コード
package pass17_01_1;
public class Exec {
public static void main(String[] args) {
double[] data = {65.1,60.3,75.5,70.0,67.3};
Stat stat = new Stat(data);
System.out.println("最小値="+stat.min()+"\t最大値="+stat.max()); System.out.println("合計="+stat.sum()+"\t平均値="+stat.ave()); }
}
Execクラスの new演算子のところとminメソッド、maxメソッドでコンパイルエラーとなっております。
おそらくStatクラスがBasicStatクラスを正しく継承できてないものと思いますが理由が全くわかりません。
ご教示いただけたら幸いです。
回答2件
あなたの回答
tips
プレビュー