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

回答編集履歴

5

追記

2017/12/25 09:24

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -43,7 +43,7 @@
43
43
  ```
44
44
 
45
45
  なお、次のように書いても動作は同じですが、処理効率が悪いので避けた方がよいです。
46
- これならなんとなく意味がわかるのではないでしょうか?
46
+ しかしこれならなんとなく意味がわかるのではないでしょうか?
47
47
  ```Java
48
48
  String ret = "";
49
49
  for(int i = 0; i < 5; i++) {

4

追記

2017/12/25 09:24

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -40,4 +40,15 @@
40
40
  }
41
41
  return stringBuffer.toString();
42
42
  }
43
+ ```
44
+
45
+ なお、次のように書いても動作は同じですが、処理効率が悪いので避けた方がよいです。
46
+ これならなんとなく意味がわかるのではないでしょうか?
47
+ ```Java
48
+ String ret = "";
49
+ for(int i = 0; i < 5; i++) {
50
+ ret = ret + String.valueOf(numArray[i]);
51
+ }
52
+ return ret;
53
+ }
43
54
  ```

3

ググったらちょっとまずいかも

2017/12/25 09:23

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -16,7 +16,7 @@
16
16
  int a = (int) (Math.random() * 10);
17
17
  int b = (int) (Math.random() * 10);
18
18
 
19
- // 入れ替えるよ。いわゆる『スワッピング』だよ。 
19
+ // 入れ替えるよ。いわゆる『スワッ』だよ。 
20
20
  int temp = numArray[a];
21
21
  numArray[a] = numArray[b];
22
22
  numArray[b] = temp;

2

コメントの追加

2017/12/25 09:15

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -6,30 +6,38 @@
6
6
  既にmaisumakunさんが回答されている通りです。
7
7
  ピンと来ないのなら、[可視化](https://goo.gl/mhd6nA)してみると良いでしょう。
8
8
 
9
- > ```Java
9
+ ```Java
10
- > public static String randomNum() {
10
+ public static String randomNum() {
11
- > int[] numArray = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
11
+ int[] numArray = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
12
12
 
13
+ // なんとなく6回繰り返すよ。回数は適当だよ。
13
- > for (int i = 0; i < 6; i++) {
14
+ for (int i = 0; i < 6; i++) {
15
+ // 0~9の値をランダムに決めるよ。
14
- > int a = (int) (Math.random() * 10);
16
+ int a = (int) (Math.random() * 10);
15
- > int b = (int) (Math.random() * 10);
17
+ int b = (int) (Math.random() * 10);
16
18
 
19
+ // 入れ替えるよ。いわゆる『スワッピング』だよ。 
17
- > int temp = numArray[a];
20
+ int temp = numArray[a];
18
- > numArray[a] = numArray[b];
21
+ numArray[a] = numArray[b];
19
- > numArray[b] = temp;
22
+ numArray[b] = temp;
20
- > }
23
+ }
21
- > ```
24
+ ```
22
25
 
23
26
  その後の処理について
24
27
  ---
25
28
  戻り値をString型にするために、int[]からStringへの置換を試みています。
26
29
  その際、StringBufferを噛ませることで、処理の効率化を図っています。
27
- > ```Java
30
+ ```Java
31
+ // 長さ5のインスタンスを作るよ。
28
- > StringBuffer stringBuffer = new StringBuffer(5);
32
+ StringBuffer stringBuffer = new StringBuffer(5);
29
33
 
30
- > for (int i = 0; i < 5; i++) {
34
+ for (int i = 0; i < 5; i++) {
35
+ // 一個ずつ加えて(append)いくよ。
36
+ stringBuffer.append(
37
+ // numArray[i]をString型に変更するよ。 ex) 1 -> "1"
31
- > stringBuffer.append(String.valueOf(numArray[i]));
38
+ String.valueOf(numArray[i])
32
- > }
39
+ );
40
+ }
33
- > return stringBuffer.toString();
41
+ return stringBuffer.toString();
34
- > }
42
+ }
35
- > ```
43
+ ```

1

リンクの変更

2017/12/25 09:14

投稿

LouiS0616
LouiS0616

スコア35678

answer CHANGED
@@ -4,7 +4,7 @@
4
4
  シャッフルしている部分について
5
5
  ---
6
6
  既にmaisumakunさんが回答されている通りです。
7
- ピンと来ないのなら、[可視化](https://goo.gl/vAA8AD)してみると良いでしょう。
7
+ ピンと来ないのなら、[可視化](https://goo.gl/mhd6nA)してみると良いでしょう。
8
8
 
9
9
  > ```Java
10
10
  > public static String randomNum() {