>>9
もっとまともにできると思うんだけど、とりあえず、、、、。
import java.io.*;
class Lesson {
public static void main(String args[]) {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
while (execute(in));
}
public static boolean execute(BufferedReader in) {
try {
System.out.print("数値を入力してください。(終了はq): ");
String input = in.readLine();
if (input.equals("q")) return false;
int num = new Integer(input).intValue();
int a = num / 2; int b = num % 2;
int ix1 = a; int ix2 = num - (a + b);
if (b == 0) { ix1--; }
for (; ix2 < num; ix1--, ix2++) printLine(num, ix1, ix2);
ix1 = 0; ix2 = num - 1;
if (b == 1) { ix1++; ix2--; } else { a--; }
for (; ix1 <= a; ix1++, ix2--) printLine(num, ix1, ix2);
return true;
} catch (Exception ex) {
System.out.println("無効な入力値です。"); return true;
}
}
static private void printLine(int n, int ix1, int ix2) {
for (int i = 0; i < n; i++) { if (i == ix1 || i == ix2) System.out.print("*"); else System.out.print(" "); }
System.out.print("¥n");
}
}