[英]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.