Java语言程序设计(基础篇)第八章(2 19 36)
第二题(求矩阵主对角线元素的和)
import java.util.Scanner;
public class Text {public static void main(String[] args) {
System.out.println("Enter a 4-by-4 matrix row by row:");Scanner input = new Scanner(System.in);
double[][] m=new double[4][4];for(int i=0;i<4;i++) {
for(int j=0;j<4;j++)
m[i][j]=input.nextDouble();
}input.close();
System.out.print("Sum of tne elements in the major diagonal is "+sumMajorDiagonal(m));
}public static double sumMajorDiagonal(double[][] m) {
return m[0][0]+m[1][1]+m[2][2]+m[3][3];}
}
结果如下:
第十九题(模式识别:连续的四个相等的数)
import java.util.Scanner;public class Text {public static void main(String[] args) {int[][] matrix = creatMatrix();boolean fourEqualNumbers = isHasFourEqualNumbers(matrix);if (fourEqualNumbers)System.out.println("false");elseSystem.out.println("true");}//创建并接收二维数组public static int[][] creatMatrix(){Scanner input = new Scanner(System.in);System.out.print("Enter the number of rows in the array: ");int row = input.nextInt();System.out.print("Enter the number of columns in the array: ");int column = input.nextInt();input.close();int[][] matrix = new int[row][column];System.out.println("Enter this matrix: ");for (int i = 0; i < row; i++){for (int j = 0; j < column; j++){matrix[i][j] = input.nextInt();}}return matrix;}//判断是否有连续的四个数public static boolean isHasFourEqualNumbers(int[][] matrix){return lineHas(matrix) || columnHas(matrix) || principalDiagonalHas(matrix) || viceDiagonalHas(matrix);}//判断行(水平)public static boolean lineHas(int[][] matrix){for (int row = 0; row < matrix.length; row++){for (int column = 0; column <= matrix[row].length - 4; column++){if ((matrix[row][column] == matrix[row][column + 1]) &&(matrix[row][column] == matrix[row][column + 2]) &&(matrix[row][column] == matrix[row][column + 3]))return true;}}return false;}//判断列(垂直)public static boolean columnHas(int[][] matrix){for (int column = 0; column < matrix[0].length; column++){for (int row = 0; row <= matrix.length - 4; row++){if ((matrix[row][column] == matrix[row + 1][column]) &&(matrix[row][column] == matrix[row + 2][column]) &&(matrix[row][column] == matrix[row + 3][column]))return true;}}return false;}//判断主对角线public static boolean principalDiagonalHas(int[][] matrix){for (int row = 0; row <= matrix.length - 4; row++){for (int column = 0; column <= matrix[0].length - 4; column++){if ((matrix[row][column] == matrix[row + 1][column + 1]) &&(matrix[row][column] == matrix[row + 2][column + 2]) &&(matrix[row][column] == matrix[row + 3][column + 3]))return true;}}return false;}//判断副对角线public static boolean viceDiagonalHas(int[][] matrix){for (int row = 3; row < matrix.length; row++){for (int column = 0; column <= matrix[0].length - 4; column++){if ((matrix[row][column] == matrix[row - 1][column + 1]) &&(matrix[row][column] == matrix[row - 2][column + 2]) &&(matrix[row][column] == matrix[row - 3][column + 3]))return true;}}return false;}}
结果如下:
第三十六题(拉丁正方形)
import java.util.Scanner;
import java.util.Arrays;
public class Text {public static void main(String[] args) {
System.out.print("Enter number n:");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
System.out.println("Enter "+n+" rows of letters separated by spaces:");char[][] matrix = new char[n][n]; //二维数组 char型
String temp = null;
for(int i = 0; i < n; ++i){
for(int j = 0; j < n; ++j){
temp = input.next();
matrix[i][j] = temp.charAt(0); //将字符串转换成数组if(matrix[i][j]>('A'+n-1)) System.out.println("Wrong input: the letters separated must be from A to "+((char)('A'+n-1)));
}
}int[] record = new int[n];
Arrays.fill(record, 0); //将0填充到record中for(int i = 0; i < n; ++i){
for(int j = 0; j < n; ++j){
++record[(int)(matrix[i][j]-'A')];
}
}for(int i = 0; i < n; ++i){
for(int j = 0; j < n; ++j){
++record[(int)(matrix[j][i] - 'A')];
}
}boolean flag = true;
for(int i = 0; i < n; ++i){
if(record[i] != 2*n){
flag = false;}}
if(flag==true)
System.out.println("The input array is a Latin square");
else System.out.println("The input array is not a Latin square");}
}
结果如下:
(以上若有错误请指出 谢谢)
Java语言程序设计(基础篇)第八章(2 19 36)相关推荐
- Java语言程序设计 基础篇 原书第10版 ,梁勇著,百度云链接及密码
一本好书,对java小白来说是一本非常不错的书.第一次分享,请大家多多指教, Java语言程序设计 基础篇 原书第10版 ,梁勇著 链接:https://pan.baidu.com/s/1-MN_AS ...
- JAVA程序设计第十版梁勇著答案_0031 Java学习笔记-梁勇著《Java语言程序设计-基础篇 第十版》英语单词...
第01章 计算机.程序和Java概述 CPU(Central Processing Unit)*中央处理器 Control Unit*控制单元 arithmetic/logic unit /ə'rɪθ ...
- [转载] java语言程序设计-基础篇
参考链接: Java中的决策制定(if,if-else,switch,break,continue,jump) 第1章,计算机.程序和Java概述 包括[每个java初学者都应该搞懂的问题] http ...
- java语言程序设计-基础篇
第1章,计算机.程序和Java概述 包括[每个java初学者都应该搞懂的问题] http://blog.csdn.net/haobo920/article/details/5784990 1,java ...
- 《java语言程序设计-基础篇》笔记一
第一章.计算机.程序和java概述 中央处理器 CPU由两部分组成:控制单元和算术/逻辑单元 控制单元用于控制和协调除CPU之外其他组件的动作 算术/逻辑单元用于完成数值运算和逻辑运算 每台计算机都有 ...
- Java语言程序设计(基础篇) 第十一章 继承和多态
第十一章 继承和多态 11.1 引言 面向对象的编程允许你从已经存在的类中定义新的类,这称为继承. 11.2 父类和子类 1.继承使得你可以定义一个通用的类(既父类),之后扩充该类为一个更加特定的类( ...
- Java语言程序设计(基础篇) 第十章 面向对象思考
第十章 面向对象思考 10.2 类的抽象和封装 1.类的抽象是指将类的实现和类的使用分离开,实现的细节被封装并且对用户隐藏,这被称为类的封装. 2.从类外可以访问的方法和数据域的集合以及预期这些成员如 ...
- Java语言程序设计(基础篇) 第二章
第二章 基本程序设计 2.2 编写简单的程序 1.变量名尽量选择描述性的名字(descriptive name). 2.实数(即带小数点的数字)在计算机中使用一种浮点的方法来表示.因此,实数也称为浮点 ...
- java语言程序设计基础篇14.6答案_《Java语言程序设计-基础篇》答案-第15章
第15章 异常和断言 复习题 15.1 答:略 15.2 答:声明异常是为了在方法中产生异常时,以便通知方法的调用者. 在方法声明的头部使用关键字throws 声明,一个方法可以声明多个异常.如: p ...
- 《java语言程序设计 基础篇》原书第10版 PDF版 梁勇著 戴开宇译
方式一:百度网盘 网址:https://pan.baidu.com/s/1eg3iCmnFj-r8x_RlmLkKcw 提取码:cx32 或者: 方式二:腾讯微云 链接:https://share.w ...
最新文章
- matlab3dimshow_matlab利用MATLAB嵌套函数表示3D作图
- memcpy和strcpy的区别及memcmp和strcmp的区别
- 1小时学会建站(二):购买及绑定域名
- python 示例_Python条件类| release()方法与示例
- html中实现类似于弹幕的效果代码,javascript实现弹幕效果
- 大数据实战之环境搭建(十)
- Java中HashMap和TreeMap的区别深入理解
- Helm 3 完整教程(三):chart 的文件结构和字段详解
- 用人工智能方法计算水果难题------遗传算法篇
- UVa 10491 - Cows and Cars(全概率)
- 《实施Cisco统一通信管理器(CIPT1)》一1.3 总结
- C#-WinForm-打印控件
- Origin绘制带平滑曲线和数据标签的散点图
- 1656. Far Away Kingdom's Army
- 算法分析-时间复杂度:大O、大Ω、大θ、小o、小ω
- 生成android 证书
- Word中打开Visio绘图错误:找不到服务器应用程序、源文件或项目
- 台式计算机操作系统的安装方法,台式机电脑重装win10系统详细教程
- 译书《物联网实战指南》出版 | 新成就:翻译自己的英文简介
- jsp网站服务器配置
热门文章
- 10中文显示都是问号_CAD字体出现问号乱码的解决方法
- 招聘|字节跳动计算机视觉算法实习生
- 相机与激光雷达融合的3D目标检测方法MVAF-Net
- React 项目--引入bebal 解析JSX(5)
- java opencv calcCovarMatrix 计算协方差矩阵
- OpenCV java 图片处理,蒙太奇图片(13)
- matlab 显示多为,求助!!如何把多输入多输出系统的传函转换为状态空间表达式?...
- 生信分析平台方案推介,助力科研
- MPB:林科院袁志林组-巢式PCR检测植物组织痕量内生真菌的方法及其引物
- MPB:生态环境中心韩丽丽等-土壤病毒组富集及DNA提取