トップページ⇒tech
1001コメント416KB

★★ Java の宿題ここで答えます Part 57 ★★

レス数が1000を超えています。これ以上書き込みはできません。
0001JavaScriptは板違い、Web制作板をご利用ください2006/07/07(金) 15:24:01
【Java宿題スレッド基本ルール・五箇条の御誓文】
1:問題文は自己省略せずに、直接全部貼り付けてください。
2:課題の「丸投げ」が最も好ましい提示法です。なるべく丸投げしてください。
3:数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
4:課題&宿題関連の質問はOKですが、それ以外の一般的な質問は禁止です。
5:もし回答プログラムがアップされたら、その返答と動作報告をお願いします。

【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます 《あれば必須》
【 期限 】提出期限、解答希望日があれば書きます
【 Ver  】希望するJavaバージョンがあれば書きます
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)

【回答プログラムの掲載場所】
Java質問スレWiki  http://www.wikiroom.com/java/
ソースポストネット  http://sourcepost.sytes.net/

【前スレ】
http://pc8.2ch.net/test/read.cgi/tech/1145447187/
0951デフォルトの名無しさん2006/09/29(金) 08:56:54
酷い自演を見た
09529332006/09/29(金) 11:30:23
>>941
これをJavaアプレットで立ち上げるとアプレットが開いて、
フォームに英数字を入力してaddBtnを押すとファイルにそのデータを順次追加、
firstBtnで最初に追加した要素を表示、lastBtnで最後に追加した要素を表示、
displayBtnで追加した要素を全て表示・・・
といった機能を持つプログラムです。
ここにremoveBtnを追加して、問題文のとおりの機能を持つ
ボタンを作るプログラムを書けというのが出題された課題です。
よろしくお願いします
0953デフォルトの名無しさん2006/09/29(金) 15:01:16
>>950
消えとらんぞ?
0954デフォルトの名無しさん2006/09/29(金) 15:03:08
>>952
お前、丸投げしろと言われてるのがわからんのか?
0955デフォルトの名無しさん2006/09/29(金) 15:07:09
>>952
文章で書かないで、ソース一式うぷろだに上げた方が話が早いと思うよ?
丸投げしろ、ってのはそういう意味。
それが嫌なら、諦めて自分でやりなされ。
0956デフォルトの名無しさん2006/09/29(金) 15:47:56
>>952
みんなそんな事は最初からわかってるよ。ただ、情報が足りないって言ってるんだよ。
「データを並び替えるプログラム」ってのも様々なやり方があるから元のソースが無いと回答しようが無いんだよ。
「腹が痛い」ってだけ言われても食あたりなのか虫垂炎なのかわからないだろ?
自分の腹を他人に見せないと誰も助けられないよ。
ソース全部http://sourcepost.sytes.net/ ;に上げて、改めて頼んでみたら?
0957デフォルトの名無しさん2006/09/29(金) 15:48:08
以下の問題(丸投げ)を宜しくお願い致します。
文章が長いので2回に分けます。

まず、トランプのカードとなるTrumpCard クラスを作ります.普通トランプにはスペード,クラブ,
ハート,ダイヤのマークとジョーカーがあります.また,それぞれの数値は1 から13 までの値を持つ
ので,それらを表現できるようにTrumpCard クラスを構成します.以下にあげる仕様を充たすように
TrumpCard を定義し,サンプルソースが動作するようにプログラミングを行いなさい.
1. クラスTrumpCard は,クラス変数として,String 型の変数SPADE,CLUB,HEART,DIAMOND,
JOKER を持つ.値はそれぞれ “spade”, “club”, “heart”, “diamond”, “joker” としま
す.
2. クラスTrumpCard は,インスタンス変数として,String markOfCard、int numberOfCard
を持ちます.markOfCard はトランプのマークをnumberOfCard はトランプの数字を示します.
3. クラスTrumpCard は,コンストラクタとしてTrumpCard(String mark, int number)を持
ちます.引数として与えられるmark はトランプのマークを与えることで,markOfCard に代入さ
れることとします.number はトランプの数値を示し,number で与えた値がnumberOfCard に
代入されることとします.また,mark の値が “joker”であった場合は,number の値が何であれ,
numberOfCard の値は14 とします.
4. クラスTrumpCard は,メソッドとして,public void showCard()を持ちます.このメソッド
を使用するとそのクラスの持つmarkOfCard とnumberOfCard の値をセットで表示します。
ヒント:文字列同士を比較する場合はString クラスのメソッドcompareTo(String)を使用するこ
とで比較ができます.これは,インスタンスが持つ文字列と引数の文字列とを比較するメソッドです。
文字列が等しいならば0 を返します。詳細はJava API 表のString クラスを見てください.
09589572006/09/29(金) 15:51:06
続きです。

