java-在输入的一组数字中查找最小值/最大值
使用while循环,我必须执行以下操作:java-在输入的一组数字中查找最小值/最大值,java,max,minimum,Java,Max,Minimum,使用while循环,我必须执行以下操作: 使用变量“i”,计算输入的整数数量;使用变量“number”,表示输入的数字;使用变量“min”,表示迄今为止输入的最小数字;使用变量“max”,表示迄今为止输入的最大数字。 用户将总共输入5个整数 这是我的代码: import java.util.Scanner; public class MinMax { public static void main(String[] args) { int i = 1; while (i
使用变量“i”,计算输入的整数数量;使用变量“number”,表示输入的数字;使用变量“min”,表示迄今为止输入的最小数字;使用变量“max”,表示迄今为止输入的最大数字。
用户将总共输入5个整数 这是我的代码:
import java.util.Scanner;
public class MinMax
{
public static void main(String[] args)
{
int i = 1;
while (i <= 5)
{
int smallest = 0;
int largest = 0;
System.out.println("Enter number: ");
Scanner input = new Scanner(System.in);
int number = input.nextInt();
System.out.println("Amount of numbers entered: " + i);
System.out.println("Number entered: " + number);
if (number < min)
{
min = number;
}
System.out.println("Smallest # so far: " + min);
if (number > max)
{
max = number;
}
System.out.println("Largest # so far: " + max);
i++;
}
}
}
import java.util.Scanner;
公共类极小值
{
公共静态void main(字符串[]args)
{
int i=1;
而(i最大值)
{
最大值=数量;
}
System.out.println(“迄今为止最大的:+max);
i++;
}
}
}
当我运行这个时,“I”、“number”和“maximum”变量似乎都能正常工作。但是,“minimum”变量要记住,“minimum”的设置数是0。有没有办法解决这个问题,这样,如果我在第一个数字中输入数字10,在第二个数字中输入数字2,代码将显示最小值为“2”,而不是“0”
谢谢 将代码更改为
int smallest = Integer.MAX_VALUE;
int largest = Integer.MIN_VALUE;
因此,当您寻找最小的数字时,它会将最大整数值与当前元素进行比较,当前元素肯定更小或相等。因此,它要么是正确的,要么将被更新。类似地,最大值
顺便说一下,这两个必须在循环之外声明。将代码更改为
int smallest = Integer.MAX_VALUE;
int largest = Integer.MIN_VALUE;
因此,当您寻找最小的数字时,它会将最大整数值与当前元素进行比较,当前元素肯定更小或相等。因此,它要么是正确的,要么将被更新。类似地,最大值
顺便说一下,这两个变量必须在循环之外声明。首先,您需要将
min
和max
变量移出循环
然后,您应该修复实现min
/max
时的经典错误:您应该
- 在
Integer.MAX\u值处开始
,在min
Integer.min\u值处开始
,或MAX
- 在输入的第一个值处同时启动
和min
max
int min = 0, max = 0, i = 0;
while (i < 5) {
System.out.println("Enter number: "+(i+1));
Scanner input = new Scanner(System.in);
if (i == 0) {
min = max = input;
} else {
... // Do the conditions to determine if input is a new min or a max
}
}
intmin=0,max=0,i=0;
而(i<5){
System.out.println(“输入编号:”+(i+1));
扫描仪输入=新扫描仪(System.in);
如果(i==0){
最小=最大=输入;
}否则{
…//执行条件以确定输入是新的最小值还是最大值
}
}
首先,您需要将min
和max
变量移出循环
然后,您应该修复实现min
/max
时的经典错误:您应该
- 在
Integer.MAX\u值处开始
,在min
Integer.min\u值处开始
,或MAX
- 在输入的第一个值处同时启动
和min
max
int min = 0, max = 0, i = 0;
while (i < 5) {
System.out.println("Enter number: "+(i+1));
Scanner input = new Scanner(System.in);
if (i == 0) {
min = max = input;
} else {
... // Do the conditions to determine if input is a new min or a max
}
}
intmin=0,max=0,i=0;
而(i<5){
System.out.println(“输入编号:”+(i+1));
扫描仪输入=新扫描仪(System.in);
如果(i==0){
最小=最大=输入;
}否则{
…//执行条件以确定输入是新的最小值还是最大值
}
}