• 締切済み

Java初心者です。

Java初心者です。 現在あるJavaの問題を解いていて、つまづいてしまいました。 わかる方、ご教示お願いします。 以下問題 ****************************************************************** 以下2メソッドを持つShikenKekkaクラスを作成せよ ・学籍No,科目,点数を登録する void Toroku(String 学籍No , Kamoku 科目 , int 点数); ・引数で指定した学籍No,科目の点数を返す int getTensu(String 学籍No,Kamoku 科目); 科目は以下の定義 enum Kamoku{KOKUGO,SANSU,RIKA} 使用例として、 ShikenKekka sk = new ShikenKekka(); sk.Toroku("0A01",Kamoku.KOKUGO,70); sk.Toroku("0A01",Kamoku.SANSU ,60); sk.Toroku("0A01",Kamoku.RIKA ,50); sk.Toroku("0B02",Kamoku.KOKUGO,75); sk.Toroku("0B02",Kamoku.SANSU ,65); sk.Toroku("0B02",Kamoku.RIKA ,55); int point = sk.getTensu("0B02",Kamoku.RIKA); ****************************************************************** ArrayListを使って値を格納しようとしているのですが、 ArrayListの使い方がうまくできません。 学籍No,科目,点数の3つの値をどうすれば格納して保持できるのか、 教えていただけますでしょうか。 わかりずらい説明で申し訳ありません。

みんなの回答

回答No.4

enumクラスを使えばいいのかな? public enum kamoku { KOKUGO,SANSU,RIKA; } で kakunouのメッソドに kakunou(Kamoku k){ Kamoku kamoku = k; } 大雑把ですみませんw

すると、全ての回答が全文表示されます。
  • erudot
  • ベストアンサー率0% (0/1)
回答No.3

ご参考までに。 mintia007さんの回答でHashMapやHashTableが触れられていますが、これに加えMap系にはEnumMapという素敵なものがあります。 HashMapと組み合わせると便利かと思います。

参考URL:
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/EnumMap.html
すると、全ての回答が全文表示されます。
  • mintia007
  • ベストアンサー率59% (16/27)
回答No.2

私ならArrayListではなく、キーと格納する値で管理しているHashMap又はHashtableを使いますね。 それで、学籍Noと科目と点数を格納するbeansを作り、学籍Noをキーにしてそのbeansオブジェクト を対の値として管理します。 ArrayListの場合、入れた順番が保証されるのでイテレータで取り出せば順番に管理できますが、 各要素が別管理されるのがマズイです。そこで学籍Noと科目と点数を格納するbeansを作り それで管理させます。それまでならOKなのですが、例えば0B02の算数だけ取得したといった場合、 難しくなりますよね。Map系を使えばキーで簡単に取得できます。 ご参考まで。

すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「学籍No,科目,点数の3つの値」を格納するクラスを作ればいいんじゃないか?

peachnyan
質問者

補足

回答ありがとうございます。 public class kakunou(String gakuseki,Subject kamoku,int tokuten){ String gakuseki2 = gakuseki; int tokuten2 = tokuten; } ここまでは出来たのですが、enumのKamokuの中身をどう記述すれば善いかわかりません。 もし、よろしければ教えて下さい。

すると、全ての回答が全文表示されます。

関連するQ&A