【发布时间】:2018-01-26 19:13:29
【问题描述】:
import java.util.Scanner;
public class MaxMin {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println("Please enter the arrays value : ");
int userInput = myScanner.nextInt();
int[] myArray = new int[userInput];
System.out.println("please enter the values for arrays : ");
int sum = 0;
int max = myArray[0];
int min = myArray[0];
for (int i = 0; i < myArray.length; i++) {
myArray[i] = myScanner.nextInt();
sum = sum + myArray[i];
}
for (int i = 1; i < myArray.length; i++) {
if (max < myArray[i]) {
max = myArray[i];
}
if (min > myArray[i]) {
min = myArray[i];
}
}
System.out.println("The sum is : " + sum + " \nmax is : " + max + "\nmin is : " + min);
}
}
输出-------------------
请输入数组值: 5 请输入数组的值: 5 63 23 58 6 总和是:155 最大值:63 min is : 0 // 为什么是 0
【问题讨论】:
-
欢迎来到 Stack Overflow!在尝试提出更多问题之前,请阅读Why is “Can someone help me?” not an actual question?。
-
您的代码运行正常。给定您输入
"5 63 23 58 6",您的array 的最小值为0,因为您的数组大小为5(如输入),但您只输入4元素,将最后一个元素留在(默认)值为0) -
在步骤调试器中只需 2 秒就会立即显现出来
-
您需要在数组中插入值之后初始化
min和max变量。在第一个 for 循环之后移动int max = myArray[0]; int min = myArray[0];;