- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:arraylistについて)
ArrayListについて-ArrayListの勉強中
このQ&Aのポイント
- ArrayListについて勉強しています。
- ArrayListに自作クラスであるPersonを入れると、最後に入力した情報しか出力されません。
- ロジックの中で、国語の平均点と各人の平均点を計算しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
省略して書いてないところが問題でしょう。たぶん。 こんな感じで書いてませんか? Person person; for(人数分ループ) { /* ここで入力処理 */ person.setKo(国語の点); person.setSu(数学の点); person.setEi(英語の点); persondata.add(person); } これだと同じ person を使いまわしてるのでダメです。 こんな風にしてみてください。 Person person = null; for(人数分ループ) { person = new Person(); /* ここで入力処理 */ person.setKo(国語の点); person.setSu(数学の点); person.setEi(英語の点); persondata.add(person); }
その他の回答 (1)
- SpiralGalaxy
- ベストアンサー率39% (649/1653)
回答No.2
>箱は一つだから、実際はその箱をみてるだけだから >、すべて最後に入力したものが出力される。 >という考え方でよいでしょうか? はい。そういうことになります。 その都度 new して別の箱を作ってやる必要があると思います。 >ぴったりでました。 そうですか(^^)良かったです。
質問者
お礼
SpiralGalaxyさん!ほんとにありがとうございます。 私もここの質問に答えられるよう頑張ります! (まだしばらくは質問側でしょうが(^^ゞ) ありがとうございました~!!
お礼
SpiralGalaxyさんありがとうございます。 ぴったりでました。 私の勉強不足ですね(>_<) ほんとうにありがとうございました!
補足
同じpersonを使いまわすと、 箱は一つだから、実際はその箱をみてるだけだから 、すべて最後に入力したものが出力される。 という考え方でよいでしょうか?