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

回答編集履歴

2

2024/03/25 20:48

投稿

TN8001
TN8001

スコア10118

answer CHANGED
@@ -28,6 +28,11 @@
28
28
  ---
29
29
 
30
30
  mainにすべて書きたいのなら、2回目の`int max = 5;`・`String star = "*";`は不要です。
31
+
32
+ なお下記コードには`int i`や`int j`が複数ありますが、なぜエラーにならないかは「変数のスコープ」について調べてください。
33
+ 「intが2回使えない」のも「変数のスコープ」の問題です。
34
+ [java ローカル変数 スコープ - Google 検索](https://www.google.co.jp/search?q=java+%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E5%A4%89%E6%95%B0+%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97)
35
+
31
36
  ```java
32
37
  public class Main {
33
38
  public static void main(String[] args) {
@@ -42,14 +47,14 @@
42
47
  // System.out.print(star.repeat(i * 2 - 1));
43
48
 
44
49
  for (int j = 0; j < max - i; j++) System.out.print(" ");
45
- for (int k = 0; k < i * 2 - 1; k++) System.out.print(star);
50
+ for (int j = 0; j < i * 2 - 1; j++) System.out.print(star);
46
51
  System.out.println();
47
52
  }
48
53
 
49
54
  // ▼
50
55
  for (int i = max - 1; 0 < i; i--) {
51
56
  for (int j = 0; j < max - i; j++) System.out.print(" ");
52
- for (int k = 0; k < i * 2 - 1; k++) System.out.print(star);
57
+ for (int j = 0; j < i * 2 - 1; j++) System.out.print(star);
53
58
  System.out.println();
54
59
  }
55
60
 
@@ -64,14 +69,25 @@
64
69
  // ▲
65
70
  for (int i = 1; i <= max; i++) {
66
71
  for (int j = 0; j < max - i; j++) System.out.print(" ");
67
- for (int k = 0; k < i * 2 - 1; k++) System.out.print(star);
72
+ for (int j = 0; j < i * 2 - 1; j++) System.out.print(star);
68
73
  System.out.println();
69
74
  }
70
75
  }
71
76
  }
72
77
  ```
73
-
78
+ ```
79
+ *
80
+ ***
81
+ *****
74
- なお上記コードには`int i`が複数ありますが、なぜエラーにならないかは「変数のスコープ」について調べてください。
82
+ *******
75
- 「intが2回使えない」のも「変数のスコープ」の問題です。
83
+ *********
84
+ *******
85
+ *****
86
+ ***
87
+ *
88
+ *
89
+ ***
90
+ *****
91
+ *******
76
- [java ローカル変数 スコープ - Google 検索](https://www.google.co.jp/search?q=java+%E3%83%AD%E3%83%BC%E3%82%AB%E3%83%AB%E5%A4%89%E6%95%B0+%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%97)
92
+ *********
77
-
93
+ ```

1

無駄改行

2024/03/25 14:37

投稿

TN8001
TN8001

スコア10118

answer CHANGED
@@ -15,7 +15,6 @@
15
15
  // 以下省略
16
16
  }
17
17
 
18
-
19
18
  // 三角形を出力するメソッド
20
19
  static void triangle() {
21
20
  int max = 5; // 三角形の高さ