ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

Javaの課題丸投げコミュの最近Javaを勉強し始めた者です。

  • mixiチェック
  • このエントリーをはてなブックマークに追加
学校の課題でちょっと分からない部分があるので、教えて下さいー!

問題の内容が:
List<青山学生>型の変数"list"を宣言し、ArrayList<青山学生>を生成して代入する
学習院学生のインスタンスを生成し、適当な名前を設定した後にlistに追加する。って言う設問に対して、リストに

gakushuin.list(リスト名)を書いたのですがエラーが出て全然わからないー!ので教えて下さい。

あと、Iteratorを使用して、list内の全ての要素に対して処理を行う
っていう設問全然意味が分からないので、誰か私に教えて下さい〜ハート

最後の設問に生徒名()を呼び出し、値を出力する
これについても教えて下さい〜!





コメント(42)

必要十分な情報(要点だけを要約して)を書いてもらったほうが答える方としては助かるのですが。少々面倒でも設問をそのまま載せたほうがいいかもしれません。


>エラーが出て全然わからないー!
どのようなエラーが出ているのでしょうか?
エラーがでたらとりあえず読んで見ましょう。
少なくとも英語に似た言葉で書かれているはずです。(もしくは日本語)

すみませんが、あなたのその情報ではなにもわかりません。
問題文を、私語を交えず、全てお書きください。
public class Exam{

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
}
List<青山学生>ArrayList = new ArrayList<青山学生>();
List<学習院学生> student = new ArrayList<学習院学生>();
list.add("経済学部”,"経営学部”);
リストのところに赤線でていて、構文エラーて書いてました。
    こんな感じです。
それで私のところにリストの学部を書いたんですが、エラーが出たのでどうやって、リスト書けばいいかわからないです。
これでよろしいでしょうか?
問題文はこれで全部でしょうか?
岩清水さんもおっしゃっているように問題文をそのまま載せてもらえませんか?

少なくとも青山学生クラスや学習院学生クラスが必要です。

>リストのところに赤線でていて、構文エラーて書いてました。
list.add("経済学部”,"経営学部”);
この部分を
list.add("経済学部","経営学部");
このように直せばとりあえずそのエラーはなくなります。
メインメソッドに以下の処理を記述する
List<青山学生>型の変数"list"を宣言し、ArrayList<青山学生>を生成して代入する
学習院学生のインスタンスを生成し、適当な名前を設定した後にlistに追加する
慶応学生のインスタンスを生成し、適当な名前を設定した後にlistに追加する
早稲田学生インスタンスを生成し、適当な名前を設定した後にlistに追加する
Iteratorを使用して、list内の全ての要素に対して処理を行う
一流大学()を呼び出し、値を出力する
一流大学中()を呼び出し、値を出力する
一流大学下()を呼び出し、値を出力する リストの中にはそれぞれの大学の学部を適当に記入する事。っていうのがすべての設問がすべての内容ですね。
お騒がせしてごめんなさいあせあせあせあせ(飛び散る汗)
list.add("経済学部”,"経営学部”);

ここの部分なんですけど、ArraylistをList型に入れたとき、使えるメソッドってList型(インターフェイス)が持っているメソッドで、ArrayListが実装しているものだけでしたよね。(ポルモリフィズム)

そうすると、add()メソッドの取れる引数は、add(int index, Object element)
もしくは、よく使うadd(Object o)の二つしか、引数のパターンがないと思うのですが。(javadoc1.4参考)

どうして、上のようにかけるのか疑問なので、教えていただきたいのですが。
>>Miki
それでも問題の意味がわかりません。

というかもっと頭いい文章書けないのですか?
「将来は海外で活躍出来る女優になるために 英語と演劇を勉強中です。(≧∇≦)v 」
なんてプロフィールに書いているけれども、まず日本語の勉強をするべきです。
あと、Iteratorの利用ってなんでしょうか?
最後に下から3行の大学を呼び出し、値を出力するって!
本当にごめんなさい〜!あせあせあせあせ(飛び散る汗)
私の教授、最悪だわ〜!
パンチ
うーん、、、
情報専攻の人間としてはわが目を疑いたくなるような課題ですね。。。
多くの情報を推理で補うとして恐らくこんな感じかと・・・

>Gourmand さん
目を疑っている間に#7に嘘を書いていた、、、
list.add("経営学部");
ですね。
ご指摘ありがとうございます。
脳内補完でMap扱いしていました。


public static void main(String[] args) {
List<青山学生>list = new ArrayList<青山学生>();

学習院学生 gaku = new 学習院学生();
慶応学生 keio = new 慶応学生();
早稲田学生 waseda = new 早稲田学生();

for (Iterator<青山学生> it = list.iterator(); it.hasNext(); ) {
青山学生 gakusei = it.next();
gakusei.生徒名();

gakusei.一流大学();
gakusei.一流大学中();
gakusei.一流大学下();
}

}

ここまでの情報ではこれが限界です。
>リストの中にはそれぞれの大学の学部を適当に記入する事。
まったく意味がわかりません。

