Java-如何按整数序列查找最小值和最大值?
发布时间:2020-12-15 04:35:49 所属栏目:Java 来源:网络整理
导读:我对编码很新,我试图通过使用Math.min和Math.max方法找到整数序列的最小值和最大值.我想我已经找到了大部分的东西,但是当我测试它时,最小值是-2147483648,最大值是2147483647.我怎么能改变它? 这是代码: /** * A class to find largest and smallest value
我对编码很新,我试图通过使用Math.min和Math.max方法找到整数序列的最小值和最大值.我想我已经找到了大部分的东西,但是当我测试它时,最小值是-2147483648,最大值是2147483647.我怎么能改变它?
这是代码: /** * 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"); } } 解决方法
交换最小和最大的初始条件.更改
private int smallest = Integer.MIN_VALUE; private int largest = Integer.MAX_VALUE; 至 private int smallest = Integer.MAX_VALUE; private int largest = Integer.MIN_VALUE; 因为没有int值小于MIN_VALUE(或大于MAX_VALUE). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |