そのため、合計値、平均値、最小値、最大値を出力するプログラムを作成しようとしています。最小値と最大値が2147483647と-2147483647を出力していることを除いて、基本的にすべてを理解しています。これらは、Javaが計算する絶対的な最小値と最大値であると思います。とにかく、ユーザーが入力した数値を計算したいので、これは明らかに正しくありません。
これが私のクラスです。addValueメソッドで問題が発生していると思います。
public class DataSet
{
private int sum;
private int count;
private int largest;
private int smallest;
private double average;
public DataSet()
{
sum = 0;
count = 0;
largest = Integer.MAX_VALUE;
smallest = Integer.MIN_VALUE;
average = 0;
}
public void addValue(int x)
{
count++;
sum = sum + x;
largest = Math.max(x, largest);
smallest = Math.min(x, smallest);
}
public int getSum()
{
return sum;
}
public double getAverage()
{
average = sum / count;
return average;
}
public int getCount()
{
return count;
}
public int getLargest()
{
return largest;
}
public int getSmallest()
{
return smallest;
}
}
そして、これがこのプロジェクトの私のテスタークラスです:
public class DataSetTester {
public static void main(String[] arg) {
DataSet ds = new DataSet();
ds.addValue(13);
ds.addValue(-2);
ds.addValue(3);
ds.addValue(0);
System.out.println("Count: " + ds.getCount());
System.out.println("Sum: " + ds.getSum());
System.out.println("Average: " + ds.getAverage());
System.out.println("Smallest: " + ds.getSmallest());
System.out.println("Largest: " + ds.getLargest());
}
}
最小数と最大数を除いて、すべてが正しく出力されます(カウント、合計、平均)。誰かが私が間違っていることの正しい方向に私を向けることができれば、それは素晴らしいことです。ありがとう。