【问题标题】:Minimum value returning 0 on an array (goal is to find max and min)在数组上返回 0 的最小值(目标是找到最大值和最小值)
【发布时间】:2011-12-09 02:56:06
【问题描述】:

提前致谢。当我打印这个数组的最小值时,我无法弄清楚为什么我的代码给我带来了麻烦。它似乎保留了 min 的初始 0 值,但我不知道如何纠正这个问题。麦克斯工作正常。我是否在程序的错误部分设置了最大值和最小值?

另外,这是我第一次分配数组,所以我以后可能会对打印下标有一些疑问。

再次感谢!

编辑-据我所知,这解决了问题。谢谢丹·W。

 for (int i = 0; i < NUMBER_OF_ELEMENTS; i++) {
        System.out.print("Enter a new number. This will continue until "
                + "you reach the size of the array. ");
        arrayOfNumbers[i] = keyboard.nextInt();
    }
            int max = arrayOfNumbers[0];
            int min = arrayOfNumbers[0];

package program8;

import java.util.Scanner;

public class arrayPrint {

    public static void main(String[] args) {
        final int NUMBER_OF_ELEMENTS;
      Scanner keyboard = new Scanner(System.in);
        System.out.print("Enter the amount of numbers the array will read in. ");
        NUMBER_OF_ELEMENTS = keyboard.nextInt();
                int arrayOfNumbers[] = new int[NUMBER_OF_ELEMENTS];
                int max = arrayOfNumbers[0];
                int min = arrayOfNumbers[0];
        for (int i = 0; i < NUMBER_OF_ELEMENTS; i++) {
            System.out.print("Enter a new number. This will continue until "
                    + "you reach the size of the array. ");
            arrayOfNumbers[i] = keyboard.nextInt();
        }
        for (int i = 0; i < arrayOfNumbers.length; i++) {
            if (max <= arrayOfNumbers[i])
                max = arrayOfNumbers[i];
        }
        for (int i = 0; i < arrayOfNumbers.length; i++) {
            if (min >= arrayOfNumbers[i])
                min = arrayOfNumbers[i];
        }
                System.out.print(+max+ "max and " +min+ " min");
        }


}

【问题讨论】:

    标签: arrays max min subscript


    【解决方案1】:

    您输入的是什么值?因为 int 的默认值为 0:here 因此,如果您只输入正数,则最小值将始终为 0。

    为避免这种情况,请在用户输入数字后初始化 min 和 max,这样 max 和 min 不会默认为 0。

    【讨论】:

    • 喜欢上面的吗? (我不知道如何在 cmets 中放置代码而不让它看起来很糟糕,所以它在编辑中,在原来的上方。我是这样工作的。我以前试过这个但它没有用,因为我把它放在里面第一个 for 循环的括号。谢谢!看起来对吗?
    • 是的,我当时只输入了正数。谢谢
    • 是的,看起来不错。希望它有效。如果这解决了您的问题,请接受答案。
    • 我会,但我不太确定你的意思——当它询问帖子是否有用时,我点击了“是”,但我没有给你投票的声誉。还有什么我应该做的吗?没关系!找到了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-07-04
    • 2021-09-15
    • 1970-01-01
    • 2018-05-03
    • 2018-07-16
    • 2012-06-21
    • 2014-09-14
    相关资源
    最近更新 更多