微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从数组中的数字中找到最大和最小数字

如何解决如何从数组中的数字中找到最大和最小数字

我正在制作一个从 1 到 100 生成随机数的数组。然后,最后,我将从列表中输出最大和最小数字。但是,我不知道如何使用 Math.min() 之类的数学方法函数尝试找到/调用最大和最小数字,但我认为它不适用于数组。这是我的代码(下划线是我想在最大和最小数字中调用但我不知道如何调用的地方)。

public class MaxMin {

public static void main(String[] args) {

    int max = 0;
    int min = 0;
    int hold = 0;
    System.out.println("#" + "\t\t" + "Number");
    int[][] numberArray= new int [10][1];
    for(int i=0;i<10;i++)
    {
        System.out.print((i+1)+"\t\t");
        for(int j=0;j<1;j++)
        {
            numberArray[i][j] = (int)(Math.random()*100)+1;
            System.out.print(numberArray[i][j] + "\t\t");
        }
        System.out.println();
    }
    System.out.println("Max: " + "\t\t" + ______);
    System.out.println("Min: " + "\t\t" + ______);

}

}

解决方法

当你生成随机数时,你应该将它与你的最小和最大变量进行比较,如果它大于最大值或小于最小值,你应该更新这些变量的值,如下所示:

for (int j=0;j<n;j++)
{
    numberArray[i][j] = (int)(Math.random()*100)+1;
    if (numberArray[i][j] > max)
        max = numberArray[i][j];
    if (numberArray[i][j] < min)
        min = numberArray[i][j];
    System.out.print(numberArray[i][j] + "\t\t");
}

这样你就可以避免多次迭代你的数组。 另外,请考虑如何初始化 max 和 min 变量。您可以在循环外生成随机数并将第一个值分配给 max 和 min,因为如果您将 min 初始化为零并且您只生成正整数,例如, min 永远不会改变。 您应该在代码的开头将 max 初始化为最小值(在本例中为 0),将 min 初始化为最大值。

,

如果它只有一列,那么您可以创建另一个临时数组并使用

对数组进行排序
flex-direction: column-reverse;

/ by

@media (min-width: 768px) {
    .onderkant{
        display: none;
    }
}

然后

  • Arrays.sort(arrayname); 是最小数和
  • for (int i = 0; i < arrayname.length; i++) { for (int j = i + 1; j < arrayname.length; j++) { int tmp = 0; if (arrayname[i] > arrayname[j]) { tmp = arr[i]; arrayname[i] = arrayname[j]; arrayname[j] = tmp; } } } 是最大数量

或者如果有多个列则

数组[m][n]

arrayname[0]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。