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

質問編集履歴

5

指摘点の修正

2019/08/19 06:49

投稿

anpan___
anpan___

スコア28

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,39 @@
1
+ 修正後のコード
2
+ ```java
3
+ public static void create(int[][] x) {
4
+ int[][] data2;
5
+ Scanner s = new Scanner(System.in);
6
+ System.out.println("難易度を選択してください");
7
+ System.out.print("(1)簡単/(2)普通/(3)難しい");
8
+ int n = s.nextInt();
9
+ System.out.println("選択した数字は" + n + "です。");
10
+ if (n == 1) {
11
+ data2={{1,1,1,0,1,1,0,0,0},{0,0,0,1,0,0,1,0,0},{1,1,1,1,0,1,0,1,0},{0,0,0,0,1,0,0,1,0},{1,1,1,0,1,0,1,0,1},{0,0,0,0,0,1,0,0,1},{0,1,1,1,0,1,1,1,0},{7,0,0,3,0,0,0,0,0},{1,0,0,0,0,0,1,1,1}};
12
+
13
+ } else if (n == 2) {
14
+ data2={{1,0,1,0,1,1,0,0,0},{0,0,0,0,1,1,0,0,0},{0,0,0,0,0,1,0,1,1},{0,1,0,1,0,0,1,0,1},{1,0,0,0,0,0,0,0,1},{1,0,1,0,0,1,0,1,0},{1,1,0,1,0,0,0,0,0},{0,0,0,1,1,0,0,0,0},{0,0,0,1,1,0,1,0,1}};
15
+
16
+ } else if (n == 3) {
17
+ data2={{0,1,0,0,0,1,0,0,0},{1,1,1,1,0,1,0,0,0},{0,0,0,0,0,0,1,0,0},{0,0,1,0,0,0,0,1,1},{1,0,0,1,1,1,0,0,1},{1,1,0,0,0,0,1,0,0},{0,0,1,0,0,0,0,0,0},{0,0,0,1,0,1,1,1,1},{0,0,0,1,0,0,0,1,0}};
18
+ } else {
19
+ System.out.println("半角で1~3の値を入力してください。");
20
+ }
21
+ for (int i = 0; i < 9; i++) {
22
+ for (int j = 0; j < 9; j++) {
23
+ if (data2[i][j] == 0) {
24
+ data1[i][j] = 0;
25
+ }
26
+ }
27
+ }
28
+ Sub.print(data1);
29
+ }
30
+ ```
31
+ ご指摘いただいたように、変数の部分を編集しました。
32
+ 結果としては
33
+ ・変数定数はイニシャライザーにおいてのみ使用可能です
34
+ といったエラーが表示される現状です。
35
+
36
+
1
37
  現在数独の問題を作成するプログラムを作っています。
2
38
  その中で、難易度選択をもうけており、それに準じた問題を作成するようにしています。
3
39
 

4

インデントの修正

2019/08/19 06:49

投稿

anpan___
anpan___

スコア28

title CHANGED
File without changes
body CHANGED
@@ -13,59 +13,56 @@
13
13
 
14
14
  以下問題の発生している点です。
