用JAVA定义一个二维整形数组data[5][6],数组中的元素在区间[0, 100)上随机赋值。找出数组中所有的具有这类性质的元素及其位置:该元素在所在行是最大的,在其所在列也是最大的。如果没有这样的元素,则输出“没有这样的元素
时间: 2024-05-19 14:14:37 浏览: 90
public class Main {
public static void main(String[] args) {
int[][] data = new int[5][6];
// 随机生成数组元素
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
data[i][j] = (int) (Math.random() * 100);
}
}
// 输出原始数组
System.out.println("原始数组:");
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
System.out.print(data[i][j] + "\t");
}
System.out.println();
}
// 查找符合条件的元素及其位置
boolean flag = false;
for (int i = 0; i < data.length; i++) {
for (int j = 0; j < data[i].length; j++) {
int maxRow = data[i][j];
int maxCol = data[i][j];
// 判断所在行是否最大
for (int k = 0; k < data[i].length; k++) {
if (data[i][k] > maxRow) {
maxRow = data[i][k];
}
}
// 判断所在列是否最大
for (int k = 0; k < data.length; k++) {
if (data[k][j] > maxCol) {
maxCol = data[k][j];
}
}
// 如果找到符合条件的元素则输出
if (data[i][j] == maxRow && data[i][j] == maxCol) {
System.out.println("符合条件的元素为:" + data[i][j] + ",位置为[" + i + "][" + j + "]");
flag = true;
}
}
}
// 如果没有符合条件的元素则输出提示信息
if (!flag) {
System.out.println("没有这样的元素。");
}
}
}
阅读全文