• 締切済み

ArrayListについて教えてください

ArrayListについて教えてください 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つの値をどうすれば格納して保持できるのか、 教えていただけると助かります わかりずらい説明で申し訳ありません。

みんなの回答

  • sacra04
  • ベストアンサー率33% (1/3)
回答No.4

以下ShikenKekkaClass ****************************************************************** import java.util.ArrayList; import java.util.List; public class ShikenKekka { // 科目は以下の定義 public enum Kamoku{KOKUGO,SANSU,RIKA}; // 成績格納リスト List<MySeiseki> seisekiList; /** * コンストラクタ */ public ShikenKekka(){ this.seisekiList = new ArrayList<MySeiseki>(); } /** * 学籍No,科目,点数を登録する * @param no 学籍No * @param kamoku 科目 * @param tensu 点数 */ public void Toroku(String no , Kamoku kamoku , int tensu){   MySeiseki myseiseki = new MySeiseki(no, kamoku, tensu);  this.seisekiList.add(myseiseki); } /** * 引数で指定した学籍No,科目の点数を返す * 該当なしの場合は0を返す * @param no 学籍No * @param kamoku 科目 * @return tensu 点数 */ public int getTensu(String no, Kamoku kamoku){   // 点数格納変数の初期化  int ten = 0;  for(MySeiseki work: this.seisekiList){   // 学歴NOと科目が一致すれば点数を取得   if(work.getGakurekiNo().equals(no) && work.getKamoku().equals(kamoku)){  ten = work.getTensu();  break;    } }   return ten; } // MY成績クラス public class MySeiseki{ String gakurekiNo; // 学歴No Kamoku kamoku; // 科目 int tensu;  // 点数 // コンストラクタ public MySeiseki(String no, Kamoku k, int ten){ this.gakurekiNo = no; this.kamoku = k; this.tensu = ten; } // 学歴NOを取得する public String getGakurekiNo(){ return this.gakurekiNo; } // 科目を取得する public kamoku getKamoku(){  return this.kamoku;  } // 点数を取得する public int getTensu(){ return this.tensu;  } } } ****************************************************************** 自分が作成するとしたら、こんな感じです。 見にくくてすみません…

noname#161960
noname#161960
回答No.3

Map<String,ArrayList> がやりたかったんじゃないかと推測。

参考URL:
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Map.html
  • YoshiMu
  • ベストアンサー率41% (96/229)
回答No.2

ArrayListを使うことが条件なんですか? もっと別の方法があるんじゃないかって気がするんですが。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

方法1: ArrayList を 3つ使う. 方法2: 「学籍No,科目,点数の3つの値」を格納するクラスを作る.

関連するQ&A