将一个表和一个布尔值作为参数的方法

时间:2014-07-11 07:07:09

标签: java boolean

另一种方法,它将一个表和一个布尔值作为参数。如果此布尔变量设置为“true”,则此方法返回表中的最大数字,其他情况返回最小数字。

我该怎么做;有人可以帮忙吗?

这是我的代码:

import java.util.Random;    
public class Assignment2 {    
    public static void main(String[] args) {    
        int[][] array = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };          
        yaz(array);
        System.out.println("");
        rakamdanArray(9, 3);        
        }

    public static int[][] rakamdanArray(int m, int n) {    
        int[][] tableArray = new int[m][n];    
        Random r = new Random();    
        for (int a = 0; a < m; a++) {
                for (int b = 0; b < n; b++) {    
                int rakam = r.nextInt(1000);    
                tableArray[a][b] = rakam;    
                System.out.print(tableArray[a][b] + "|| ");    
            }
                System.out.println(" ");
                    }    
        return tableArray;    
    }   

第二步

    public static void yaz(int[][] array) {    
        for (int a = 0; a < array.length; a++) {    
            for (int b = 0; b < array[0].length; b++) {
                System.out.print(array[a][b] + " ");    
            }    
            System.out.println(" ");       

            {               
            }}  
    }   
}

2 个答案:

答案 0 :(得分:0)

我在表中假设你是指一个二维数组。 使用sepperate方法计算最小值和最大值并用第三种方法调用它们会更有意义。

private int getMinMax(int[][] table, boolean max){
    if(max) return max(table);
    else return min(table);
}

private int min(int[][] table){
    int tempMin = int[0][0];

    for(int i = 0; i < table.length; i++)
        for(int j = 1; j < table[i].length; j++)
            if(table[i][j] < tempMin) tempMin = table[i][j];

    return tempMin;

}

 private int max(int[][] table){
    int tempMax = int[0][0];

    for(int i = 0; i < table.length; i++)
        for(int j = 1; j < table[i].length; j++)
            if(table[i][j] > tempMax) tempMax = table[i][j];

    return tempMax;

}

答案 1 :(得分:0)

这将有助于您:

public static int find(int[][] matrix, boolean flag) {
    int ans = 0;

    if (flag) {
        ans = matrix[0][0];
        for (int col = 0; col < matrix.length; col++) {
            for (int row = 0; row < matrix[col].length; row++) {
                if (ans < matrix[col][row]) {
                    ans = matrix[col][row];
                }
            }
        }
    } else {
        ans = matrix[0][0];
        for (int col = 0; col < matrix.length; col++) {
            for (int row = 0; row < matrix[col].length; row++) {
                if (ans > matrix[col][row]) {
                    ans = matrix[col][row];
                }
            }
        }
    }
    return ans;
}