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

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

このQ&Aに関連する最新のQ&A

A 回答 (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;  }

}

}

******************************************************************
自分が作成するとしたら、こんな感じです。
見にくくてすみません…
    • good
    • 0

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



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

ArrayListを使うことが条件なんですか?


もっと別の方法があるんじゃないかって気がするんですが。
    • good
    • 0

方法1: ArrayList を 3つ使う.


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

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

このQ&Aと関連する良く見られている質問

Q数学における定義という言葉の意味

数学にはよく・・・と定義するという言い方が出てきますが、数学における定義ということばの意味がよく分かりません。定義というのは発見の一種なのでしょうか。あるいは提案のようなものですか。誤った定義というのはないのでしょうか。定義を行うことができる資格というのは普通の人以上の能力や知識の持ち主に限られているものなのでしょうか。

Aベストアンサー

触れようか、どうしようか迷っていましたが、
rabbit_catさんが触れられたので私も一言。

ユークリッドの公理系の中の23の定義(Definition)には歴史的な意義しかないもの、要するに現代数学ではもはや定義とは成り得ないものがいくつか含まれています。

例えば、第一の定義「点とは部分を持たないものである」などがそれにあたります。
この文章には数学的な意味は全くありません。何故なら、定義とは決め事ですが、この文章では(数学的には)全く何も決めてはいないからです。

Q&= ~0x0c; &= ~0x03; |=1;

JavaScriptで分からないコードがあるので教えてください。


■変数設定
var hoge = 0;


■変数格納
・キーを押した時の条件分岐
  ~なら hoge |= 1;
  または hoge |= 2;
  または hoge |= 3;
  または hoge |= 8;

・キーを離した時の条件分岐
  ~なら hoge &= ~0x0c;
  または hoge &= ~0x03;


■変数使用
・swithch文の条件分岐に利用
  (hoge&0x03)
  (hoge&0x0c)


■質問
・どういう意味でしょうか?
・文字コード?
・ビット演算?

Aベストアンサー

ビット演算してるわね

x = x + a

x += a
って書くことができるの

つまり
hoge |= 1

hoge = hoge | 1
のことね

~はNOTのこと

0x
はアスキーコードの16進数表記ねきっと

0x0c は改ページを意味していて
0x03 は文章の最後を意味している
と思われるわ
全文がないので推測だけど

Q定義の意味

「SGCライブラリ55 超幾何関数入門」という雑誌に記載されていた定義について
質問させていただきます。

添付画像の定義ですが、バックスラッシュ{0}の部分は何を意味しているのでしょうか?
Cは複素数を意味しています。

Aベストアンサー

バックスラッシュ \ は,「除く」という意味です.
四則演算のマイナス(-)に相当する記号です.
すなわち,C を複素数全体の集合とすると,
C^x:=C\{0} と書いて,この式の右辺は C の元から 0 を除く,と言う意味で,
C^x は 0 にはならない複素数全体の集合ということです.一般に,複素数 p∈C は,
実部と虚部が共に 0 ならば,p=0 となりますから,これを避けるための定義です.
なお,蛇足でしょうが,C\{0} の {0} は,0 だけを元としてもつ集合という意味で,
C\{0} を C\0 と書かないのは,C が集合で 0 は集合の意味は持たないためです.
0 のみを元としてもつ集合を {0} と書いて,集合同士の演算として,C\{0} と書くわけです.

Qread(buf,int,int)メソッドで1文字取得する

javaを使ってプログラミングを勉強しています。

read(buf,int,int)メソッドで受信したバイトデータをbufに格納していると思うのですが、
格納したバイトの最後の文字を取得する方法が分かりません。

送信側では送信バイトの最後の文字をsにして送信します。
受信側では読み込んだバイトデータの最後の文字がsだったら、
ループを抜けるというようにしたいのです。

どうやって最後の文字を取得するのでしょうか?

Aベストアンサー

read(byte[], int, int)の返値を見れば何バイト読み込めたのかは分かるのですから、その値を使って配列の添字を計算するだけです。

Q言葉の意味、定義。

なぜ、言葉にはいろんな定義があるんですか?

まず、言葉って誰かが作ったのですよね?ならばその作者の定義が正解なのではないのでしょうか?それなのに、愛とはなにか?とか正義とはなにか?みたいな質問がでるのはなぜなのでしょうか?

私は今まで辞書の意味が正しいと思ってきましたが、なんだか違うみたいでした。

言葉の定義は人それぞれで違うってのがいまいち理解できません。「山」っていう言葉でも、私が言う「山」と誰かがが言う「山」の意味は異なるのですか?

