📄 dort.java
字号:
//【习2.26】 求二维数组的鞍点。
public class Dort
{
public static void main(String args[])
{
int[][] mat = {{1,2,3},{4,5,6},{7,8,9}};
// int[][] mat = {{9,8,7},{6,5,4},{3,2,1}};
// int[][] mat = {{1,2,9},{4,5,6},{7,8,3}};
for (int i=0;i<mat.length;i++) //输出二维数组元素
{
for (int j=0;j<mat[i].length;j++) //i、j是行、列下标
System.out.print(" "+mat[i][j]);
System.out.println();
}
boolean find = false; //找到鞍点标记
int row=0; //第1行下标
int max=0; //记录当前行最大值的列下标
while (!find && row<mat.length)
{
max=0; //初始设每行第1列值最大
for (int j=1;j<mat[row].length;j++) //在row行上找最大值
if (mat[row][j]>mat[row][max]) //mat[row][max]为该行最大值
max = j;
boolean yes = true; //再判断mat[row][max]是否在列上最小
int j=0;
while (yes && j<mat.length)
{
if (j!=row && mat[j][max]<mat[row][max]) //在列上找到更小值,则不是鞍点
yes = false;
j++;
}
if (yes)
find = true;
else
row++;
}
if (find)
System.out.println("The dort: "+mat[row][max]);
else
System.out.println("The dort: null");
}
}
/*
程序运行结果如下:
1 2 3
4 5 6
7 8 9
The dort : 3
9 8 7
6 5 4
3 2 1
The dort : 3
1 2 9
4 5 6
7 8 3
The dort : null
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -