import java.util.Scanner;
public class Exercise08_14 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter the length of a square matrix: ");
int n = input.nextInt();
int[][] board = new int[n][n];
boolean isSameOnARow = false, isSameOnAColumn = false,
isSameOnADiagonal = false, isSameOnASubdiagonal = false;
for (int i = 0; i < board.length; i++) {
for (int j = 0; j < board[0].length; j++) {
board[i][j] = (int) (Math.random() * 2);
System.out.print(board[i][j]);
}
System.out.println();
}
// Check rows
for (int i = 0; i < board.length; i++) {
boolean same = true;
for (int j = 1; j < board[0].length; j++) {
if (board[i][0] != board[i][j]) {
same = false;
break;
}
}
if (same) {
System.out.println("All " + board[i][0] + "'s on row " + i);
isSameOnARow = true;
}
}
// Check columns
for (int j = 0; j < board[0].length; j++) {
boolean same = true;
for (int i = 1; i < board.length; i++) {
if (board[0][j] != board[i][j]) {
same = false;
break;
}
}
if (same) {
System.out.println("All " + board[0][j] + "'s on column " + j);
isSameOnAColumn = true;
}
}
// Check major diagonal
boolean same = true;
for (int i = 1; i < board.length; i++) {
if (board[0][0] != board[i][i]) {
same = false;
break;
}
}
if (same) {
System.out.println("All " + board[0][0] + "'s on major diagonal");
isSameOnADiagonal = true;
}
// Check subdiagonal
same = true;
for (int i = 1; i < board.length; i++) {
if (board[0][board.length - 1] != board[i][board.length - 1 - i]) {
same = false;
break;
}
}
if (same) {
System.out.println("All " + board[0][board.length - 1] + "'s on sub-diagonal");
isSameOnASubdiagonal = true;
}
if (!isSameOnARow)
System.out.println("No same numbers on a row");
if (!isSameOnAColumn)
System.out.println("No same numbers on a column");
if (!isSameOnADiagonal)
System.out.println("No same numbers on the major diagonal");
if (!isSameOnASubdiagonal)
System.out.println("No same numbers on the sub-diagonal");
}
}
// An alternative version without using break
//import java.util.Scanner;
//
//public class Exercise08_14 {
// public static void main(String[] args) {
// Scanner input = new Scanner(System.in);
// System.out.print("Enter the length of a square matrix: ");
// int n = input.nextInt();
//
// int[][] board = new int[n][n];
// boolean isSameOnARow = false, isSameOnAColumn = false,
// isSameOnADiagonal = false, isSameOnASubdiagonal = false;
//
// for (int i = 0; i < board.length; i++) {
// for (int j = 0; j < board[0].length; j++) {
// board[i][j] = (int) (Math.random() * 2);
// System.out.print(board[i][j]);
// }
//
// System.out.println();
// }
//
// // Check rows
// for (int i = 0; i < board.length; i++) {
// boolean same = true;
// for (int j = 1; j < board[0].length && same; j++) {
// if (board[i][0] != board[i][j]) {
// same = false;
// }
// }
// if (same) {
// System.out.println("All " + board[i][0] + "'s on row " + i);
// isSameOnARow = true;
// }
// }
//
// // Check columns
// for (int j = 0; j < board[0].length; j++) {
// boolean same = true;
// for (int i = 1; i < board.length && same; i++) {
// if (board[0][j] != board[i][j]) {
// same = false;
// }
//
// }
// if (same) {
// System.out.println("All " + board[0][j] + "'s on column " + j);
// isSameOnAColumn = true;
// }
// }
//
// // Check major diagonal
// boolean same = true;
// for (int i = 1; i < board.length && same; i++) {
// if (board[0][0] != board[i][i]) {
// same = false;
// }
// }
// if (same) {
// System.out.println("All " + board[0][0] + "'s on major diagonal");
// isSameOnADiagonal = true;
// }
//
// // Check subdiagonal
// same = true;
// for (int i = 1; i < board.length && same; i++) {
// if (board[0][board.length - 1] != board[i][board.length - 1 - i]) {
// same = false;
// }
// }
// if (same) {
// System.out.println("All " + board[0][board.length - 1] + "'s on sub-diagonal");
// isSameOnASubdiagonal = true;
// }
//
// if (!isSameOnARow)
// System.out.println("No same numbers on a row");
//
// if (!isSameOnAColumn)
// System.out.println("No same numbers on a column");
//
// if (!isSameOnADiagonal)
// System.out.println("No same numbers on the major diagonal");
//
// if (!isSameOnASubdiagonal)
// System.out.println("No same numbers on the sub-diagonal");
// }
//}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
java语言程序设计1-10章课后答案(代码) (361个子文件)
Exercise08_14.java 5KB
Exercise08_20.java 5KB
Exercise07_36UsingContinueStatement.java 5KB
Exercise10_08.java 5KB
Exercise10_12.java 5KB
Exercise07_05.java 4KB
Exercise03_13.java 4KB
Exercise09_06.java 4KB
Exercise08_19.java 4KB
Exercise06_34.java 4KB
Exercise10_27.java 3KB
Exercise06_15.java 3KB
Exercise06_24.java 3KB
Exercise10_09.java 3KB
Exercise05_29.java 3KB
Exercise10_13.java 3KB
Exercise05_28.java 3KB
Exercise10_03.java 3KB
Exercise08_09.java 3KB
Exercise03_07.java 3KB
Exercise10_28.java 2KB
Exercise08_37.java 2KB
Exercise07_03Extra.java 2KB
Exercise08_08.java 2KB
Exercise08_24.java 2KB
Exercise08_03.java 2KB
Exercise06_31.java 2KB
Exercise05_04Extra.java 2KB
Exercise10_07.java 2KB
Exercise07_22.java 2KB
Exercise06_39.java 2KB
Exercise06_33.java 2KB
Exercise04_10.java 2KB
Exercise10_02.java 2KB
Exercise10_11.java 2KB
Exercise08_03Extra.java 2KB
Exercise08_36.java 2KB
Exercise08_06.java 2KB
Exercise08_02Extra.java 2KB
Exercise08_05.java 2KB
Exercise06_01Extra.java 2KB
Exercise04_26.java 2KB
Exercise08_33.java 2KB
Exercise10_15.java 2KB
Exercise08_04.java 2KB
Exercise08_12.java 2KB
Exercise03_11.java 2KB
Exercise08_17.java 2KB
Exercise03_09.java 2KB
Exercise07_11.java 2KB
Exercise08_23.java 2KB
Exercise08_35.java 2KB
Exercise05_09.java 2KB
Exercise05_34.java 2KB
Exercise04_23.java 2KB
Exercise10_14.java 2KB
Exercise09_09.java 2KB
Exercise07_35.java 2KB
Exercise07_21.java 2KB
Exercise10_22.java 2KB
Exercise09_07.java 2KB
Exercise05_22.java 2KB
Exercise07_17.java 2KB
Exercise10_26.java 2KB
Exercise03_17.java 2KB
Exercise07_27.java 2KB
Exercise08_07.java 2KB
Exercise09_11.java 2KB
Exercise10_01.java 2KB
Exercise06_06Extra.java 2KB
Exercise07_32.java 2KB
Exercise10_25.java 1KB
Exercise08_29.java 1KB
Exercise03_05.java 1KB
Exercise09_10.java 1KB
Exercise03_21.java 1KB
Exercise09_14.java 1KB
Exercise10_24.java 1KB
Exercise02_22.java 1KB
Exercise07_31.java 1KB
Exercise07_20.java 1KB
Exercise09_08.java 1KB
Exercise07_06.java 1KB
Exercise08_21.java 1KB
Exercise06_11Extra.java 1KB
Exercise07_25.java 1KB
Exercise06_02Extra.java 1KB
Exercise04_03.java 1KB
Exercise05_25.java 1KB
Exercise05_02.java 1KB
Exercise09_02.java 1KB
Exercise10_01International.java 1KB
Exercise07_30.java 1KB
Exercise08_10.java 1KB
Exercise03_15.java 1KB
Exercise07_07Extra.java 1KB
Exercise03_30.java 1KB
Exercise08_31.java 1KB
Exercise09_13.java 1KB
Exercise07_01.java 1KB
共 361 条
- 1
- 2
- 3
- 4
资源评论
- yl9708202019-05-30书是11版的。挺好的,基本题目都是一样的
qq_33690742
- 粉丝: 1
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功