ユーザーの情報を取得し、最小、最大、平均、合計を出力し、その中に含まれる値の数をカウントするプログラムを作成しています。100 項目のデフォルト コンストラクターと、ユーザーが定義する配列サイズを作成する方法を理解するのに本当に苦労しています。
新しい DataSet オブジェクトを作成します。オブジェクトを作成するクライアントは、セットに追加できるアイテムの最大数を指定します。(1 つの int パラメーターを持つコンストラクターを記述します。)
また、100 個のアイテムを処理できる DataSet を作成するデフォルト コンストラクターも記述します。
整数データ項目を DataSet に追加します。最大数の項目がすでにセットに追加されている場合、その項目は単純に無視されます。
これが私のコードです
import javax.swing.*;
import java.util.*;
public class DataSet {
private int count; // Number of numbers that have been entered.
private double sum; // The sum of all the items that have been entered.
private double min;
private double max;
//Adds numbers to dataset.
public void addDatum(double num) {
count++;
sum += num;
if (count == 1){
min = num;
max = num;
} else if (num < min){
min = num;
} else if (num > max){
max = num;
}
}
public boolean isEmpty()
{
if(count == 0)
{
return true;
}
else
{
return false;
}
}
//Return number of items entered into the dataset.
public int getCount() {
return count;
}
//Return the sum of all the numbers that have been entered.
public double getSum() {
return sum;
}
//Return the average of all the numbers that have been entered.
public double getAvg() {
return sum / count;
}
//return Maximum value of data entered.
public double getMax(){
return max;
}
//return Minimum value of data entered.
public double getMin(){
return min;
}
public static void main (String[] args){
Scanner scanner = new Scanner(System.in);
DataSet calc = new DataSet();
double nextnumber = 0;
while (true){
System.out.print("Enter the next number(0 to exit): ");
nextnumber = scanner.nextDouble();
if (nextnumber == 0)
break;
calc.addDatum(nextnumber);
}
System.out.println("Min = "+calc.getMin());
System.out.println("Max = "+calc.getMax());
System.out.println("Mean = "+calc.getAvg());
System.out.println("Count = "+calc.getCount());
System.out.println("Sum = "+calc.getSum());
}
} //end class DataSet