<<課題1-1 サンプルソース>>
public class Lesson1_1 {
public static void main(String argv[]) {
TrumpCard [] myCards =new TrumpCard[5];
myCards[0] = new TrumpCard(TrumpCard.SPADE,1);
myCards[1] = new TrumpCard(TrumpCard.CLUB,10);
myCards[2] = new TrumpCard(“heart”,5);
myCards[3] = new TrumpCard(“diamond”,12);
myCards[4] = new TrumpCard(TrumpCard.JOKER,9);
for(int i=0; i<5; i++)
myCards[i].showCard();
}
}
class TrumpCard {
//ここに実装を書く
TrumpCard(String mark, int number) {
//ここに実装を書く
}
public void showCard() {
//ここに実装を書く
}
}

提出期限は10月4日です。
宜しくお願い致します。
0959デフォルトの名無しさん2006/09/29(金) 16:01:30
class TrumpCard{
public final static String SPADE = "spade";
public final static String CLUB = "club";
public final static String HEART = "heart";
public final static String DIAMOND = "diamond";
public final static String JOKER = "joker";
private String markOfCard;
private int numberOfCard;
TrumpCard(String mark, int number){
  markOfCard = mark;
  if(mark.compareTo(JOKER) == 0){
    numberOfCard = 14;
  }else{
    numberOfCard = number;
  }
}
public void showCard(){
  System.out.println(markOfCard+numberOfCard);
}
}
0960デフォルトの名無しさん2006/09/29(金) 16:04:23
つくづく思うのだが、トランプの課題って多いんだな。
09619572006/09/29(金) 19:07:43
>>959
ありがとうございます。
現在動作を確認することが出来ない状況ですので、
週末明けの月曜日に報告致します。
09629572006/09/29(金) 19:16:55
連投で申し訳ないのですが、次の問題も解いては頂けないでしょうか…。
図々しいとは思いますが課題が全部で7つあり、全く分からない状況です。
もし、宜しければお願い致します。

1. クラスTrumpCard は,メソッドとしてpublic boolean compareStatus(String mark)を
持ちます.このメソッドが呼ばれた場合そのインスタンスが持つmarkOfCard の値とmark とを
比べ,同じ文字列であればtrue を異なればfalse を返り値として返します.
2. クラスTrumpCard は,メソッドとしてpublic int compareStatus(int number)を持ちま
す.このメソッドが呼ばれた場合そのインスタンスが持つnumberOfCard の値とnumber とを比
べ,同じ値ならば0 を,numberOfCard の方が大きければ正の整数,number の方が大きければ
負の整数を返り値として返します.数の大きさそのものは任意とします.
3. クラスTrumpCard は,メソッドとしてpublic int compareStatus(TrumpCard tc)を持ち
ます.このメソッドが呼ばれた場合そのインスタンスが持つmarkOfCard, numberOfCard の値
とtc の持つmarkOfCard, numberOfCard とをそれぞれ比べ,どちらも異なれば0 を,マーク
が同じなら1 を,数値が同じなら2 を,どちらも同じなら3 を返り値として返します.このとき返
り値として指定されている,0,1,2,3 の値をそれぞれクラス変数として,DIFFERENT,
SAME_MARK, SAME_NUMBER, EQUIVALENT として定義すること.
4. 1.2.3.のように同じ名前のメソッドでありながら,引数などの違いによって異なる実装を可
能とすることをなんと呼ぶか?ソース内のこれらのメソッド近くにコメントとして書き示しなさ
い.
09639572006/09/29(金) 19:19:40
public class Lesson1_2 {
public static void main(String argv[]) {
TrumpCard [] myCards =new TrumpCard[6];
myCards[0] = new TrumpCard(TrumpCard.SPADE,1);
myCards[1] = new TrumpCard(TrumpCard.CLUB,1);
myCards[2] = new TrumpCard(TrumpCard.DIAMOND,12);
myCards[3] = new TrumpCard("diamond",10);
myCards[4] = new TrumpCard(TrumpCard.JOKER,9);
myCards[5] = new TrumpCard(TrumpCard.JOKER,2);
for(int i=0; i<6; i++) {
if(myCards[i].compareStatus(TrumpCard.SPADE)==true)
System.out.print(i+"枚目はスペードで,");
else System.out.print(i+"枚目はスペードでなく,");
if(myCards[i].compareStatus(7)>0)
System.out.println("7 より大きい数字です.");
else System.out.println("7 以下の数字です.");}
for(int i=0; i<6; i=i+2) {
int check = myCards[i].compareStatus(myCards[i+1]);
if(check==TrumpCard.DIFFERENT)
System.out.println(i+"枚目と"+(i+1)+"枚目は違うカードです.");
if(check==TrumpCard.SAME_MARK)
System.out.println(i+"枚目と"+(i+1)+"枚目はマークが同じです.");
if(check==TrumpCard.SAME_NUMBER)
System.out.println(i+"枚目と"+(i+1)+"枚目は数値が同じです.");
if(check==TrumpCard.EQUIVALENT)
System.out.println(i+"枚目と"+(i+1)+"枚目は同じカードです.");
}}}
class TrumpCard {
//実装を追加する.
}
上記が課題2です。提出期限も課題1と同じで10月4日です。
09649572006/09/29(金) 19:20:29
続いて課題3です。

