当前位置: 首页 > 知识库问答 >
问题:

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

红存
2023-03-14

我正在制作一个数组,它从1-100生成随机数。然后,在最后,我将从列表中输出最大值和最小值。但是,我不知道如何找到/调用max和min,我尝试使用math方法函数(如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" + ______);

}

}

共有2个答案

慕才
2023-03-14

如果它只有一个颜色,则可以创建另一个临时数组,并使用以下方法对数组进行排序

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;  
        }  
    }  
}

则ArrayName[0]为最小数,ArrayName[ArrayName.Length-1]为最大数。

或者如果有多个颜色

数组[m][n]

for(int i = 0; i < n; i++){
    for(int j = 0; j < m; j++){
        for(int k = 0; k < m - 1 - j; k++){ 
            if(array[k][i] > array[k + 1][i]){
                int temp = array[k][i];
                array[k][i] = array[k + 1][i];
                array[k + 1][i] = temp;
            }
        }
    }
}
胡桐
2023-03-14

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

for(int j=0;j<1;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初始化为最大值。

 类似资料:
  • 主要内容:普通算法,分治算法程序中,我们经常使用数组(列表)存储给定的线性序列(例如 {1,2,3,4}),那么如何查找数组(序列)中的最大值或者最小值呢? 查找数组(序列)中最大值或最小值的算法有很多,接下来我们以 {3,7,2,1} 序列为例讲解两种查找最值的算法,一种是普通算法,另一种是借助 分治算法解决。 普通算法 普通算法的解决思路是:创建两个变量 max 和 min 分别记录数组中的最大值和最小值,它们的初始值都

  • 问题内容: 我的代码没有给出错误,但是没有显示最小值和最大值。代码是: 我是否需要system.out.println()来显示它,否则返回应该起作用吗? 问题答案: 您正在调用方法,但不使用返回的值。

  • 这是一个非常基本的算法(不能再简单了),但我被难住了。我们有一个元素数组,我们必须确定最小值和最大值。 通常的方法是遍历数组,找出最小值和最大值,即2n比较。 稍微有效的方法是首先对数组的连续元素进行比较,以确定任意两个元素的最大值和最小值(N/2比较)。我们现在有n/2 min和n/2 max元素。现在我们可以在n/2+n/2+n/2(前一步)=3/2*n或1.5n中得到最终的max和min 那

  • 问题内容: 上下文:我正在构建一个读取rss feed并在后台更新/检查feed的小站点。我有一个数组来存储要显示的数据,另一个数组来存储已显示的记录的ID。 问题:在事情变慢或变慢之前,数组可以在Javascript中容纳多少个项目。我没有对数组进行排序,但是正在使用jQuery的inArray函数进行比较。 该网站将保持运行状态,并进行更新,并且不太可能经常重启/刷新浏览器。 如果我想从数组中

  • 所以...我有:int array[]={-8,2,0,5,-3,6,0,9}; 我想找到一个最小的正数(在上面的列表中是2)

  • 问题内容: 我想输出二维数组的最大值和最小值。Max可以很好地工作,但是即使在数组中没有零的情况下min也总是输出零。在本例中,我设置为99以防止较小的机会在数组中获得零。继承人完整代码: 问题答案: 由于您在中选择随机值的方式,不会存在小于零的值- 但也无法保证任何值都将恰好为零。但是,您将初始化为零,因为这是数组元素的默认值;没有什么比这更小了,所以答案总是零。 您应该在标记为“查找最小值”的