多次从用户处获取五个输入的最大值和最小值 package.com公司; 导入java.util.Scanner; 班级比较 { 整数最大值; 最小整数; 公共无效最大值(整数) { 如果(max==null) max=num; 否则,如果(数值>最大值) max=num; } 公共无效最小值(整数) { if(min==null) min=num; 否则如果(num
我想计算用户五个输入的最大值和最小值,我设法得到最大值和最小值,但如果我测试两组,我得不到正确的最大值,而是得到以前的最大值作为我的最大值。如何以最简单的方式获得最大值多次从用户处获取五个输入的最大值和最小值 package.com公司; 导入java.util.Scanner; 班级比较 { 整数最大值; 最小整数; 公共无效最大值(整数) { 如果(max==null) max=num; 否则,如果(数值>最大值) max=num; } 公共无效最小值(整数) { if(min==null) min=num; 否则如果(num,java,class,methods,max,min,Java,Class,Methods,Max,Min,我想计算用户五个输入的最大值和最小值,我设法得到最大值和最小值,但如果我测试两组,我得不到正确的最大值,而是得到以前的最大值作为我的最大值。如何以最简单的方式获得最大值 最小的变化是在第一个循环中移动比较,这样每次输入新的“集合”时,它都会找到新的最大值(和最小值) package com.company; import java.util.Scanner; class Compare { Integer max; Integer min; public void
最小的变化是在第一个循环中移动
比较
,这样每次输入新的“集合
”时,它都会找到新的最大值
(和最小值
)
package com.company;
import java.util.Scanner;
class Compare
{
Integer max;
Integer min;
public void max(int num)
{
if (max == null)
max = num;
else if(num > max)
max = num;
}
public void min(int num)
{
if (min == null)
min = num;
else 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);
}
}
}
for(int i=0;i
当您在此循环之前进行比较时,它将保留输入的每组数字的值。
您希望它在输入的每一组数字中找到max
和min
。在移动到下一个循环之前,您必须还原compare
对象。在代码中修改一点:
package com.company;
import java.util.Scanner;
class Compare
{
Integer max;
Integer min;
public void max(int num)
{
if (max == null)
max = num;
else if(num > max)
max = num;
}
public void min(int num)
{
if (min == null)
min = num;
else 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);
}
}
}
for (int i = 0; i < sets ; i++)
{
Compare compare = new Compare();
//...
//as you were
}
考虑无限循环
和使其终止的条件。
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);
compare.max = compare.min = null;
}