forloop中的Java数组最小元素
好的,我已经做了很长时间了。我在堆栈溢出中处理过类似的问题,但仍然无法使其正常工作。我需要找到数组中的最大值和最小值。试图找到最小值是个问题。从编写单独的方法等方面,我已经尝试了各种方法,但仍然在0中输出。以下是我尝试过的:
import java.util.Scanner;
class ArrayMin {
public static void main(String args[]) {
@SuppressWarnings("resource")
Scanner scanner = new Scanner(System.in);
int a[] = new int[10];
int max = a[0];
int min = a[0];
System.out.println("Enter elements of array :");
for (int i = 0; i < 10; i++) {
a[i] = scanner.nextInt();
if (i == 9)
break;
}
for (int i = 1; i < a.length; i++) {
if (a[i] > max)
max = a[i];
else if (a[i] < min)
min = a[i];
}
System.out.println("Result is max is :" + (max)); //if I input 1-10, output is 10
System.out.println("Result is min is :" + (min)); //whatever number I input the output is always 0
}
}
# 1 楼答案
替换这个
# 2 楼答案
声明数组时,它将初始化为全零。然后将
min
分配给第一个元素,即零。大概所有值都是>;=一旦它们被赋值,那么min
仍然是零,但是max
是正确的在为数组分配输入值的
max
循环之后建立min