嗯,我想幫您在一定程度上,這就是爲什麼我要告訴你,這個問題Almos酒店的解決方案噸。您可以按照您的要求嘗試其餘的部分。
public static void main(String[] args) {
try (Scanner in = new Scanner(System.in)) {
int iNum = in.nextInt();
int iRange = 3;// Fixed for now.
int iCount = 1;
int iIncrement = iRange/2;
for (int i = iNum; i >= 0; i--) {
for (int k = 0; k < iCount; k++) {
for (int j = 0; j < iRange; j++) {
if (j == 0) {// Printing First Digit.
System.out.print(i + " - ");
} else if (j == iRange - 1) {// Printing Last Digit.
System.out.print(k + ";");
} else {
// Printing Rest of the Digits.
/**
* Edit this section to make this code generic for variable iRange.
*/
System.out.print((iNum - i - k) + " - ");
}
// System.out.print(i + " - " + j + " - " + k + " : ");
}
System.out.println();
}
iCount += iIncrement;
}
}
}
輸出 - :
5
5 - 0 - 0;
4 - 1 - 0;
4 - 0 - 1;
3 - 2 - 0;
3 - 1 - 1;
3 - 0 - 2;
2 - 3 - 0;
2 - 2 - 1;
2 - 1 - 2;
2 - 0 - 3;
1 - 4 - 0;
1 - 3 - 1;
1 - 2 - 2;
1 - 1 - 3;
1 - 0 - 4;
0 - 5 - 0;
0 - 4 - 1;
0 - 3 - 2;
0 - 2 - 3;
0 - 1 - 4;
0 - 0 - 5;
描述 - :我已經寫爲可變iNum
(the_specific_number)這個代碼和固定iRange
(length_of_the_array)。運行此應用程序時,它會要求iNum
手動輸入並生成所需的數字數組。
如果您想使其通用於iRange
,則可以更新else
部分中的邏輯。
} else {
// Printing Rest of the Digits.
/**
* Edit this section to make this code generic for variable iRange.
*/
System.out.print((iNum - i - k) + " - ");
}
您可以使用// System.out.print(i + " - " + j + " - " + k + " : ");
線來分析在所有情況下的i, j & K
值,這樣就可以使一些結論編寫邏輯的iRange
可變範圍。 我希望這可以在一定程度上幫助你。如果您願意,我們可以進一步討論。但在詢問其他人之前先試試自己總是比較好,如果你已經做了一些事情,然後分享所要求的工作。
你有寫過任何代碼嗎?試過什麼?分享你的想法,不要要求我們做你的工作。 – nhouser9
是的,我寫了一些代碼,但徒勞無益 –
在這裏分享你的代碼,即使它是徒勞的。 – msagala25