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

回答編集履歴

2

tuiki

2020/05/08 04:46

投稿

shiketa
shiketa

スコア4133

answer CHANGED
@@ -1,3 +1,69 @@
1
1
  課題ぽいので、ヒントだけ。
2
2
  `int[] c = a; a = b; b = c;`が何をしているのかを考えてみましょう。
3
- そして、`a[1]++; b[1]--;`を実行するとき、a,bそれぞれがナニを**指しているのか**を考えてみましょう。
3
+ そして、`a[1]++; b[1]--;`を実行するとき、a,bそれぞれがナニを**指しているのか**を考えてみましょう。
4
+
5
+ ----
6
+
7
+ 理解はされたようですが、
8
+
9
+ > 課題とかではなく練習問題ですので、
10
+
11
+ ということなので。
12
+ それぞれの変数が「ナニを指しているか」、**ナニを**、**指しているか**、追ってみればわかるでしょう。
13
+
14
+ mainメソッドのaをmain.a、mondai6Methodメソッドのaをmondai6Method.aと表記します。
15
+
16
+ ```
17
+ public static void main(String[] args) {
18
+ main.a -> {1,2,3}
19
+ main.b -> {4,5,6}
20
+ ```
21
+
22
+ ```
23
+ mondai6Method(a, b);
24
+ public static void mondai6Method(int[] a, int[] b) {
25
+ mondai6Method.a -> main.a -> {1,2,3}
26
+ mondai6Method.b -> main.b -> {4,5,6}
27
+ ```
28
+
29
+ ```
30
+ int[] c = a;
31
+ mondai6Method.a -> main.a -> {1,2,3}
32
+ mondai6Method.b -> main.b -> {4,5,6}
33
+ mondai6Method.c -> mondai6Method.a -> main.a -> {1,2,3}
34
+ ```
35
+
36
+ ```
37
+ a = b;
38
+ mondai6Method.a -> mondai6Method.b -> main.b -> {4,5,6}
39
+ mondai6Method.b -> main.b -> {4,5,6}
40
+ mondai6Method.c -> mondai6Method.a -> main.a -> {1,2,3}
41
+ ```
42
+
43
+ ```
44
+ b = c;
45
+ mondai6Method.a -> mondai6Method.b -> main.b -> {4,5,6}
46
+ mondai6Method.b -> mondai6Method.c -> mondai6Method.a -> main.a -> {1,2,3}
47
+ mondai6Method.c -> mondai6Method.a -> main.a -> {1,2,3}
48
+ ```
49
+
50
+ つまり、
51
+ ```
52
+ mondai6Method.a -> main.b -> {4,5,6}
53
+ mondai6Method.b -> main.a -> {1,2,3}
54
+ ```
55
+
56
+ ```
57
+ a[1]++; b[1]--;
58
+ mondai6Method.a -> main.b -> {4,6,6}
59
+ mondai6Method.b -> main.a -> {1,1,3}
60
+ ```
61
+
62
+ ```
63
+ System.out.println(a[1]);
64
+ System.out.println(b[1]);
65
+ main.a -> {1,1,3}
66
+ main.b -> {4,6,6}
67
+ ```
68
+
69
+ てことで。

1

書式の改善

2020/05/08 04:45

投稿

shiketa
shiketa

スコア4133

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  課題ぽいので、ヒントだけ。
2
2
  `int[] c = a; a = b; b = c;`が何をしているのかを考えてみましょう。
3
- そして、`a[1]++; b[1]--;`を実行するとき、a,bそれぞれがナニを指しているのかを考えてみましょう。
3
+ そして、`a[1]++; b[1]--;`を実行するとき、a,bそれぞれがナニを**指しているのか**を考えてみましょう。