回答編集履歴
3
追記2
answer
CHANGED
@@ -29,4 +29,18 @@
|
|
29
29
|
else
|
30
30
|
for (int i = size - 1, j = 1; i >= 0; i--, j += 2)
|
31
31
|
System.out.println(" ".repeat(i) + "△".repeat(j));
|
32
|
+
```
|
33
|
+
**追記2**
|
34
|
+
回答がいくつも出ているのに質問者からの応答がありません。どうしたんですか?
|
35
|
+
|
36
|
+
さて質問のコードを最小限修正するとすれば、次の 3個所です。
|
37
|
+
```diff
|
38
|
+
- for (j=1 ; j <= -size+i; j++)
|
39
|
+
+ for (j=1 ; j <= i; j++)
|
40
|
+
|
41
|
+
- for (j=1 ; j <= -size*2-i*2-1; j++)
|
42
|
+
+ for (j=1 ; j <= -size*2-i*2+1; j++)
|
43
|
+
|
44
|
+
-ここが写真1のようになってしまいます。五段あるはずなのに四段のみしか表現されていません。
|
45
|
+
+//ここが写真1のようになってしまいます。五段あるはずなのに四段のみしか表現されていません。
|
32
46
|
```
|
2
追記
answer
CHANGED
@@ -18,4 +18,15 @@
|
|
18
18
|
+ "△".repeat(i * 2 + 1));
|
19
19
|
}
|
20
20
|
}
|
21
|
+
```
|
22
|
+
**追記**
|
23
|
+
全角スペースの個数を i、三角形の個数を j としたほうが簡単かもしれません。
|
24
|
+
初期値は分かっているし、更新は、i は ±1、j は ±2 の増減だけ。
|
25
|
+
```Java
|
26
|
+
if (size < 0)
|
27
|
+
for (int i = 0, j = -size * 2 - 1; j > 0; i++, j -= 2)
|
28
|
+
System.out.println(" ".repeat(i) + "▽".repeat(j));
|
29
|
+
else
|
30
|
+
for (int i = size - 1, j = 1; i >= 0; i--, j += 2)
|
31
|
+
System.out.println(" ".repeat(i) + "△".repeat(j));
|
21
32
|
```
|
1
誤字の修正
answer
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
質問のコードの修正は他の回答が参考になるでしょう。
|
2
2
|
|
3
3
|
最近の Java は、Stringクラスに repeatメソッドが追加されたので、
|
4
|
-
繰り返しの文字列を作るのが簡単です。また、
|
4
|
+
繰り返しの文字列を作るのが簡単です。また、数値を読み込むのは、
|
5
|
-
|
5
|
+
BufferedReader よりも Scanner の方が簡単です。
|
6
6
|
```Java
|
7
7
|
class Main {
|
8
8
|
public static void main(String[] args) {
|