【发布时间】:2018-11-20 06:33:31
【问题描述】:
import java.util.Scanner;
class Compare
{
int max = 0;
int min = 0;
public void max(int num)
{
if(num > max)
{
max = num;
}
}
public void min(int num)
{
if(num < min)
{
min = num;
}
}
}
class Main
{
public static void main(String args[])
{
Compare compare = new Compare();
Scanner input = new Scanner(System.in);
int sets = input.nextInt();
for (int i = 0; i < sets ; i++)
{
for (int j = 0; j < 5; j++)
{
int num_main = input.nextInt();
compare.max(num_main);
compare.min(num_main);
}
System.out.println(compare.max);
System.out.println(compare.min);
}
}
}
我想计算来自用户的五个输入的最大值和最小值,我设法获得最大值但未能获得最小值,而是得到 0 作为我之前在比较类中初始化的最小值。我怎样才能以最简单的方式获得最小值
【问题讨论】:
-
将比较类中的 min 变量设置为 Integer.MAX_VALUE
-
并将最大变量设置为 Integer.MIN_VALUE
-
使用可空的
Integer类并将其定义为空,然后也针对空进行测试 -
它给你 0 因为你总是将 0 视为小于任何正整数的初始值。如果您想检查将 -1 作为输入,您将了解它的流程。
标签: java class methods max min