用java打印最小的数字

用java打印最小的数字,java,Java,我需要获取用户输入,让程序运行所有的方法和内容,以输出最大和最小的数字。我让它打印最大的,但它总是有最小的0。这可能很容易修复,但现在是季度末,我强调要完成最后一个。这是我的密码 import java.io.*; import java.util.*; public class P4_6 { private int sum; private int count; private int largest = Integer.MIN_VALUE; private int smal

我需要获取用户输入,让程序运行所有的方法和内容,以输出最大和最小的数字。我让它打印最大的,但它总是有最小的0。这可能很容易修复,但现在是季度末,我强调要完成最后一个。这是我的密码

import java.io.*;
import java.util.*;

public class P4_6
{
  private int sum;
  private int count;
  private int largest = Integer.MIN_VALUE;
  private int smallest = Integer.MAX_VALUE;

  public P4_6()
  {
    sum = 0;
    largest = 0;
    smallest = 0;
    count = 0;
  }
  public void addValue(int x)
  {
    smallest = Math.min(smallest, x);
    largest = Math.max(largest, x);
    sum = sum + x;
    count++;
  }

  public int getSum()
  {
    return sum;
  }

  public int getLargest()
  {

    return largest;
  }

  public int getSmallest()
  {
    return smallest;
  }

  public static void main(String[] args)
  {
    Scanner kbreader = new Scanner(System.in);
    System.out.println("Enter your first integer: ");
    int num1 = kbreader.nextInt();
    System.out.println("Enter your second integer: ");
    int num2 = kbreader.nextInt();
    System.out.println("Enter your third integer: ");
    int num3 = kbreader.nextInt();
    System.out.println("Enter your fourth integer: ");
    int num4 = kbreader.nextInt();

    P4_6 data = new P4_6();
    data.addValue(num1);
    data.addValue(num2);
    data.addValue(num3);
    data.addValue(num4);

    System.out.println("The largest was " + data.getLargest());
    System.out.println("The smallest was " + data.getSmallest());

  }
}

您不需要使用无参数构造函数。Java编译器默认情况下不添加参数构造函数。您可以删除下面的部分

public P4_6()
{
 sum = 0;
 largest = 0;
 smallest = 0;
 count = 0;
}
如果您想在代码中保留这一部分,那么应该像下面那样初始化变量

public P4_6()
{
 sum = 0;
 largest = Integer.MIN_VALUE;
 smallest = Integer.MAX_VALUE;
 count = 0;
}

您不需要初始化“最小”和“最大”。把它们拿走

public Test()
    {
        sum = 0;
        //largest = 0;
        //smallest = 0;
        count = 0;
    }

Math.min(0,x)
将为每个正
x
返回0。为什么要在构造函数中重置字段?是的,
最大值
最小值
以正确的值开始,但在构造函数中将它们设置为0,这是错误的。看起来像是o型的,或者初始化值太过火了。