给定一个由0,1组成的n*n方阵(n在运行时提醒用户输入),判断其中由全1组成的最大子方阵的左上角位置和阶数。例如用户输入n为5,随机产生的方阵如下:

程序的输出为:最大子方阵位于(2,2),阶数3。

要求编写方法实现上述功能,返回值是一个包含3个元素的数组,依次表示行下标,列下标,阶数。

方法原型:public static int[] findLargestBlock(int[][] m)

package maxsubmatrix;

import java.util.Scanner;

public class MaxSubMatrix {

public static void main(String[] args) {

Scanner input=new Scanner(System.in);

System.out.println("请输入方阵维数n:");

int n=input.nextInt();

int [][] m=new int[n][n];

int []a=new int[3];

//产生一个n*n矩阵,元素为0或1并输出

for(int i=0;i

for(int j=0;j

m[i][j]=(int)(Math.random()*10)%2;

System.out.print(m[i][j]+"\t");

}

System.out.print("\n");

}

a=findLargestBlock(m);

System.out.print("\n");

System.out.println("最大子方阵位于:("+a[0]+","+a[1]+")");

System.out.println("阶数:"+a[2]);

}

//找到最大的全为1的矩阵块

public static int[] findLargestBlock(int [][] m){

boolean t=true;

int []a=new int[3];

int n=m.length;

int i=0,j=0,l=0;

for(l=n;l>=1;l--){ //矩阵维数,从最大开始

for(i=0;i<=n-l;i++){

for(j=0;j<=n-l;j++){

t=true;

for(int x=i;x

for(int y=j;y

if(m[x][y]!=1){ //不为1退出此轮循环

t=false;

break;

}

}

if(t==false) break;

}

if(t==true) break;

}

if(t==true) break;

}

if(t==true) break;

}

a[0]=i;

a[1]=j;

a[2]=l;

return a;

}

}

java最大子方阵_Java实验(5) 最大子方阵相关推荐

  1. java 抛出异常的目的_Java实验八,异常

    一.实验目的 1. 掌握自定义异常类的编写: 2. 掌握使用try-catch语句来处理异常. 二.实验内容及要求 车站检查危险品的设备,如果发现危险品会发出警告.编程模拟设备发现危险品: 1. 编写 ...

  2. java实体类设计_java实验1 实体类的设计-答案

    实验一实体类设计 一.实验时间:姓名:学号: 二.实验目的 1.掌握Java的类结构: 2.掌握实体类的作用: 3.能够对相似对象的共同属性进行抽象: 4.掌握对成员变量的赋值和取值函数编写: 5.理 ...

  3. 用java构造圆类_JAVA实验报告(圆类.doc

    学资学习网程序设计实验报告年月日姓名班级软工班学号课程名称语言程序设计实验项目称名构造方法与继承指导教师一实验目的编写程序定义圆类把圆的性质和行为用代码块封装起来圆的性质包括圆的半径圆心坐标行为包括计 ...

  4. java作品设计报告书_java实验报告书格式模板.doc

    java实验报告书格式模板.doc 广东第二师范学院 计算机科学系 实验报告Java实验报告实验名称 实验分组号 实 验 人 班 级 学 号 实验指导教师 实验场地 实验时间 成 绩 a51ced6b ...

  5. 基于java swing的系统_Java实验--基于Swing的简单的歌曲信息管理系统(三)

    转载请注明出处,上一篇<Java实验--基于Swing的简单的歌曲信息管理系统(二)>介绍了项目的目录结构和Dao层,本篇主要讲解界面的绘制和业务层Service. 登录界面 登录界面设计 ...

  6. java描述空间直线_java实验作业类的定义与描述

    1 //1三角形的定义与描述 2 packagetest;3 4 public classsjx {5 private doublea,b,c;6 7 public sjx(double a, dou ...

  7. java超简单计算器_Java实验--超级简单的计算器

    学了Java的GUI后,做了个super简单的计算器,只能做加法.(萌新日常记录,大佬发现有什么问题欢迎评论区留言) 都是很简单的知识,其中主要涉及GridLayout布局的应用.添加监听器.两个控件 ...

  8. java 内存分配管理_JAVA实验操作系统内存管理-最优分配,最先分配,最坏分配算法...

    package Memory; import java.util.ArrayList; import java.util.Iterator; import java.util.Scanner; pub ...

  9. java实验册_Java实验报告册Java实验报告册.doc

    Java实验报告册Java实验报告册 <面向对象程序设计> 实验报告与习题册2013 / 2014 学年 第1学期系 别 计算机科学与技术系专 业 班 级 姓 名 指导教师 目 录 项 目 ...

最新文章

  1. 2022-2028年中国SIP芯片行业市场前景预测及投资战略研究报告
  2. 使用Spring MVC统一异常处理实战
  3. 卷积神经网络(CNN)模型结构
  4. maven+tomcat8.0+eclipse远程部署项目
  5. careercup-树与图 4.6
  6. GFS(Genetic Fuzzy Systems)—— 基于专家先验规则库和遗传算法相结合的智能体决策算法
  7. 前端学习(2622):过滤器进行操作
  8. python遍历循环中的遍历结构可以是什么_(一)Python入门-4控制语句:06for循环结构-遍历各种可迭代对象-range对象...
  9. 永遠のゼロ       012
  10. ORACLE字符集基础知识
  11. 智能手环和智能手表有啥区别啊?
  12. 数组方法 splice()与slice()的区别
  13. python3.4 + Django1.7.7 表单的一些问题
  14. telnet不是内部命令
  15. Linux keypad 设备树,beaglebone black通过devicetree配置矩阵键盘matrix-keypad
  16. 安卓学习专栏——百度地图(3)配置定位模式为GPS定位功能(图文+代码)
  17. 圣天诺Sentinel、超级狗superdog、阿拉丁HASP等加密狗复制方法!
  18. MAC协议微信自动生成带备注固定收款码免挂机监控协议回调
  19. spring boot 配置文件properties,yml语法学习及属性获取@ConfigurationProperties和@Value
  20. SICP第一章:构造过程抽象(1.1)

热门文章

  1. ESP32彩屏开发板(WT32-SC01),除了买买买,你还可以参与一起设计了
  2. zblog php 指定分类,zblogPHP 为某些分类指定分类模板,后台版方法
  3. 全球大学生超级计算机竞赛排名,清华团队蝉联世界大学生超级计算机竞赛总冠军...
  4. 的微波感知_微波遥感的特点
  5. 文本显示变量_无代码软件开发文本字符显示设计
  6. IDEA阿里巴巴Java开发规约插件使用
  7. ASP.NET MVC 4 (十) 模型验证
  8. Ant学习总结5(配合Ant视频8,9)
  9. 套接字Select I/O模型
  10. dockerfile构建mysql_Dockerfile在linux上构建mysql8镜像并创建数据库-Go语言中文社区