15
15
  ```java
16
- public static void create (int[][] data1) {
16
+ public static void create(int[][] x) {
17
- Scanner s = new Scanner(System.in);
17
+ Scanner s = new Scanner(System.in);
18
- System.out.println("難易度を選択してください");
18
+ System.out.println("難易度を選択してください");
19
- System.out.print("(1)簡単/(2)普通/(3)難しい");
19
+ System.out.print("(1)簡単/(2)普通/(3)難しい");
20
- int n = s.nextInt();
20
+ int n = s.nextInt();
21
- System.out.println("選択した数字は" + n + "です。");
21
+ System.out.println("選択した数字は" + n + "です。");
22
- if (n == 1) {
22
+ if (n == 1) {
23
- int[][] data2=
24
- {{1,1,1,0,1,1,0,0,0},
23
+ int[][] data2 = { { 1, 1, 1, 0, 1, 1, 0, 0, 0 },
25
- {0,0,0,1,0,0,1,0,0},
24
+ { 0, 0, 0, 1, 0, 0, 1, 0, 0 },
26
- {1,1,1,1,0,1,0,1,0},
25
+ { 1, 1, 1, 1, 0, 1, 0, 1, 0 },
27
- {0,0,0,0,1,0,0,1,0},
26
+ { 0, 0, 0, 0, 1, 0, 0, 1, 0 },
28
- {1,1,1,0,1,0,1,0,1},
27
+ { 1, 1, 1, 0, 1, 0, 1, 0, 1 },
29
- {0,0,0,0,0,1,0,0,1},
28
+ { 0, 0, 0, 0, 0, 1, 0, 0, 1 },
30
- {0,1,1,1,0,1,1,1,0},
29
+ { 0, 1, 1, 1, 0, 1, 1, 1, 0 },
31
- {7,0,0,3,0,0,0,0,0},
30
+ { 7, 0, 0, 3, 0, 0, 0, 0, 0 },
32
- {1,0,0,0,0,0,1,1,1}};
31
+ { 1, 0, 0, 0, 0, 0, 1, 1, 1 } };
33
-
32
+
34
- } else if (n == 2) {
33
+ } else if (n == 2) {
35
- int[][] data2 =
36
-   {{1,0,1,0,1,1,0,0,0},
34
+ int[][] data2 = { { 1, 0, 1, 0, 1, 1, 0, 0, 0 },
37
- {0,0,0,0,1,1,0,0,0},
35
+ { 0, 0, 0, 0, 1, 1, 0, 0, 0 },
38
- {0,0,0,0,0,1,0,1,1},
36
+ { 0, 0, 0, 0, 0, 1, 0, 1, 1 },
39
- {0,1,0,1,0,0,1,0,1},
37
+ { 0, 1, 0, 1, 0, 0, 1, 0, 1 },
40
- {1,0,0,0,0,0,0,0,1},
38
+ { 1, 0, 0, 0, 0, 0, 0, 0, 1 },
41
- {1,0,1,0,0,1,0,1,0},
39
+ { 1, 0, 1, 0, 0, 1, 0, 1, 0 },
42
- {1,1,0,1,0,0,0,0,0},
40
+ { 1, 1, 0, 1, 0, 0, 0, 0, 0 },
43
- {0,0,0,1,1,0,0,0,0},
41
+ { 0, 0, 0, 1, 1, 0, 0, 0, 0 },
44
- {0,0,0,1,1,0,1,0,1}};
42
+ { 0, 0, 0, 1, 1, 0, 1, 0, 1 } };
45
-
43
+
46
- }else if (n == 3){
44
+ } else if (n == 3) {
47
- int[][] data2 =
48
- {{0,1,0,0,0,1,0,0,0},
45
+ int[][] data2 = { { 0, 1, 0, 0, 0, 1, 0, 0, 0 },
49
- {1,1,1,1,0,1,0,0,0},
46
+ { 1, 1, 1, 1, 0, 1, 0, 0, 0 },
50
- {0,0,0,0,0,0,1,0,0},
47
+ { 0, 0, 0, 0, 0, 0, 1, 0, 0 },
51
- {0,0,1,0,0,0,0,1,1},
48
+ { 0, 0, 1, 0, 0, 0, 0, 1, 1 },
52
- {1,0,0,1,1,1,0,0,1},
49
+ { 1, 0, 0, 1, 1, 1, 0, 0, 1 },
53
- {1,1,0,0,0,0,1,0,0},
50
+ { 1, 1, 0, 0, 0, 0, 1, 0, 0 },
54
- {0,0,1,0,0,0,0,0,0},
51
+ { 0, 0, 1, 0, 0, 0, 0, 0, 0 },
55
- {0,0,0,1,0,1,1,1,1},
52
+ { 0, 0, 0, 1, 0, 1, 1, 1, 1 },
56
- {0,0,0,1,0,0,0,1,0}};
53
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0 } };
57
- } else {
54
+ } else {
58
- System.out.println("半角で1~3の値を入力してください。");
55
+ System.out.println("半角で1~3の値を入力してください。");
56
+ }
57
+ for (int i = 0; i < 9; i++) {
58
+ for (int j = 0; j < 9; j++) {
59
+ if (data2[i][j] == 0) {
60
+ data1[i][j] = 0;
59
61
  }
60
- for(int i = 0; i < 9; i++) {
61
- for(int j = 0; j < 9; j++) {
62
- if(data2 [i][j] == 0){
63
- data1[i][j] = 0;
64
- }
65
- }
66
- }
67
- Sub.print(data1);
68
62
  }
63
+ }
64
+ Sub.print(data1);
65
+ }
69
66
  ```
