이 가능하므로 합계, 평균 및 최소값과 최대 값을 출력하는 프로그램을 만들려고합니다. 저는 기본적으로 가장 작은 값과 가장 큰 값이 2147483647과 -2147483647을 출력한다는 것을 제외하고는 모든 것을 가지고 있습니다. 이것은 Java가 계산할 절대 값이 가장 작고 가장 큰 값이라고 생각합니다. 어쨌든, 나는 사용자가 입력 한 숫자를 계산하기를 원하기 때문에 이것은 분명 정확하지 않습니다.최대 값과 최소값을 출력하는 Math.max와 Math.min은
여기 내 수업이 있습니다. addValue 메서드에서 뭔가 잘못되었다고 가정합니다.
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());
}
}
모두가 최소 및 최대 숫자를 제외하고 (계산, 합계, 평균)이 제대로 출력 :
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;
}
}
그리고 여기에이 프로젝트에 대한 내 테스터 클래스입니다. 누군가 내가 잘못하고있는 일의 올바른 방향으로 나를 지적 할 수 있다면 그것은 좋을 것입니다. 감사.
largest = Integer.MIN_VALUE;
smallest = Integer.MAX_VALUE;
레코드의 경우, 가장 작은'int' 값은'-2147483647'이 아닌'-2147483648'입니다. –