以前の課題で青山学生クラスなど作ったことあります?
青山学生.java見たいなファイルあります?
>1日3万稼ぐ方法
これこのままでCopy and pasteしたので!
これ以上の問題は無いですよ!あせあせ失恋
>しのぶ さ〜ん
リストは先程、上記で書いた例えでそこら辺くわしく教えてくれませんか?ハート
つまりlist.add(int index, object element の後に学部を書けば出力出来るのでしょうか?
>しのぶさーん
ちなみに私このクラスを初めて取って、このわけのわからない教授にあたりました。涙
本当に、問題に付加された情報がこれだけであれば、明らかに問題が悪い(というか回適切な回答が不可能)です。
とはいえ、こんな問題が本当に存在するとは思えません。

例えば、この問題はテキストの途中や最後にあるもので、テキストの内容を前提とした問題になっていませんか?
例えば、過去にこの問題に繋がる課題などが出されていませんか?
その前に誰か突っ込まないのかな…

public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
}
List<青山学生>ArrayList = new ArrayList<青山学生>();
List<学習院学生> student = new ArrayList<学習院学生>();
list.add("経済学部”,"経営学部”); ←メソッド外でこんなこと出来ないですよ…
その教授・・・
java.util.HashMapクラスと勘違いしているような?
この問題が存在するなら自分なら真っ先にHashMapクラスを連想しますけど。
putメソッド(Ver 1.4参考)
public Object put(Object key,Object value)
Object keyもvalueもString の文字列で指定できます。
map.put("経済学部","経営学部");
これで上記の実現が行えますが・・・
>檸檬さん
10番で私が突っ込みました。

その後、なぜか、しのぶさんからレスをもらいました。

ええと、若い女性に頼られるのは気分のいいものですが、、、

