私はかなり新しくコーディングしています。Math.minとMath.maxメソッドを使用して、整数のシーケンスの最小値と最大値を見つけることを試みています。私はほとんどのことが分かっていると思いますが、テストすると最小値は-2147483648、最大値は2147483647です。どのように変更できますか?ここでJava - 整数の順序で最小値と最大値を見つける方法は?
/**
* 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;
}
}
をテスターです: は、ここでは、コードです
/**
* 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");
}
}
残念ながら、コレクションのmax要素とmin要素が必要だった場合は、 'TreeSet'のような' SortedSet'を使うのが良い方法です。 –
問題はMath.maxとMath.minを求めましたが、将来的にはこの点を心に留めておきます。 – Tricia
use int highest = Math.MIN_VALUE; int lowest = Math.MAX_VALUE; – Renukaradhya