【问题标题】:What is the wrong with my code? MIN is not showing [duplicate]我的代码有什么问题? MIN未显示[重复]
【发布时间】: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 秒就会立即显现出来
  • 您需要在数组中插入值之后初始化minmax 变量。在第一个 for 循环之后移动 int max = myArray[0]; int min = myArray[0];

标签: java arrays


【解决方案1】:

在实际输入 myArray 值之前,您已将 minMax 分配给 myArray[0]

由于myArray 的默认值为零,因此将最小值分配为零。

【讨论】:

    猜你喜欢
    • 2021-11-24
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    相关资源
    最近更新 更多