#15
>>しのぶ さ〜ん
>リストは先程、上記で書いた例えでそこら辺くわしく教えてくれませんか?
>つまりlist.add(int index, object element の後に学部を書けば出力出来るの>でしょうか?
結論から言って出力出来ません。
リストとは、順序付けられた集合です。
http://ja.wikipedia.org/wiki/%E3%83%AA%E3%82%B9%E3%83%88_%28%E6%8A%BD%E8%B1%A1%E3%83%87%E3%83%BC%E3%82%BF%E5%9E%8B%29
http://java.sun.com/javase/ja/6/docs/ja/api/java/util/List.html

#16
>>しのぶさーん
>ちなみに私このクラスを初めて取って、このわけのわからない教授にあたりまし>た。
私が言うクラスはJava言語におけるクラスで、授業の意味ではありません。

わけわからない教授に当たってしまったことは気の毒に思いますが、
その授業で単位(?)を取りたいのであれば頑張って勉強するしかないでしょう。

seraphさんが仰っているように、これだけでは解けません。
何か思い当たる情報はないでしょうか?
以前の課題や授業などは無かったのでしょうか?
Mikiさん
 この問題は、seraphさんをはじめみなさんがおっしゃっているように、ずっとこの話題で授業をやってきた上での問題と見受けます。ですので、いままでやってきた詳しい授業内容がわからない限り、回答が誰にも出来ません。
 今のMikiさんには、今までの授業のうち、なにをここに書けばいいのかの取捨選択はできないでしょう。 同じ授業に出ていた友人たちに聞く以外には方法はないと思います。理工学部の学生か院生に聞くのも早そうですが、キャンパス別でしたよね?

--- 以後雑談(本筋?) ---
>List<青山学生>型の変数"list"を宣言し、ArrayList<青山学生>を生成して代入する
>学習院学生のインスタンスを生成し、適当な名前を設定した後にlistに追加する
しかし、これって
class 学習院学生 extends 青山学生 { ... }
ってこと?それってすごくね?
by 岩清水
>Gourmandさん
Gourmandさんが言いたいのは、メソッドへの引数のことなのでは?
僕が言いたいのは、フィールド定義のように、メソッド呼び出しが書けないということなのですが…。
(mainメソッドのスコープ外にかかれてますからね)

まあ、両方同時に間違えているので、救いようがないのですが…
>檸檬さん

引数が2つあるメソッドと同じ行を矢印がさしていたので、間違えました。

スコープ外に書かれていることまでは、気がつきませんでした。

さすが、檸檬さんです。

すいませんでした。
>Mikiさん

一流大学()を呼び出し、値を出力する
一流大学中()を呼び出し、値を出力する
一流大学下()を呼び出し、値を出力する

上記のメソッドが全く不明で理解できません。
全てのクラスが上記のメソッドを持ち、boolean型でtrueかfalseと値を返すのですか?

今までにある情報では以下が限界です。
とりあえず学部を出力するだけの処理は出来ました。
※自分の開発環境がVer 1.4なので最新版を使っている場合は訂正してください。

import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;

class Exam{
public static void main(String[] args){

List list = new ArrayList();

FirstClass ao = new Aoyama();
ao.setDepartment("青山 経済学部");
ao.setDepartment("青山 経営学部");
ao.setDepartment("青山 理工学部");

FirstClass wa = new Waseda();
wa.setDepartment("早稲田 経済学部");
wa.setDepartment("早稲田 経営学部");
wa.setDepartment("早稲田 理工学部");

list.add(ao);
list.add(wa);

Iterator it = list.iterator();

while(it.hasNext()){
FirstClass fs = (FirstClass)it.next();
List list2 =(List) fs.getDepartments();
Iterator it2 = list2.iterator();
while(it2.hasNext()){
System.out.println(it2.next());
}
}
}
}
//一流大学の抽象クラス
abstract class FirstClass{
//学部名を保持させるList型の変数を指定
private ArrayList list = new ArrayList();
public void setDepartment(String name){
this.list.add(name);
}
public List getDepartments(){
return list;
}
}
//青山学院大学のクラス
class Aoyama extends FirstClass{
}
//早稲田大学のクラス
class Waseda extends FirstClass{
}
ずいぶんひどい問題ですね。
どう解釈してもポリモーフィズムの使い方を間違っているようにしか思えません。
問題文をそのまま読めば、

1. 学習院学生・慶応学生・早稲田学生は青山学生のサブクラス(←意味不明)
2. 一流大学*()は、booleanを返す関数。
(←出力関数だとすると、文意が不明になるためこの解釈の方が自然?)
3. 青山学生クラスは名前と大学名を保持する。

ということになるでしょう。
結果として、以下のようになるのではないかと思います。

大学名についてはリフレクションで得る方法もあるでしょうが、
ここでは普通にメンバ変数にしました。



class 青山学生{
private String university;
private String name;

public 青山学生(name){
this.university = "青山大学";
this.name = name;
}
protected 青山学生(String university, String name){
this.university = university;
this.name = name;
}
public boolean 一流大学(){
return !university.equals("青山大学");
}
public boolean 一流大学中(){
return false;
}
public boolean 一流大学下(){
return false;
}
public 意味不明の問題を出す教員がいる三流大学(){
return university.equals("青山大学");
}
public String toString(){
return university + ":" + name;
}

class 学習院学生 extends 青山学生{
public 学習院学生(name){
super("学習院学生", name);
}
}
class 慶応学生 extends 青山学生{
public 慶応学生(name){
super("慶応学生", name);
}
}
class 早稲田学生 extends 青山学生{
public 早稲田学生(name){
super("早稲田学生", name);
}
}
以下、main関数

List<青山学生> list = new ArrayList<青山学生>;

青山学生 gakusei1 = new 早稲田学生("宮崎駿");
青山学生 gakusei1 = new慶応学生("石原良純 ");
青山学生 gakusei1 = new 学習院学生("筑紫哲也");

list.add(gakusei1);
list.add(gakusei2);
list.add(gakusei3);

System.out.println("一流大学の学生");
Iterator<青山学生> iterator = list.iterator();
while(iterator.hasNext()){
青山学生 i = iterator.next();
if(i.一流大学())
System.out.println(i);
}

System.out.println("意味不明の問題を出す教員がいる三流大学の学生");
Iterator<青山学生> iterator = list.iterator();
while(iterator.hasNext()){
i = iterator.next();
if(i.意味不明の問題を出す教員がいる三流大学())
System.out.println(i);
}
ちなみに、コンパイルしてないので細かいバグ取りはお願いします。
ずーっと読んでるけどサッパリ判らない…
とりあえず青山が一流なんでしょうか。
そーけーじょーちめーせりっぽーちゅーにっとーこません…
って覚えていた時代を思い出します。
 授業取得者以外に見せる予定がなく、学生のより興味を引くようにという工夫の一環として、内輪受け的なものを教材とすることは、昔ならほとんど問題にならなかったでしょう。
 それがネットの発達によって、このような場ができて、こうやって公衆の面前にさらされてしまうなどというのは、なかなか想像できないことです。教材を作成したことのある人間としては、やりにくい時代になってしまったなぁという気がしたこの問題でした。
 この問題もそこの学生向けとして、最初から教材を見れば、それなりの教材なのではないかと思います。
by 岩清水
学歴については、教員というよりそれをネットで公開した学生の方が問題のような気がします。

ただ、もとの問題が意味不明だというのは、それとは別の問題でしょう。九龍さんはジェネリクスが導入されていないver1.4だから違和感を感じなかったかもしれませんが、ジェネリクスを前提にして考えると、まったくもって意味不明です。
>のりねこ@autn. sysさん
これは大変失礼しました。
Genericsの事は知っていましたが手元にある環境が現状Ver 1.4で統一している為許しください。
他にも突っ込み所満載かと思いますが・・・
あ、すいません。誤解を与えたかもしれませんがそういうことではないのです。九龍さんのプログラムがおかしいということではなくて、ジェネリクスをふまえると問題文がさらに意味不明ということですので…。

具体的には、問題の指示にしたがうと各大学の学生クラスが青山学生クラスのサブクラスになってしますということを指して言ってます。

ログインすると、残り12件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

Javaの課題丸投げ 更新情報

Javaの課題丸投げのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング