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

回答編集履歴

1

追記

2017/10/25 15:08

投稿

swordone
swordone

スコア20675

answer CHANGED
@@ -1,4 +1,33 @@
1
1
  setメソッドを使いましょう。
2
2
  ```java
3
3
  obj.pillar.set(1, pillar_calc(obj.pillar.get(1)));
4
+ ```
5
+ 該当箇所でエラーが出ているのは、`obj.pillar.get(1)`の返り値が「変数」ではなく「オブジェクト」だからです。
6
+ 無理やりほかの書き方をしてみれば、
7
+ ```java
8
+ // もちろんコンパイルエラー
9
+ new Pillar(0.0, 0.0, 0.0) = new Pillar(1.0, 1.0, 1.0);
10
+ ```
11
+ のような書き方です。
12
+
13
+ ぶっちゃけObject_colなんて不要では?Pillarを追加したければListでいいわけですし。
14
+ ```java
15
+ public class Er_test {
16
+
17
+ public static List<Pillar> cols = new ArrayList<>();
18
+
19
+ public static void main(String[] args) {
20
+ cols.add(new Pillar(10, 10, 10));
21
+ cols.add(new Pillar(20, 20, 20));
22
+
23
+ cols.set(1, pillar_calc(obj.pillar.get(1)));
24
+
25
+ }
26
+
27
+
28
+ public static Pillar pillar_calc(Pillar pillar) {
29
+
30
+ return pillar;
31
+ }
32
+ }
4
33
  ```