北工大咸鱼 2022-04-18 16:17 采纳率: 100%
浏览 50
已结题

在运行结果那出现了问题,莫名其妙循环了好多次

问题遇到的现象和发生背景
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class linkone {
    public static void MinMax(int A[][]) throws IOException{
         int  M;
           int N;
            int  i,j;
            int min=0;
            int t=0;
            String strM;
            String strN;
            String tempstr;
            BufferedReader keyin=new BufferedReader(new InputStreamReader(System.in)); 
            System.out.println("请输入矩阵A的维数(M,N):");
            System.out.println("请输入矩阵A的M值");
            strM=keyin.readLine();
            M=Integer.parseInt(strM);
            System.out.println("请输入矩阵A的N值");
            strN=keyin.readLine();
            N=Integer.parseInt(strN);
            A=new int[M][N];
            System.out.println("请输入矩阵A的各个元素");
            System.out.println("请输入值后按enter确认");
            for(i=0;i<M;i++) 
            {
                for(j=0;j<N;j++) 
                {
                    System.out.println("a"+i+j+"=");
                    tempstr=keyin.readLine();
                    A[i][j]=Integer.parseInt(tempstr);
                }
            }
            System.out.println("需要查找马鞍点的数组为");//打印数组A
            for(int v=0;v<M;v++) 
            {
            for(int p=0;p<N;p++) 
                System.out.print(A[v][p]+"  ");
                System.out.println();
            }
        
           for(int w=0;w<M;w++) 
            {
               min=A[w][0];
               for (int r=0;r<N;r++) 
               {
                   if(A[w][0]>A[w][r]) 
                   {
                       min=A[w][r];
                       t=r;
                   }
                   int max=min;
                   for(int k=0;k<M;k++) 
                   {
                       if(max>A[k][t]) 
                       {int count=0;
                       count++;
                       System.out.println("第"+count+"马鞍点为"+A[w][r]);
                       }  else {
                           System.out.println("此列不存在马鞍点");
                       }
                   }
                   }
            }
               }
                       
    public static void main(String[] args) throws IOException {
               int [][]A = null;
                linkone.MinMax(A);
    }
}

![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/031667962056142.png "#left")


问题相关代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

3条回答 默认 最新

  • 关注

    你这是循环嵌套判断,不符合鞍点的列就会输出。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月26日
  • 已采纳回答 4月18日
  • 创建了问题 4月18日

悬赏问题

  • ¥30 win from 窗口最大最小化,控件放大缩小,闪烁问题
  • ¥20 易康econgnition精度验证
  • ¥15 msix packaging tool打包问题
  • ¥28 微信小程序开发页面布局没问题,真机调试的时候页面布局就乱了
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致