teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記2

2021/08/03 00:46

投稿

kazuma-s
kazuma-s

スコア8222

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

追記

2021/08/03 00:46

投稿

kazuma-s
kazuma-s

スコア8222

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

誤字の修正

2021/08/02 09:16

投稿

kazuma-s
kazuma-s

スコア8222

answer CHANGED
@@ -1,8 +1,8 @@
1
1
  質問のコードの修正は他の回答が参考になるでしょう。
2
2
 
3
3
  最近の Java は、Stringクラスに repeatメソッドが追加されたので、
4
- 繰り返しの文字列を作るのが簡単です。また、
4
+ 繰り返しの文字列を作るのが簡単です。また、数値を読み込むのは、
5
- 数値を読み込むのは、BufferedReaader よりも Scanner の方が簡単です。
5
+ BufferedReader よりも Scanner の方が簡単です。
6
6
  ```Java
7
7
  class Main {
8
8
  public static void main(String[] args) {