重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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つの値をどうすれば格納して保持できるのか、
教えていただけますでしょうか。

わかりずらい説明で申し訳ありません。

A 回答 (4件)

enumクラスを使えばいいのかな?



public enum kamoku {
KOKUGO,SANSU,RIKA;
}

kakunouのメッソドに
kakunou(Kamoku k){
Kamoku kamoku = k;
}
大雑把ですみませんw
    • good
    • 0

ご参考までに。



mintia007さんの回答でHashMapやHashTableが触れられていますが、これに加えMap系にはEnumMapという素敵なものがあります。

HashMapと組み合わせると便利かと思います。

参考URL:http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/ja …
    • good
    • 0

私ならArrayListではなく、キーと格納する値で管理しているHashMap又はHashtableを使いますね。


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

ご参考まで。
    • good
    • 0

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

この回答への補足

回答ありがとうございます。

public class kakunou(String gakuseki,Subject kamoku,int tokuten){
String gakuseki2 = gakuseki;

int tokuten2 = tokuten;
}
ここまでは出来たのですが、enumのKamokuの中身をどう記述すれば善いかわかりません。
もし、よろしければ教えて下さい。

補足日時:2010/06/15 14:28
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!