Java黑皮书课后题第8章:*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1。让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第8章:*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1。让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
*8.23(游戲:找到翻轉的單元格)假定給定一個填滿0和1的6*6矩陣,所有的行和列都有偶數個1。讓用戶翻轉一個單元,編寫一個程序找到哪個單元格被翻轉了
- 題目
- 題目描述與運行示例
- 破題
- 代碼
題目
題目描述與運行示例
8.23(游戲:找到翻轉的單元格)假定給定一個填滿0和1的66矩陣,所有的行和列都有偶數個1。讓用戶翻轉一個單元,編寫一個程序找到哪個單元格被翻轉了
程序應該提示用戶輸入一個6*6的填滿0和1的矩陣,并且找到第一個不符合具有偶數個1的特征的r以及c列(即1的數目不是偶數),則該翻轉的單元格位于(r,c)。
下面是一個運行示例:
破題
代碼
import java.util.Scanner;public class Test8_23 {public static void main(String[] args) {//1. 聲明1個6*6 int型矩陣int[][] array = new int[6][6];//2. 提示用戶輸入矩陣元素并使用循環給矩陣賦值Scanner input = new Scanner(System.in);System.out.println("Enter a 6-by-6 matrix row by row:");for (int i = 0 ; i < 6 ; i++){for (int j = 0 ; j < 6 ; j++){array[i][j] = input.nextInt();}}//3. 新建一個計數變量,初值為0int count = 0;int[] location = new int[2];//4. 通過循環遍歷矩陣,當元素值為1時計數變量+1//5. 每輪判斷計數變量除2是否有余數,如果有余數則“翻轉單元”在這里for (int i = 0 ; i < 6 ; i++){count = 0;for (int j = 0 ; j < 6 ; j++){if (array[i][j] == 1){++count;}}if ( count % 2 == 1){location[0] = i;break;}}for (int j = 0 ; j < 6 ; j++){count = 0;for (int i = 0 ; i < 6 ; i++){if (array[i][j] == 1){++count;}}if ( count % 2 == 1){location[1] = j;break;}}// 輸出結果System.out.println("The flipped cell is at (" + location[0] + ", " + location[1] + ")");} }總結
以上是生活随笔為你收集整理的Java黑皮书课后题第8章:*8.23(游戏:找到翻转的单元格)假定给定一个填满0和1的6*6矩阵,所有的行和列都有偶数个1。让用户翻转一个单元,编写一个程序找到哪个单元格被翻转了的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第8章:*8.22(
- 下一篇: Java黑皮书课后题第8章:*8.24(