70
67
  ```ErrorMessage
71
68
  Exception in thread "main" java.lang.Error: Unresolved compilation problems:
@@ -83,139 +80,138 @@
83
80
  ※Sub = 細々としたスクリプトが入っているクラス
84
81
  ```java
85
82
  import java.util.Scanner;
83
+
86
84
  public class SudokuCreate {
87
85
 
88
- private static int[][] data1 =
86
+ private static int[][] data1 = { { 1, 0, 0, 0, 0, 0, 0, 0, 0 },
89
- {{1,0,0,0,0,0,0,0,0},
90
- {2,0,0,0,0,0,0,0,0},
87
+ { 2, 0, 0, 0, 0, 0, 0, 0, 0 },
91
- {3,0,0,0,0,0,0,0,0},
88
+ { 3, 0, 0, 0, 0, 0, 0, 0, 0 },
92
- {4,0,0,0,0,0,0,0,0},
89
+ { 4, 0, 0, 0, 0, 0, 0, 0, 0 },
93
- {5,0,0,0,0,0,0,0,0},
90
+ { 5, 0, 0, 0, 0, 0, 0, 0, 0 },
94
- {6,0,0,0,0,0,0,0,0},
91
+ { 6, 0, 0, 0, 0, 0, 0, 0, 0 },
95
- {7,0,0,0,0,0,0,0,0},
92
+ { 7, 0, 0, 0, 0, 0, 0, 0, 0 },
96
- {8,0,0,0,0,0,0,0,0},
93
+ { 8, 0, 0, 0, 0, 0, 0, 0, 0 },
97
- {9,0,0,0,0,0,0,0,0}};
94
+ { 9, 0, 0, 0, 0, 0, 0, 0, 0 } };
98
-
95
+
99
96
  public static void main(String[] args) {
100
97
  Sub.print(data1);
101
98
  placement(data1);
102
99
  }
100
+
103
- public static void placement(int[][]data1) {
101
+ public static void placement(int[][] data1) {
104
- for(int i = 0; i < 9; i++) {
102
+ for (int i = 0; i < 9; i++) {
105
- for(int j = 0; j < 9; j++) {
103
+ for (int j = 0; j < 9; j++) {
106
- if(data1[i][j] == 0) {
104
+ if (data1[i][j] == 0) {
107
- int[] kl = {0,0,0,0,0,0,0,0,0}; //候補値を格納するための配列
105
+ int[] kl = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }; //候補値を格納するための配列
108
- cr(i, kl); //行の重複チェックメソッドを実行
106
+ cr(i, kl); //行の重複チェックメソッドを実行
109
- cc (j, kl); //列の重複チェックメソッドを実行
107
+ cc(j, kl); //列の重複チェックメソッドを実行
110
- cb(i, j, kl); //ブロックの重複チェックメソッドを実行
108
+ cb(i, j, kl); //ブロックの重複チェックメソッドを実行
111
- for(int k = 0; k < 9; k++) {
109
+ for (int k = 0; k < 9; k++) {
112
- if(kl[k] == 0) {
110
+ if (kl[k] == 0) {
113
- data1[i][j] = k + 1;
111
+ data1[i][j] = k + 1;
114
- int count = 0;
112
+ int count = 0;
115
- for(int r = 0; r < 9; r++) {
113
+ for (int r = 0; r < 9; r++) {
116
- for(int c = 0; c < 9; c++) {
114
+ for (int c = 0; c < 9; c++) {
117
- if(data1[r][c] != 0)
115
+ if (data1[r][c] != 0)
118
- count++;
116
+ count++;
119
- }
117
+ }
120
- }
118
+ }
121
- if(count == 81) {
119
+ if (count == 81) {
122
- Sub.print(data1);
120
+ Sub.print(data1);
123
- create(data1);
121
+ create(data1);
124
- System.exit(0);
122
+ System.exit(0);
125
- } else {
123
+ } else {
126
- placement(data1); //値挿入後に矛盾がないかを確認
124
+ placement(data1); //値挿入後に矛盾がないかを確認
127
- }
125
+ }
128
- }
126
+ }
129
- }
130
- data1[i][j] = 0; //バックトラッキング
131
- return;
132
- }
133
- }
134
- }
135
- }
136
- //行の重複をチェックするメソッド
137
- public static void cr(int r, int[] kl) {
138
- for(int i = 0; i < 9; i++) {
139
- if(data1[r][i] != 0) {
140
- kl[data1[r][i] -1] = 1;
141
127
  }
128
+ data1[i][j] = 0; //バックトラッキング
129
+ return;
142
130
  }
143
131
  }
144
-
145
- //列の重複をチェックするメソッド
146
- public static void cc(int c, int[] kl) {
147
- for(int i = 0; i < 9; i++) {
148
- if(data1[i][c] != 0) {
149
- kl[data1[i][c] -1] = 1;
150
- }
132
+ }
151
- }
133
+ }
134
+
135
+ //行の重複をチェックするメソッド
136
+ public static void cr(int r, int[] kl) {
137
+ for (int i = 0; i < 9; i++) {
138
+ if (data1[r][i] != 0) {
139
+ kl[data1[r][i] - 1] = 1;
152
140
  }
153
-
154
- //ブロックの重複をチェックするメソッド
155
- public static void cb(int r, int c,int[] kl) {
156
- int sr = r / 3 * 3;
157
- int sc = c / 3 * 3;
158
- for(int s = sr; s < sr + 3; s++) {
159
- for(int b = sc; b < sc + 3; b++) {
160
- if(data1[s][b] != 0)
161
- kl[data1[s][b] -1] = 1;
162
- }
141
+ }
163
- }
142
+ }
143
+
144
+ //列の重複をチェックするメソッド
145
+ public static void cc(int c, int[] kl) {
146
+ for (int i = 0; i < 9; i++) {
147
+ if (data1[i][c] != 0) {
148
+ kl[data1[i][c] - 1] = 1;
164
149
  }
165
-
166
- public static void create (int[][] data1) {
167
- Scanner s = new Scanner(System.in);
168
- System.out.println("難易度を選択してください");
169
- System.out.print("(1)簡単/(2)普通/(3)難しい");
170
- int n = s.nextInt();
171
- System.out.println("選択した数字は" + n + "です。");
172
- if (n == 1) {
173
- int[][] data2=
174
- {{1,1,1,0,1,1,0,0,0},
175
- {0,0,0,1,0,0,1,0,0},
176
- {1,1,1,1,0,1,0,1,0},
177
- {0,0,0,0,1,0,0,1,0},
178
- {1,1,1,0,1,0,1,0,1},
179
- {0,0,0,0,0,1,0,0,1},
180
- {0,1,1,1,0,1,1,1,0},
181
- {7,0,0,3,0,0,0,0,0},
182
- {1,0,0,0,0,0,1,1,1}};
183
-
184
- } else if (n == 2) {
185
- int[][] data2 =
186
-   {{1,0,1,0,1,1,0,0,0},
187
- {0,0,0,0,1,1,0,0,0},
188
- {0,0,0,0,0,1,0,1,1},
189
- {0,1,0,1,0,0,1,0,1},
190
- {1,0,0,0,0,0,0,0,1},
191
- {1,0,1,0,0,1,0,1,0},
192
- {1,1,0,1,0,0,0,0,0},
193
- {0,0,0,1,1,0,0,0,0},
194
- {0,0,0,1,1,0,1,0,1}};
195
-
196
- }else if (n == 3){
150
+ }
197
- int[][] data2 =
198
- {{0,1,0,0,0,1,0,0,0},
199
- {1,1,1,1,0,1,0,0,0},
151
+ }
200
- {0,0,0,0,0,0,1,0,0},
201
- {0,0,1,0,0,0,0,1,1},
202
- {1,0,0,1,1,1,0,0,1},
203
- {1,1,0,0,0,0,1,0,0},
204
- {0,0,1,0,0,0,0,0,0},
205
- {0,0,0,1,0,1,1,1,1},
206
- {0,0,0,1,0,0,0,1,0}};
207
152
 
153
+ //ブロックの重複をチェックするメソッド
154
+ public static void cb(int r, int c, int[] kl) {
155
+ int sr = r / 3 * 3;
156
+ int sc = c / 3 * 3;
157
+ for (int s = sr; s < sr + 3; s++) {
158
+ for (int b = sc; b < sc + 3; b++) {
159
+ if (data1[s][b] != 0)
160
+ kl[data1[s][b] - 1] = 1;
161
+ }
162
+ }
163
+ }
164
+
165
+ public static void create(int[][] x) {
166
+ Scanner s = new Scanner(System.in);
167
+ System.out.println("難易度を選択してください");
168
+ System.out.print("(1)簡単/(2)普通/(3)難しい");
169
+ int n = s.nextInt();
170
+ System.out.println("選択した数字は" + n + "です。");
171
+ if (n == 1) {
172
+ int[][] data2 = { { 1, 1, 1, 0, 1, 1, 0, 0, 0 },
173
+ { 0, 0, 0, 1, 0, 0, 1, 0, 0 },
174
+ { 1, 1, 1, 1, 0, 1, 0, 1, 0 },
175
+ { 0, 0, 0, 0, 1, 0, 0, 1, 0 },
176
+ { 1, 1, 1, 0, 1, 0, 1, 0, 1 },
177
+ { 0, 0, 0, 0, 0, 1, 0, 0, 1 },
178
+ { 0, 1, 1, 1, 0, 1, 1, 1, 0 },
179
+ { 7, 0, 0, 3, 0, 0, 0, 0, 0 },
180
+ { 1, 0, 0, 0, 0, 0, 1, 1, 1 } };
181
+
182
+ } else if (n == 2) {
183
+ int[][] data2 = { { 1, 0, 1, 0, 1, 1, 0, 0, 0 },
184
+ { 0, 0, 0, 0, 1, 1, 0, 0, 0 },
185
+ { 0, 0, 0, 0, 0, 1, 0, 1, 1 },
186
+ { 0, 1, 0, 1, 0, 0, 1, 0, 1 },
187
+ { 1, 0, 0, 0, 0, 0, 0, 0, 1 },
188
+ { 1, 0, 1, 0, 0, 1, 0, 1, 0 },
189
+ { 1, 1, 0, 1, 0, 0, 0, 0, 0 },
190
+ { 0, 0, 0, 1, 1, 0, 0, 0, 0 },
191
+ { 0, 0, 0, 1, 1, 0, 1, 0, 1 } };
192
+
193
+ } else if (n == 3) {
194
+ int[][] data2 = { { 0, 1, 0, 0, 0, 1, 0, 0, 0 },
195
+ { 1, 1, 1, 1, 0, 1, 0, 0, 0 },
196
+ { 0, 0, 0, 0, 0, 0, 1, 0, 0 },
197
+ { 0, 0, 1, 0, 0, 0, 0, 1, 1 },
198
+ { 1, 0, 0, 1, 1, 1, 0, 0, 1 },
199
+ { 1, 1, 0, 0, 0, 0, 1, 0, 0 },
200
+ { 0, 0, 1, 0, 0, 0, 0, 0, 0 },
201
+ { 0, 0, 0, 1, 0, 1, 1, 1, 1 },
202
+ { 0, 0, 0, 1, 0, 0, 0, 1, 0 } };
208
- } else {
203
+ } else {
209
- System.out.println("正しい値を入力してください。");
204
+ System.out.println("正しい値を入力してください。");
205
+ }
206
+ for (int i = 0; i < 9; i++) {
207
+ for (int j = 0; j < 9; j++) {
208
+ if (data2[i][j] == 0) {
209
+ data1[i][j] = 0;
210
210
  }
211
- for(int i = 0; i < 9; i++) {
212
- for(int j = 0; j < 9; j++) {
213
- if(data2 [i][j] == 0){
214
- data1[i][j] = 0;
215
- }
216
- }
217
- }
218
- Sub.print(data1);
219
211
  }
212
+ }
213
+ Sub.print(data1);
214
+ }
220
215
  }
216
+
221
217
  ```

3

指摘を頂いた点を修正

2019/08/19 05:36

投稿

anpan___
anpan___

スコア28

title CHANGED
File without changes
body CHANGED
@@ -22,7 +22,7 @@
22
22
  if (n == 1) {
23
23
  int[][] data2=
24
24
  {{1,1,1,0,1,1,0,0,0},
25
- {0,0,0,1,0,0,1,0,0},
25
+ {0,0,0,1,0,0,1,0,0},
26
26
  {1,1,1,1,0,1,0,1,0},
27
27
  {0,0,0,0,1,0,0,1,0},
28
28
  {1,1,1,0,1,0,1,0,1},
@@ -33,27 +33,27 @@
33
33
 
34
34
  } else if (n == 2) {
35
35
  int[][] data2 =
36
- {{1,0,1,0,1,1,0,0,0},
36
+   {{1,0,1,0,1,1,0,0,0},
37
- {0,0,0,0,1,1,0,0,0},
37
+ {0,0,0,0,1,1,0,0,0},
38
- {0,0,0,0,0,1,0,1,1},
38
+ {0,0,0,0,0,1,0,1,1},
39
- {0,1,0,1,0,0,1,0,1},
39
+ {0,1,0,1,0,0,1,0,1},
40
- {1,0,0,0,0,0,0,0,1},
40
+ {1,0,0,0,0,0,0,0,1},
41
- {1,0,1,0,0,1,0,1,0},
41
+ {1,0,1,0,0,1,0,1,0},
42
- {1,1,0,1,0,0,0,0,0},
42
+ {1,1,0,1,0,0,0,0,0},
43
- {0,0,0,1,1,0,0,0,0},
43
+ {0,0,0,1,1,0,0,0,0},
44
- {0,0,0,1,1,0,1,0,1}};
44
+ {0,0,0,1,1,0,1,0,1}};
45
45
 
46
46
  }else if (n == 3){
47
47
  int[][] data2 =
48
- {{0,1,0,0,0,1,0,0,0},
48
+ {{0,1,0,0,0,1,0,0,0},
49
- {1,1,1,1,0,1,0,0,0},
49
+ {1,1,1,1,0,1,0,0,0},
50
- {0,0,0,0,0,0,1,0,0},
50
+ {0,0,0,0,0,0,1,0,0},
51
- {0,0,1,0,0,0,0,1,1},
51
+ {0,0,1,0,0,0,0,1,1},
52
- {1,0,0,1,1,1,0,0,1},
52
+ {1,0,0,1,1,1,0,0,1},
53
- {1,1,0,0,0,0,1,0,0},
53
+ {1,1,0,0,0,0,1,0,0},
54
- {0,0,1,0,0,0,0,0,0},
54
+ {0,0,1,0,0,0,0,0,0},
55
- {0,0,0,1,0,1,1,1,1},
55
+ {0,0,0,1,0,1,1,1,1},
56
- {0,0,0,1,0,0,0,1,0}};
56
+ {0,0,0,1,0,0,0,1,0}};
57
57
  } else {
58
58
  System.out.println("半角で1~3の値を入力してください。");
59
59
  }
@@ -171,39 +171,40 @@
171
171
  System.out.println("選択した数字は" + n + "です。");
172
172
  if (n == 1) {
173
173
  int[][] data2=
174
- {{1,1,1,0,1,1,0,0,0},
174
+ {{1,1,1,0,1,1,0,0,0},
175
- {0,0,0,1,0,0,1,0,0},
175
+ {0,0,0,1,0,0,1,0,0},
176
176
  {1,1,1,1,0,1,0,1,0},
177
177
  {0,0,0,0,1,0,0,1,0},
178
178
  {1,1,1,0,1,0,1,0,1},
179
179
  {0,0,0,0,0,1,0,0,1},
180
180
  {0,1,1,1,0,1,1,1,0},
181
- {1,0,0,1,0,0,0,0,0},
181
+ {7,0,0,3,0,0,0,0,0},
182
182
  {1,0,0,0,0,0,1,1,1}};
183
183
 
184
184
  } else if (n == 2) {
185
185
  int[][] data2 =
186
- {{1,0,1,0,1,1,0,0,0},
186
+   {{1,0,1,0,1,1,0,0,0},
187
- {0,0,0,0,1,1,0,0,0},
187
+ {0,0,0,0,1,1,0,0,0},
188
- {0,0,0,0,0,1,0,1,1},
188
+ {0,0,0,0,0,1,0,1,1},
189
- {0,1,0,1,0,0,1,0,1},
189
+ {0,1,0,1,0,0,1,0,1},
190
- {1,0,0,0,0,0,0,0,1},
190
+ {1,0,0,0,0,0,0,0,1},
191
- {1,0,1,0,0,1,0,1,0},
191
+ {1,0,1,0,0,1,0,1,0},
192
- {1,1,0,1,0,0,0,0,0},
192
+ {1,1,0,1,0,0,0,0,0},
193
- {0,0,0,1,1,0,0,0,0},
193
+ {0,0,0,1,1,0,0,0,0},
194
- {0,0,0,1,1,0,1,0,1}};
194
+ {0,0,0,1,1,0,1,0,1}};
195
195
 
196
196
  }else if (n == 3){
197
197
  int[][] data2 =
198
- {{0,1,0,0,0,1,0,0,0},
198
+ {{0,1,0,0,0,1,0,0,0},
199
- {1,1,1,1,0,1,0,0,0},
199
+ {1,1,1,1,0,1,0,0,0},
200
- {0,0,0,0,0,0,1,0,0},
200
+ {0,0,0,0,0,0,1,0,0},
201
- {0,0,1,0,0,0,0,1,1},
201
+ {0,0,1,0,0,0,0,1,1},
202
- {1,0,0,1,1,1,0,0,1},
202
+ {1,0,0,1,1,1,0,0,1},
203
- {1,1,0,0,0,0,1,0,0},
203
+ {1,1,0,0,0,0,1,0,0},
204
- {0,0,1,0,0,0,0,0,0},
204
+ {0,0,1,0,0,0,0,0,0},
205
- {0,0,0,1,0,1,1,1,1},
205
+ {0,0,0,1,0,1,1,1,1},
206
- {0,0,0,1,0,0,0,1,0}};
206
+ {0,0,0,1,0,0,0,1,0}};
207
+
207
208
  } else {
208
209
  System.out.println("正しい値を入力してください。");
209
210
  }

2

指摘いただいた、引数の問題を修正

2019/08/19 05:02

投稿

anpan___
anpan___

スコア28

title CHANGED
File without changes
body CHANGED
@@ -21,19 +21,19 @@
21
21
  System.out.println("選択した数字は" + n + "です。");
22
22
  if (n == 1) {
23
23
  int[][] data2=
24
- {{1,1,1,0,1,1,0,0,0},
24
+ {{1,1,1,0,1,1,0,0,0},
25
- {0,0,0,1,0,0,1,0,0},
25
+ {0,0,0,1,0,0,1,0,0},
26
- {1,1,1,1,0,1,0,1,0},
26
+ {1,1,1,1,0,1,0,1,0},
27
- {0,0,0,0,1,0,0,1,0},
27
+ {0,0,0,0,1,0,0,1,0},
28
- {1,1,1,0,1,0,1,0,1},
28
+ {1,1,1,0,1,0,1,0,1},
29
- {0,0,0,0,0,1,0,0,1},
29
+ {0,0,0,0,0,1,0,0,1},
30
- {0,1,1,1,0,1,1,1,0},
30
+ {0,1,1,1,0,1,1,1,0},
31
- {7,0,0,3,0,0,0,0,0},
31
+ {7,0,0,3,0,0,0,0,0},
32
- {1,0,0,0,0,0,1,1,1}};
32
+ {1,0,0,0,0,0,1,1,1}};
33
33
 
34
34
  } else if (n == 2) {
35
35
  int[][] data2 =
36
- {{1,0,1,0,1,1,0,0,0},
36
+ {{1,0,1,0,1,1,0,0,0},
37
37
  {0,0,0,0,1,1,0,0,0},
38
38
  {0,0,0,0,0,1,0,1,1},
39
39
  {0,1,0,1,0,0,1,0,1},
@@ -46,14 +46,14 @@
46
46
  }else if (n == 3){
47
47
  int[][] data2 =
48
48
  {{0,1,0,0,0,1,0,0,0},
49
- {1,1,1,1,0,1,0,0,0},
49
+ {1,1,1,1,0,1,0,0,0},
50
50
  {0,0,0,0,0,0,1,0,0},
51
51
  {0,0,1,0,0,0,0,1,1},
52
52
  {1,0,0,1,1,1,0,0,1},
53
53
  {1,1,0,0,0,0,1,0,0},
54
54
  {0,0,1,0,0,0,0,0,0},
55
- {0,0,0,1,0,1,1,1,1},
55
+ {0,0,0,1,0,1,1,1,1},
56
- {0,0,0,1,0,0,0,1,0}};
56
+ {0,0,0,1,0,0,0,1,0}};
57
57
  } else {
58
58
  System.out.println("半角で1~3の値を入力してください。");
59
59
  }
@@ -163,7 +163,7 @@
163
163
  }
164
164
  }
165
165
 
166
- public static void create (int[][] data1, int[][] data2) {
166
+ public static void create (int[][] data1) {
167
167
  Scanner s = new Scanner(System.in);
168
168
  System.out.println("難易度を選択してください");
169
169
  System.out.print("(1)簡単/(2)普通/(3)難しい");
@@ -171,19 +171,19 @@
171
171
  System.out.println("選択した数字は" + n + "です。");
172
172
  if (n == 1) {
173
173
  int[][] data2=
174
- {{1,1,1,0,1,1,0,0,0},
174
+ {{1,1,1,0,1,1,0,0,0},
175
- {0,0,0,1,0,0,1,0,0},
175
+ {0,0,0,1,0,0,1,0,0},
176
- {1,1,1,1,0,1,0,1,0},
176
+ {1,1,1,1,0,1,0,1,0},
177
- {0,0,0,0,1,0,0,1,0},
177
+ {0,0,0,0,1,0,0,1,0},
178
- {1,1,1,0,1,0,1,0,1},
178
+ {1,1,1,0,1,0,1,0,1},
179
- {0,0,0,0,0,1,0,0,1},
179
+ {0,0,0,0,0,1,0,0,1},
180
- {0,1,1,1,0,1,1,1,0},
180
+ {0,1,1,1,0,1,1,1,0},
181
- {7,0,0,3,0,0,0,0,0},
181
+ {1,0,0,1,0,0,0,0,0},
182
- {1,0,0,0,0,0,1,1,1}};
182
+ {1,0,0,0,0,0,1,1,1}};
183
183
 
184
184
  } else if (n == 2) {
185
185
  int[][] data2 =
186
- {{1,0,1,0,1,1,0,0,0},
186
+ {{1,0,1,0,1,1,0,0,0},
187
187
  {0,0,0,0,1,1,0,0,0},
188
188
  {0,0,0,0,0,1,0,1,1},
189
189
  {0,1,0,1,0,0,1,0,1},
@@ -196,14 +196,14 @@
196
196
  }else if (n == 3){
197
197
  int[][] data2 =
198
198
  {{0,1,0,0,0,1,0,0,0},
199
- {1,1,1,1,0,1,0,0,0},
199
+ {1,1,1,1,0,1,0,0,0},
200
200
  {0,0,0,0,0,0,1,0,0},
201
201
  {0,0,1,0,0,0,0,1,1},
202
202
  {1,0,0,1,1,1,0,0,1},
203
203
  {1,1,0,0,0,0,1,0,0},
204
204
  {0,0,1,0,0,0,0,0,0},
205
- {0,0,0,1,0,1,1,1,1},
205
+ {0,0,0,1,0,1,1,1,1},
206
- {0,0,0,1,0,0,0,1,0}};
206
+ {0,0,0,1,0,0,0,1,0}};
207
207
  } else {
208
208
  System.out.println("正しい値を入力してください。");
209
209
  }

1

ご指摘いただいた、引数の修正。うまくいっていない箇所の修正

2019/08/19 04:57

投稿

anpan___
anpan___

スコア28

title CHANGED
File without changes
body CHANGED
@@ -6,13 +6,14 @@
6
6
 
7
7
  うまくいっていない部分は、下記のスクリプト内で
8
8
  ・scannerの部分を飛ばし、if文にいきなり入る。
9
+ ・for文内のdata2とif文内のdata2が別物の扱いを受ける
9
10
 
10
11
  この対処法がわからずに困っております。
11
12
  初心者ですので、至らない点だらけだと思いますが、よろしくお願いします。
12
13
 
13
14
  以下問題の発生している点です。
14
15
  ```java
15
- public static void create (int[][] data1, int[][] data2) {
16
+ public static void create (int[][] data1) {
16
17
  Scanner s = new Scanner(System.in);
17
18
  System.out.println("難易度を選択してください");
18
19
  System.out.print("(1)簡単/(2)普通/(3)難しい");
@@ -94,8 +95,7 @@
94
95
  {7,0,0,0,0,0,0,0,0},
95
96
  {8,0,0,0,0,0,0,0,0},
96
97
  {9,0,0,0,0,0,0,0,0}};
97
- private static int[][] data2 = new int[9][9];
98
+
98
-
99
99
  public static void main(String[] args) {
100
100
  Sub.print(data1);
101
101
  placement(data1);
@@ -120,7 +120,7 @@
120
120
  }
121
121
  if(count == 81) {
122
122
  Sub.print(data1);
123
- create(data1, data2);
123
+ create(data1);
124
124
  System.exit(0);
125
125
  } else {
126
126
  placement(data1); //値挿入後に矛盾がないかを確認