我被要求解決這個算法。到目前爲止,這是我對java代碼的看法。我不知道我失去了什麼。問題如下: 編寫一個叫做ProblemA003類輸出的下面形狀(這是使用背景控制檯上的「$」符號的字母X):在背景控制檯上打印字母X
簡單地輸出到控制檯(使用的System.out ) 假設一個25行深的控制檯屏幕和79個字符的寬度(參見下面的控制檯 - 它包含「=」字符,每10列和每行有相應的編號) 形狀必須以此控制檯屏幕爲中心,中間的「$」應該在第13行第40列中 作爲程序的一個單一的int參數的輸入(你可以命名爲sizeOfX)。這個參數將指出在X的兩邊有多少「$」中間的「$」,你可以簡單地通過這個參數通過「main」方法。有關參數sizeOfX的更爲詳細的描述,請參閱下面的示例:sizeOfX = 5 注意:參數sizeOfX只能取值1-9(包括1和9)。當然,sizeOfX的值越大,程序必須產生的X的大小越大。
我的方法:
private static void MakeACross(int number) {
int start = 0;
int end = number - 1;
for (int i = 0; i < number; i++) {
System.out.print("==");
for (int j = 0; j < number; j++) {
System.out.print("==");
if (start == end && j == i) {
System.out.print('$');
} else if (start == j || end == j) {
System.out.print('$');
} else {
System.out.print(' ');
}
}
start++;
end--;
System.out.println("==");
}
}
任何人誰可以幫我我如何能進一步解決這個問題,將不勝感激。如果輸入是5(即sizeOfX = 5),你的程序應該產生完全的輸出(注意行10和行20的第一列中的「1」和「2」)。 )