-1
我的書有一個類似於this的程序。需要解釋Java程序邏輯
public class Partition {
public static void partition(int n) {
partition(n, n, "");
}
public static void partition(int n, int max, String prefix) {
if (n == 0) {
StdOut.println(prefix);
return;
}
for (int i = Math.min(max, n); i >= 1; i--) {
partition(n-i, i, prefix + " " + i);
}
}
public static void main(String[] args) {
int N = Integer.parseInt(args[0]);
partition(N);
}
}
是否有另一種方式來寫循環以不同的方式,這對我來說不是那麼複雜?謝謝!
你覺得一個方法調用'Math.min'呢?你讀過javadoc嗎? – 2015-04-04 23:41:17
你讓自己被未知的人嚇倒。但是你「知道」這個方法可能做什麼,如果沒有,你一定能夠找到答案,用它所執行的代碼交換單個調用並不會讓我更容易理解,我不這麼認爲。 – ChiefTwoPencils 2015-04-04 23:44:30
看看[文檔](http://docs.oracle.com/javase/7/docs/api/java/lang/Math.html#min%28int,%20int%29)。 – 2015-04-04 23:46:41