Lesson1_2 で作成したTrumpCard を拡張します.トランプでゲームを行う場合,そのカードが表を
向いているか裏を向いているかという要素は重要なので,それを表現できるようにします.この場合の
表とはマークや数値が表示されている側,裏はその逆で絵柄が付いている側を指すこととします.サン
プルプログラムが動作するように,以下の実装を付け加えなさい.
1. クラスTrumpCard は,インスタンス変数として,boolean openStat を持ちます.そのインス
タンスが表の場合はtrue,裏の場合はfalse の値を持つものとします.
2. クラスTrumpCard は,コンストラクタTrumpCard(String mark, int number, boolean
open)を持ちます.open によって,インスタンスの初期状態での表裏の値(openStat の値)を
決めることができるものとします.また,指定されない場合の初期値はfalse(裏向き)とします.
3. クラスTrumpCard は,メソッドとしてpublic void setOpened(boolean open)を持ちます.
このメソッドが呼ばれた場合そのインスタンスが持つopenStat の値をopen の値に置き換えます.
4. クラスTrumpCard は,メソッドとしてpublic boolean getOpened()を持ちます.このメソ
ッドが呼ばれた場合そのインスタンスが持つopenStat の値を返り値として返します.
09659572006/09/29(金) 19:21:03
public class Lesson1_3 {
public static void main(String argv[]) {
TrumpCard [] myCards =new TrumpCard[3];
myCards[0] = new TrumpCard(TrumpCard.SPADE,1);
myCards[1] = new TrumpCard(TrumpCard.CLUB,10,true);
myCards[2] = new TrumpCard(TrumpCard.DIAMOND,12,false);
for(int i=0; i<3; i++) {
if(myCards[i].getOpened())
System.out.println(i+"枚目は表です.");
else System.out.println(i+"枚目は裏です.");
}
System.out.println("0 枚目を表に1 枚目を裏にします.");
myCards[0].setOpened(true);
myCards[1].setOpened(false);
for(int i=0; i<3; i++) {
if(myCards[i].getOpened())
System.out.println(i+"枚目は表です.");
else System.out.println(i+"枚目は裏です.");
}
}
}
class TrumpCard {
//ここに実装を書く
}
09669572006/09/29(金) 19:21:40
続いて課題4です。

