10x10二维数组和搜索最小值,最大值及其索引位置

时间:2015-11-22 14:59:03

标签: java arrays for-loop

int[][] numList = new int[10][10];
        int column;
        for (int row = 0; row < 10; row++) {
            for (column = 0; column < 10; column++) {
                numList[row][column] = (int) (Math.random() * 100);
                System.out.print(numList[row][column] + "\t");
            }
            System.out.println("");
        }

2 个答案:

答案 0 :(得分:0)

您的代码只是将数据插入到二维数组中。要查找最小和最大内部数组及其相应的索引,您需要编写一个函数search,如下所示:

public class prog{

    public void search(  int[][] numList )
 {
     int max=0;
     int maxX=0;
     int maxY=0;
     int min=0;
     int minX=0;
     int minY=0;
     for (int row = 0; row < 10; row++) {
            for (int column = 0; column < 10; column++) {
                if( min >  numList[row][column])
                {
                     min = numList[row][column];
                     minX=row;
                     minY= column;
                }
                if( max <  numList[row][column])
                {
                    max= numList[row][column];
                    maxX=row;
                    maxY=column;
                }
            }
     }
      System.out.print("MinX:"+ minX+ " MinY: "+ minY+ " MaxX:"+ maxX+ " MaxY:"+ maxY);
 }
public static void main(String[] args){

        int[][] numList = new int[10][10];
        int column;
        for (int row = 0; row < 10; row++) {
            for (column = 0; column < 10; column++) {
                numList[row][column] = (int) (Math.random() * 100);
                System.out.print(numList[row][column] + "\t");
            }
            System.out.println("");
        }
        prog obj = new prog();
        obj.search( numList);

}

答案 1 :(得分:0)

public class Test1 {
public static void main(String[] args) {
    int numList[][]=new int[10][10]; 
    int max=0;
    int min=999;
    int minX=0;
    int maxX=0;
    int minY=0;
    int maxY=0;
    for (int row = 0; row < 10; row++) {
        for (int column = 0; column < 10; column++) {
                int num=(int)(Math.random()*100);
                numList[row][column] = num;
                if(num>max){
                    max=num;
                    maxX=row;
                    maxY=column;
                }
                if(num<min){
                    min=num;
                    minX=row;
                    minY=column;
                }
                System.out.print(numList[row][column] + "\t");
         }
                System.out.println("");
    }
    System.out.println("Max value=>"+max+"["+maxX+","+maxY+"]");
    System.out.println("Min value=>"+min+"["+minX+","+minY+"]");
}

}