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

回答編集履歴

5

注意書き追加

2021/11/08 07:56

投稿

jimbe
jimbe

スコア13352

answer CHANGED
@@ -3,6 +3,7 @@
3
3
  ですので、data に入れる順を別途配列に持っておいて、その配列に沿って入れていけば良いのではないでしょうか。
4
4
  (そうすれば irekata 毎の if も必要ありません。)
5
5
 
6
+ ※x,y は 3x3 の横方向縦方向のつもりで書いてありますのでご注意ください。
6
7
  ```java
7
8
  int[][] indexs = new int[][] { // x+y*3 の値
8
9
  { 0,1,2, 3,4,5, 6,7,8 }, //入れ方1

4

コード微修正

2021/11/08 07:56

投稿

jimbe
jimbe

スコア13352

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  (そうすれば irekata 毎の if も必要ありません。)
5
5
 
6
6
  ```java
7
- int indexs[][] = new int[][] { // x+y*3 の値
7
+ int[][] indexs = new int[][] { // x+y*3 の値
8
8
  { 0,1,2, 3,4,5, 6,7,8 }, //入れ方1
9
9
  { 0,3,6, 1,4,7, 2,5,8 }, //入れ方2
10
10
  { 7,2,3, 0,4,8, 5,6,1 } //入れ方3

3

java になってなかった・・・orz

2021/11/08 07:51

投稿

jimbe
jimbe

スコア13352

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  (そうすれば irekata 毎の if も必要ありません。)
5
5
 
6
6
  ```java
7
- int indexs[][9] = { // x+y*3 の値
7
+ int indexs[][] = new int[][] { // x+y*3 の値
8
8
  { 0,1,2, 3,4,5, 6,7,8 }, //入れ方1
9
9
  { 0,3,6, 1,4,7, 2,5,8 }, //入れ方2
10
10
  { 7,2,3, 0,4,8, 5,6,1 } //入れ方3

2

i=1 からループと想定変更

2021/11/08 07:47

投稿

jimbe
jimbe

スコア13352

answer CHANGED
@@ -11,7 +11,7 @@
11
11
  };
12
12
  ```
13
13
  ```java
14
- int x = indexs[irekata-1][i] % 3;
14
+ int x = indexs[irekata-1][i-1] % 3;
15
- int y = indexs[irekata-1][i] / 3;
15
+ int y = indexs[irekata-1][i-1] / 3;
16
16
  data[x][y] = nyuryoku;
17
17
  ```

1

indexs 値修正

2021/11/08 07:33

投稿

jimbe
jimbe

スコア13352

answer CHANGED
@@ -7,7 +7,7 @@
7
7
  int indexs[][9] = { // x+y*3 の値
8
8
  { 0,1,2, 3,4,5, 6,7,8 }, //入れ方1
9
9
  { 0,3,6, 1,4,7, 2,5,8 }, //入れ方2
10
- { 3,8,1, 2,4,6, 7,0,5 } //入れ方3
10
+ { 7,2,3, 0,4,8, 5,6,1 } //入れ方3
11
11
  };
12
12
  ```
13
13
  ```java