用java打印最小的数字
我需要获取用户输入,让程序运行所有的方法和内容,以输出最大和最小的数字。我让它打印最大的,但它总是有最小的0。这可能很容易修复,但现在是季度末,我强调要完成最后一个。这是我的密码用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
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型的,或者初始化值太过火了。