java - How do I correctly get the largest and smallest numbers in a sequence of numbers? -
i'm supposed smallest , largest number out of sequence of numbers. know method body each method not right. help?
public class dataset { private int sum; private int count; private int largest; private int smallest; public dataset() { sum = 0; count = 0; largest = 0; smallest = 0; } public void addvalue(int x) { sum = sum + x; count++; } public int getsum() { return sum; } public double getaverage() { double average = sum/count; return average; } public int getlargest() { int largest = integer.max_value;//not giving right answer, don't know how use return largest; } public int getsmallest() { int smallest = integer.min_value;//not giving right answer, don't know how use return smallest; } }
here tester class if needed, although don't think problem lies here.
public class datasettester { public static void main(string[] args) { dataset mydata = new dataset(); mydata.addvalue(100); mydata.addvalue(5); mydata.addvalue(4); mydata.addvalue(2); system.out.println("sum = " + mydata.getsum()); system.out.println("average = " + mydata.getaverage()); system.out.println("largest value = " + mydata.getlargest()); system.out.println("smallest value = " + mydata.getsmallest()); } }
integer.max_value
, integer.min_value
returns largest , smallest number representable integer
value
instead, in add method, need comparing values added, can use math.min
, math.max
make comparison easier, example...
private int smallest = integer.max_value; private int largest = integer.min_value; public void addvalue(int x) { smallest = math.min(smallest, x); largest = math.max(largest, x); sum = sum + x; count++; }
Comments
Post a Comment