[英]Java- How to find min and max values in sequence of integers?
I'm fairly new to coding and I'm trying to find the minimum and maximum of a sequence of integers by using Math.min and Math.max methods. 我对编码很新,我试图通过使用Math.min和Math.max方法找到整数序列的最小值和最大值。 I think I have most things figured out, but when I test it the minimum is -2147483648 and the maximum is 2147483647. How can I change that?
我想我已经找到了大部分的东西,但是当我测试它时,最小值是-2147483648,最大值是2147483647.我怎么能改变它? Here's the code:
这是代码:
/**
* A class to find largest and smallest values of a sequence.
**/
public class DataSet
{
private int smallest = Integer.MIN_VALUE;
private int largest = Integer.MAX_VALUE;
/**
* Adds in integer to sequence.
* @param x the integer added
*/
public void addValue(int x)
{
smallest = Math.min(smallest, x);
largest = Math.max(largest, x);
}
/**
* Returns the smallest value.
* @return the smallest value
*/
public int getSmallest()
{
return smallest;
}
/**
* Returns the largest value.
* @return the largest value
*/
public int getLargest()
{
return largest;
}
}
Here's the tester: 这是测试人员:
/**
* A class to test the DataSet class.
*/
public class DataSetTester
{
public static void main(String[] args)
{
DataSet myData = new DataSet();
myData.addValue(11);
myData.addValue(4);
myData.addValue(6);
myData.addValue(9);
System.out.println("Smallest: " + myData.getSmallest());
System.out.println("Expected: 4");
System.out.println("Largest: " + myData.getLargest());
System.out.println("Expected: 11");
}
}
Swap the initial conditions for smallest
and largest
. 交换
smallest
和largest
的初始条件。 Change 更改
private int smallest = Integer.MIN_VALUE;
private int largest = Integer.MAX_VALUE;
to 至
private int smallest = Integer.MAX_VALUE;
private int largest = Integer.MIN_VALUE;
Because no int
value is smaller than MIN_VALUE
(or larger than MAX_VALUE
). 因为没有
int
值小于MIN_VALUE
(或大于MAX_VALUE
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.