下面的代码适用于最大值,但适用于它显示的最小值:对于我输入的任何 3 个值,最小数字为 0。非常感谢任何帮助。
import java.util.Scanner;
class MyClass{
public static void main(String[] args) {
// declare and create array object
// declare smallest and largest int variables
int[] numbers;
numbers = new int[3];
int smallest = numbers[0], largest = numbers[0];
// create Scanner object
Scanner input = new Scanner(System.in);
// prompt user
System.out.print("Please enter 3 numbers: \n");
// use for loop to obtain user input
for (int counter = 0; counter < numbers.length; counter++) {
numbers[counter] = input.nextInt();
} // end obtaining input
// for loop to find largest and smallest values
for (int i=0 ;i< numbers.length; i++) {
if (numbers[i] < smallest) {
smallest = numbers[i];
} // end finding smallest
if (numbers[i] > largest) {
largest = numbers[i];
} // end finding largest number
}
System.out.println("largest number is "+largest);
System.out.println("smallest number is "+smallest);
}
}
最佳答案
此处,Smallest 始终初始化为 0:intsmallest=numbers[0]
。除非用户输入小于 0 的值,否则最小值将保持为 0。请使用 Integer.MAX_VALUE
(intsmallest = Integer.MAX_VALUE
) 来确保最小的数字将实际被选中。
关于Java程序: finding smallest and largest number of 3 numbers in an array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30580557/