課題1-3 で作成したTrumpCard を拡張します.すでに生成されているインスタンスに対してのパラメ
ータの変更ができるようにします.以下の仕様を充たしサンプルプログラムが動作するように実装を行
いなさい.
1. クラスTrumpCard は,メソッドとして,public String getMark()と,public void
setMark(String mark)を持ちます.getMark はインスタンスの持つmarkOfCard の値を返り
値として返し,setMark はインスタンスの持つmarkOfCard の値をmark に置き換えます.
2. クラスTrumpCard は,メソッドとして,public int getNumber()と,public void
setNumber(int number)を持ちます.getNumber はインスタンスの持つnumberOfCard の値
を返り値として返し,setNumber はインスタンスの持つnumberOfCard の値をnumber に置き
換えます.
3. クラスTrumpCard は,メソッドとして,public void setStatus(String mark, int number)
とpublic void setStatus(String mark, int number, boolean open)を持ちます.コ
ンストラクタの時と同様にインスタンスの持つmarkOfCard, numberOfCard, openStat の値
をmark, number, open に置き換えます.ただし,open が指定されないときは,open の値は
現状の値をそのまま保持します.
4. どちらの場合もJOKER の場合は例外として先の仕様を充たし不整合が起きないようにしてくださ
い.
5. メソッドshowCard()を変更し,カードの状態をgetMark(), getNumber(), getOpened()
を使ってカードのマーク,数値,表裏の状態の表示を行いなさい.
0967デフォルトの名無しさん2006/09/29(金) 19:25:28
          、,       .      .      .      .、
          、|  . . .・ニ、   .   .   .  .、     ゙_、∴ー     、  . . . ._ ..〜.
       .¨¨¨¨¨〕¨¨¨¨゜        ゙,、_ ソ  ゙v.、’.    ´ 、’      ._^-     .  `′  .`
           i    .   .   .   .`/ 、\..`        .1    .゜` . ’_ 、_、
           |     、        .ソ`’         .    }  . . ..─‥´`
           `  . . .’  .  . . .ソ´ ..’         ゙!`ゝ|        ゙’
           .      |  .  .  .° .、’         .’、.、  .  .  . .’
      .      、! ̄``’-._       ^              ’  . . .・゜─--
         .     ’=‐^   .`          .          .’      `-、_
                                                 `〜。、_
                                   .                  `′
09689572006/09/29(金) 19:31:00
public class Lesson1_4 {
public static void main(String argv[]) {
TrumpCard [] myCards =new TrumpCard[3];
myCards[0] = new TrumpCard(TrumpCard.SPADE,0);
myCards[1] = new TrumpCard(TrumpCard.CLUB,10,true);
myCards[2] = new TrumpCard(TrumpCard.DIAMOND,12,false);
for(int i=0; i<3; i++) {
myCards[i].showCard();
}
myCards[0].setMark(TrumpCard.HEART);
myCards[1].setNumber(14);
myCards[2].setStatus(TrumpCard.JOKER, 3, true);
for(int i=0; i<3; i++) {
myCards[i].showCard();
}
}
}
class TrumpCard {
//ここに実装を書く
}
09699332006/09/29(金) 19:47:03
>>954-956
最初にソース上げたと思い込んでました…
本当に申し訳ありませんでした
http://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=28370
09709572006/09/29(金) 19:50:28
長くなってしまったので、zipで圧縮してアップロードします。
中身はdoc形式になっております、
ttp://winplus.or.tp/uploader01/upload.php?counting=178&firen=winplus.jp178.zip

最初から気づいていればよかったのですが、スレを消費してしまい申し訳ありませんでした。
0971デフォルトの名無しさん2006/09/29(金) 19:55:06
図々しいっていうか、全然やる気がないんだな。
まだまだ時間はたくさんあるのに…。
ここをうろうろしてる連中なら即日で回答できるし、10/2ぐらいまでは
自分で粘ってみてもいいんジャマイカ?
09729572006/09/29(金) 20:06:26
>>971
確かにあなたの言う通りだと思います。
実はもうすぐ資格の試験日が近づいており、その勉強もしないといけない状況下にあるので、
時間があるようで実はないんです…。
試験が終われば時間に余裕が出来てくるのでJavaの基本から勉強しようと思っているので、
今回だけはどうかお助け下さい…。
0973デフォルトの名無しさん2006/09/29(金) 20:08:56
まぁ頼むのは勝手だが誰も回答してくれない可能性も考えとかないと痛い目に遭うよ。
0974デフォルトの名無しさん2006/09/29(金) 20:27:32
解答してもらえると勘違いしてるんじゃないか?
授業も落として、資格も落ちたほうが、奴の今後のためだろう。
0975デフォルトの名無しさん2006/09/29(金) 20:44:33
>>972
基本情報でも受けるのか
だったらこの程度の課題が出来ないとダメだろ
0976デフォルトの名無しさん2006/09/29(金) 20:56:34
>>972
まあ完全に投げてるわけじゃないんだな。
仕事から帰ってきて回答あがってなかったらやってやるよ。
0977デフォルトの名無しさん2006/09/29(金) 22:41:31
もうすぐ1000だな
0978デフォルトの名無しさん2006/09/29(金) 22:43:11
起きたら新スレでも立てるか。
0979デフォルトの名無しさん2006/09/29(金) 23:19:50
まんこくせぇ
0980デフォルトの名無しさん2006/09/30(土) 04:44:32
>>339の奴の
System.out.println("引いたカードは" + (v == 1 ? "A" : v) + "です");
の(v == 1 ? "A" : v)の部分の意味が良くわかりません。
よろしければ解説お願いします。
0981デフォルトの名無しさん2006/09/30(土) 05:06:10
>>980
三項演算子でぐぐれ
0982デフォルトの名無しさん2006/09/30(土) 05:47:40
>>957
>>968 は大丈夫なのか? スペードの0の存在を許容してしまっているが。
あと、与えられてる文章だけじゃナンバーが14の場合はJOKERに化けて
良いのかもよくわからん。
0983デフォルトの名無しさん2006/09/30(土) 05:52:22
つまり、>>957の説明で
  「JOKERならば14」
とされてはいるものの、
  「14ならばJOKER」
という指示がなされてないから、JOKERに配慮した設計をしろと言われても
どう対処すべきなのかがこちらで判断できん。
おまいもわからんようなら、「課題の文面では○○か判断できなかったため、
独断で△△のようにしました」ってぐらいのコメントを突っ込んでおくが。
09849802006/09/30(土) 06:13:28
>>981
ググって使い方はわかった。
けどEclipseではじかれるのは仕様?
使うことは余り好ましくないみたいに書かれてたからはじかれるだけ?
コンソールならできるのかな?
0985デフォルトの名無しさん2006/09/30(土) 06:24:56
>>984
今試してみたが、別にはじかれんぞ。
んで、ここは宿題スレ。お前の投稿は ImproperThreadException
09869842006/09/30(土) 06:37:35
>>985
>>339のをそのままコピペしたら
非互換条件オペランド型 String と int
と出る。

if〜elseに書き直せば普通に通る。
ちなみにJDKは1.5.0_08。

スレ違いなのでこれ以上はやめておく。
スレ汚しスマン。
0987デフォルトの名無しさん2006/09/30(土) 08:34:05
新スレ

http://pc8.2ch.net/test/read.cgi/tech/1159572806/
09889572006/09/30(土) 09:13:36
>>982,983
問題は丸投げの物を書いてあるので、Javaのことが全く分からない自分からすると
お二人の言ってることがいまいち理解出来ない状況ですので、
来週の火曜日に講義があるので、その時に聞いてみます。
09899572006/09/30(土) 09:48:07
各課題の実行結果も課題と一緒に書いてあったのですが、必要でしょうか?

ttp://winplus.or.tp/uploader01/upload.php?counting=186&firen=winplus.jp186.zip
zip圧縮の中身はdoc形式でアップロードしましたので、
必要な方はご参考程度にDLお願いします。
0990デフォルトの名無しさん2006/09/30(土) 09:52:50
>>969==933
コードみて確信した。
>>949 がESPで答えてる。w
やるなw >949
0991デフォルトの名無しさん2006/09/30(土) 11:39:38
>>990
確信以前に、名前に書いてるだろ。
これだからアホジャヴァーは。
0992デフォルトの名無しさん2006/09/30(土) 11:47:13
専修だからじゃね。。。このネタももうあきたねw
0993デフォルトの名無しさん2006/09/30(土) 12:03:41
とりあえず流すか。
答えを貰えなかった連中は次スレで訴えてくれ。
0994デフォルトの名無しさん2006/09/30(土) 12:05:22
未来神話ジャーバス
0995デフォルトの名無しさん2006/09/30(土) 12:06:23
この勢いなら初1000!!!!!111
0996デフォルトの名無しさん2006/09/30(土) 12:07:24
996
0997デフォルトの名無しさん2006/09/30(土) 12:08:24
う
0998デフォルトの名無しさん2006/09/30(土) 12:08:35
997
0999デフォルトの名無しさん2006/09/30(土) 12:08:56
め
1000デフォルトの名無しさん2006/09/30(土) 12:09:53
orz
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。