【发布时间】:2015-02-23 10:25:19
【问题描述】:
我一直在尝试循环这些 if 但我不明白,我必须将循环放在哪里?
public static void Run(int n) {
int l;
int c;
for (l = 1; l <= 2 * n - 1; l++) {
System.out.println("\n");
for (c = 1; c <= 2 * n - 1; c++) {
if ((l == 1) || (l == 2 * n - 1) || (c == 1) || (c == 2 * n - 1)) {
System.out.print('a');
} else if ((l == 2) || (l == 2 * n - 2) || (c == 2) || (c == 2 * n - 2)) {
System.out.print(defLettre(n, 1));
} else if ((l == 3) || (l == 2 * n - 3) || (c == 3) || (c == 2 * n - 3)) {
System.out.print(defLettre(n, 2));
} else if ((l == 4) || (l == 2 * n - 4) || (c == 4) || (c == 2 * n - 4)) {
System.out.print(defLettre(n, 3));
} else if ((l == 5) || (l == 2 * n - 5) || (c == 5) || (c == 2 * n - 5)) {
System.out.print(defLettre(n, 4));
} else {
System.out.print(" ");
}
}
}
}
}
问题是,n 越多,如果我必须输入并且我不明白你如何重新组合它们。
编辑:
感谢您的回答。我想做的程序是这样的:
http://pastebin.com/dKBGjVqj(此处无法正确粘贴)。
我能够做到,只是它令人困惑,因为如果 n 像 10,我将不得不输入 10 if..else。
顺便说一句,我的程序需要在 1ghz 计算机上以 1s 的速度运行,并且必须低于 8000 Ko。我如何查看 1 秒以下的运行部分?我猜 .java 的大小是为了大小。
【问题讨论】:
-
关于如何衡量执行时间的问题,您应该查看该问题的许多其他 SO 答案之一。如,stackoverflow.com/questions/180158/…
标签: java algorithm loops if-statement