加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读