簡體   English   中英

如何使用二維數組打印以下圖像?

[英]How to print the following images using a 2D array?

我正在嘗試使用二維數組打印圖像,但這是錯誤的。 我怎樣才能解決這個問題?

int n = 4;
int m = 6;
String num[][] = new String[n][m];

System.out.println("Bài 1c : ");
for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
        if (i == 0 || (i % 2 != 0 && j % 2 != 0)
                || (i % 2 == 0 && j % 2 == 0) || i != n - 1) {
            System.out.print(num[i][j] = "A");
        } else {
            System.out.print("B");
        }
    }
    System.out.println();
}

output 應該是:

AAAAAA
BABABA
ABABAB
BBBBBB

任何幫助都會很棒!

嘿,歡迎來到 Stackoverflow!

在閱讀您的問題時,這是我能想到的最佳解決方案:

System.out.println(Arrays.deepToString(num).replace("], ", "]\n"));

通過傳入二維數組num ,它應該將其轉換為字符串並在單獨的行中打印出來

確保使用此代碼段導入 java 實用程序:

import java.util.*;

希望有幫助!

如果此解決方案有幫助,請隨時接受此答案!

為了清楚起見,您可以將復合 if 條件拆分為if else 語句鏈:

int n = 4, m = 6;
for (int i = 0; i < n; i++) {
    for (int j = 0; j < m; j++) {
        // first row
        if (i == 0)
            System.out.print("A");
        // last row
        else if (i == n - 1)
            System.out.print("B");
        // intermediate rows
        else if ((i + j) % 2 == 0)
            System.out.print("A");
        else
            System.out.print("B");
    }
    System.out.println();
}

Output:

AAAAAA
BABABA
ABABAB
BBBBBB

您的描述沒有說明如何生成二維數組。

為什么不像這樣簡單?

public static void main(String[] args) {
    String data[][] = new String[][] {
        {"A", "A", "A", "A", "A", "A"},
        {"B", "A", "B", "A", "B", "A"},
        {"A", "B", "A", "B", "A", "B"},
        {"B", "B", "B", "B", "B", "B"}
    };

    for(int r = 0; r < data.length; r++) {
        for(int c = 0; c < data[r].length; c++) {
            System.out.print(data[r][c]);
        }
        System.out.println();
    }
}

我會使用按位掩碼:

public static void main(String []args){
    for (int t: new int[]{0,42,21,63})
        System.out.println(String.format("%1$6s", Integer.toBinaryString(t)).replace(' ', '0').replace('0', 'A').replace('1', 'B'));
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM