另一种方法,它将一个表和一个布尔值作为参数。如果此布尔变量设置为“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(" ");
{
}}
}
}
答案 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;
}