Aベストアンサー

 こんにちは。


 ★ 言葉の意味、定義。
 ☆ まづ 長いですが 《愛》についての次のような辞書の説明を見てみます。

 ▲ ( goo 辞書:愛) ~~~~~~~~~~
 http://dictionary.goo.ne.jp/leaf/jn2/353/m0u/

 あい【愛】

 1 親子・兄弟などがいつくしみ合う気持ち。また、生あるものをかわいがり大事にする気持ち。「―を注ぐ」
  * ギリシャ語:στοργη(ストルゲー);ラテン語:amor ; love

 2 異性をいとしいと思う心。男女間の、相手を慕う情。恋。「―が芽生える」
  * Grk: ερωσ(エロース);Lat.:cupiditas; desire, love

 3 ある物事を好み、大切に思う気持ち。「芸術に対する―」
  * Grk: φιλια(フィリア);Lat.: dilectio; affection (?)

 4 個人的な感情を超越した、幸せを願う深く温かい心。「人類への―」
  * (前項に同じ?)

 5 キリスト教で、神が人類をいつくしみ、幸福を与えること。また、他者を自分と同じようにいつくしむこと。→アガペー
  * ’αγαπη(アガペー); charitas; grace, devotion

 6 仏教で、主として貪愛(とんあい)のこと。自我の欲望に根ざし解脱(げだつ)を妨げるもの。
  * 渇愛:サンスクリット〈トゥリシュナーtṛṣṇā〉;パーリ〈タンハーtaṇhā〉:
   http://kotobank.jp/word/%E6%B8%87%E6%84%9B


 ・・・
 [補説] 
 2013年10月に実施した「あなたの言葉を辞書に載せよう。」キャンペーンでの「愛」への投稿から選ばれた優秀作品。

 ◆無条件に受け入れられる、存在そのもの。
 しーずーさんの投稿

 ◆人である原点。
 MeSiYaさんの投稿

 ◆人を美しくもし、醜くもする矛盾にあふれたもの。
 潮騒のメモリーズさんの投稿

 ・・・・
 ~~~~~~~~~~~~~~~~~~~~~~
 ☆ (1~6)までの事項は 定義というよりは どちらかと言うと 《意味》です。言いかえると そういう用例があるということを拾い上げて載せています。

 もっともそれぞれの間の違いを説明していますから そこではすでに《定義》にも進んで行っています。

 [補説] に載せられた《作品》は 《定義のようなひとつの説明》になるのでしょうか。




 
 ★ なぜ、言葉にはいろんな定義があるんですか?
 ☆ (あ) 人それぞれが おのれの意志行為として生きるとき そこに――どういうわけか――違いが出て来るから。

 (い) 人が違うだけではなく 同じひとりの人にあっても 時を経るあいだに 意志行為のあり方が違ってくれば 思想も進化しており 言葉の定義もやはり違って来ます。

 (う) 多数の人びとがかかわる歴史にあっては さらに定義の違いも出て来る。

 (え) ただしそれでも 一般的な意味ないし定義を 人びとは――自分の思想とは異なっても―― 捉えておこうともする。



 ★ まず、言葉って誰かが作ったのですよね? ならばその作者の定義が正解なのではないのでしょうか?それなのに、愛とはなにか? とか正義とはなにか? みたいな質問がでるのはなぜなのでしょうか?
 ☆ (お) すでに使っている語彙の中から あらたに造語をする場合があります。〈造語一覧〉などで検索できます。

 (か) このような造語でなければ  遠い昔からあるとしか分からない語彙があるのだと思います。

 (き) 造語者の定義も そこから逸れて使うようになった意味も ともに《正解》なのでしょうね。それぞれの思想は 対等であり じっさい相対的なものですから。

 (く) 定義をきちんと決めるのは 議論のためです。互いに違った意味で用いていたなら 空回りになります。

 こんにちは。


 ★ 言葉の意味、定義。
 ☆ まづ 長いですが 《愛》についての次のような辞書の説明を見てみます。

 ▲ ( goo 辞書:愛) ~~~~~~~~~~
 http://dictionary.goo.ne.jp/leaf/jn2/353/m0u/

 あい【愛】

 1 親子・兄弟などがいつくしみ合う気持ち。また、生あるものをかわいがり大事にする気持ち。「―を注ぐ」
  * ギリシャ語:στοργη(ストルゲー);ラテン語:amor ; love

 2 異性をいとしいと思う心。男女間の、相手を慕う情。恋。「―が芽生える」
  * Grk: ερ...続きを読む

QString(byte[] bytes, int offset, int length)の文字コードは?

String(byte[] bytes, int offset, int length)は、バイト配列(8bitずつのまとまり)を、文字列型に直す、というものだと思うのですが文字コードは何にしたがって直すのでしょうか?

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/String.html

Aベストアンサー

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/String.html#String%28byte[],%20int,%20int%29

>プラットフォームのデフォルト文字セットを使用して、

日本語WindowsならShift_JISでしょう。他の環境では解りません。

#なので僕は

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/String.html#String%28byte[],%20int,%20int,%20java.lang.String%29

で指定するほうが好きです。(コードを読む人に,誤解を与えにくく,異なる環境でも挙動を一致させやすいから移植性も高まると考えるため)

どうしてもデフォルトがほしけりゃ
http://java.sun.com/javase/6/docs/api/java/nio/charset/Charset.html#defaultCharset%28%29
があるわけですし

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/String.html#String%28byte[],%20int,%20int%29

>プラットフォームのデフォルト文字セットを使用して、

日本語WindowsならShift_JISでしょう。他の環境では解りません。

#なので僕は

