本文介绍了找到最大和最小数的指数在2D阵列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的难倒试图找到一个5x5的阵列的最大和最小的数字随机数高达1000产生到他们的指数。在这里,我的code:

 导入了java.util.Random;

公共类MaxMinArray {

    公共静态无效的主要(字符串的args []){

    INT X = 0,Y = 0,最大= 0,最小= 1000 ;;
    INT [] []号码=新INT [5] [5];

    为(X = 0; X  - 其中; numbers.length; X ++){//用于外
        对于(Y = 0; Y< numbers.length; Y ++){//内的
            号码[X] [Y] =(INT)(的Math.random()* 1000); //随机数发生器

            如果(MAX<数字[X] [Y])//最大数量
                最大=数字[X] [Y]

            如果(分>数字[X] [Y])//分钟数
                分=数字[X] [Y]

            INT maxIndex = 0;

            对于(INT指数= 1;指数< numbers.length;指数++)
                如果(编号[maxIndex]<数字[指数])
                    maxIndex =指数;
            }
        }
        的System.out.println(数组中的最大数:+ MAX +);
        的System.out.println(最大数目是+ maxIndex +);
        的System.out.println(数组中最小数:+分钟+);
    }
}
 

解决方案

您应该跟踪的两个 X 最大/最小元素的索引。无需后期处理,这簿记只是一个问题:

 如果(MAX<数字[X] [Y]){
    最大=数字[X] [Y]
    MAXX = X;
    MAXY = Y;
}
 

I'm really stumped trying to find the index of the largest and smallest numbers of a 5x5 array with random numbers up to 1000 generated into them. Here my code:

import java.util.Random;

public class MaxMinArray {

    public static void main (String args[]) {

    int x=0, y=0, max=0, min=1000;;
    int[][] numbers = new int[5][5];

    for (x=0; x<numbers.length; x++) {                  //outer for
        for(y=0; y<numbers.length; y++) {               //inner for
            numbers[x][y]= (int)(Math.random()*1000);   //random generator

            if(max < numbers[x][y])                     //max number
                max = numbers[x][y];

            if(min>numbers[x][y])                       //min number
                min = numbers[x][y];

            int maxIndex = 0;

            for(int index = 1; index<numbers.length; index++)
                if(numbers[maxIndex]< numbers[index])
                    maxIndex = index;
            }
        }
        System.out.println("Max number in array:" + max + " ");
        System.out.println("Max number is in" + maxIndex + " ");
        System.out.println("Min number in array:" + min + " ");
    }
}
解决方案

You should keep track of both the x and y index of the maximum/minimum element. No need to post-process, it's just a matter of bookkeeping:

if(max < numbers[x][y]) {
    max = numbers[x][y];
    maxX = x;
    maxY = y;
}

这篇关于找到最大和最小数的指数在2D阵列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-30 09:58