http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/String.html#String%28byte[],%20int,%20int,%20java.lang.String%29

で指定するほうが好きです。(コードを読む人に,誤解を与えにくく,異なる環境でも挙動を一致させやすいか...続きを読む

Q数学の記号&定義の意味

数学の記号や定義の意味について、
分からない、もしくは、分かりにくいので教えてください。

1)n次元Euclid空間(定義)
2)線形空間(1に付随して)
3)内積空間(1・2に付随して)
4)座標ベクトル(1-3に付随して)
5)∀(記号)
6)ヨ(記号)
7)『→』と『|→』の違い(記号)
8)近傍(意味or定義)
9)『開集合』と『閉集合』(定義)
10)『⊂』と『∈』の違い(記号)
11)So:内点(internal point)(定義)
12)∂S:境界点(foundary point)(定義)
13)S ̄:閉包(closure)(定義)【Sバー】

・まずは、感覚的にとらえたいです。
・分かりやすいホームページなどを知っていたらお願いします。
・分かる部分だけでもイイので、お願いします。

よろしくお願いします。

Aベストアンサー

高校数学レベルと大学1・2年レベルのものが混じっていると思いますが、大学初年用の微積分と代数の教科書で勉強するのがいいのではないでしょうか。理系大学生では多分必修では?
もしこれらの言葉を全部理解出来てないのであれば、Webページでの情報では理解が難しいのではないかと思います。
もし今高校生か文系大学生で、大学用数学教科書が難しければ、講談社ブルーバックスなんかでもいいと思います。最近は、「図解わかるxxxx」等という本もあるので、微積分、線形代数あたりを読むのもいいでしょう。

とりあえず高校レベルの3つだけ。(もしかしたら最近のカリキュラムでは高校でやらないのか?)
5) ∀x p(x)  xの値にかかわらず命題関数p(x)が真となる
6) ヨx q(x)  命題関数q(x)が真となるようなxが少なくとも1つ存在する
10) A⊂B  集合Aは集合Bの真部分集合(部分集合を意味するケースもある)
  x∈C  xは集合Cの要素である
あとは、お書きになっているように1)2)3)4)あたりはからんでいるし、8)近傍が分からないと9)11)12)13)は分からないでしょう。

高校数学レベルと大学1・2年レベルのものが混じっていると思いますが、大学初年用の微積分と代数の教科書で勉強するのがいいのではないでしょうか。理系大学生では多分必修では?
もしこれらの言葉を全部理解出来てないのであれば、Webページでの情報では理解が難しいのではないかと思います。
もし今高校生か文系大学生で、大学用数学教科書が難しければ、講談社ブルーバックスなんかでもいいと思います。最近は、「図解わかるxxxx」等という本もあるので、微積分、線形代数あたりを読むのもいいでしょう。...続きを読む

QmoveTo(0,0);

<script language="JavaScript">
<!--
function new1(){
newwind2=window.open("","newwind1","width=200,height=200");
newwind2.moveTo(0,0);
          }
//-->
</script>
上記のスクリプトの時、
ウインドウの位置が(0,0)の位置に表示されず、画面の真ん中に表示される、
なぜですか。

Aベストアンサー

そのソースに問題はなさそうです。
例えば、

 <input id=newwind2>
 <script language="JavaScript">
 newwind2=window.open("","newwind1","width=200,height=200");
 newwind2.moveTo(0,0);
 </script>

とすると、
 window.open("","newwind1","width=200,height=200");
は実行されるけど
 newwind2.moveTo(0,0);
は実行されません。

Q「単語」の意味の定義について

私が用いてる国文法の参考書では「単語とは、意味のある言葉としては、これ以上分けることができない、最も小さい単位」と定義されています。また、その参考書では、単語は自立語(それだけで意味がわかる言葉)と付属語(それだけでは意味がわからない言葉)の2点に分けられるとしています。


質問:この参考書の単語の定義では『意味のある言葉としては』とありますから、付属語は「それだけでは意味がわからない言葉」(つまり意味がない)ですから単語ではないと思うんです。上記の単語の定義は矛盾しているのでしょうか?

質問2:矛盾していないなら、その理由は「『それだけでは』意味がわからない単語と云うだけであって、意味自体はある。」から。

例えば「犬と散歩する」の「と」は格助詞で「共同動作する相手を表す」と云う意味があります。然し単独で抜き出してみると「と」の意味
は分かりませんが、でも「文法上の意味(共同動作する相手を表す)」はあります。だから矛盾はしてないと。

Aベストアンサー

#2です。

補足拝見しました。
全くそのとおりです。
  

QInteger型やArrayList型をint型にする方法は?

こんばんは。
Java初心者です。どうぞよろしくお願いします。

Integer型やArrayList型をint型にするにはどうしたらよいのでしょうか?
どうかアドバイスをよろしくお願いします。

Aベストアンサー

具体的には何をしたいのでしょうか。
Integer型ならintValueを取ればint型の値を得られますが、ArrayList型は明らかにint型とは互換性がありません。
どんなint型の値を取りたいのか分からないと有効な回答はできません。


人気Q&Aランキング