[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 23:01 / Filesize : 381 KB / Number-of Response : 977
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:JavaScriptは板違い、Web制作板をご利用ください [2008/05/30(金) 03:17:59 ]
【質問者へ】
回答者の便宜のため、以下の注意事項を遵守してください。
・質問は【課題提示用テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
・JavaScriptは板違い、Web制作板をご利用ください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・回答されたら動作報告を必ずしてください。
・課題文が長い時、添付ファイルがある時はこちらのアップローダーを使うと便利です。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm

【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます。 《必須》
【 形態 】1. Javaアプリケーション(main()で開始)/2. Applet/3. Servlet/
       4. 携帯(開発環境のver.必須)/5. その他(明記のこと) 《必ず選択》
【 GUI  】1. AWTのみ/2. Swing/3. SWT/4. 制限なし/ 5. その他(明記すること)
       《GUIの課題の場合必ず選択》
【 期限 】提出期限、解答希望日を書きます。「できるだけ早く」はNG。 《必須》
【 Ver  】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)。

【回答プログラムの掲載場所】
Java質問スレWiki  ttp://www.wikiroom.com/java/
ソースポストネット  ttp://sourcepost.sytes.net/
ろだ2  ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm

【前スレ】
pc11.2ch.net/test/read.cgi/tech/1196543694/

175 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 11:16:27 ]
>>152
どなたかお願い致します…

176 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:28:45 ]
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/288.java
適当です。
MEMBER_COUNTで項数を変更、PROBLEM_COUNTで問題数変更です。
逆ポーランドの実装まで書きたくなかったので、かなり邪道にいきました。

177 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:29:06 ]
しまったー。>>152の課題です。

178 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:47:01 ]
>>176 289.java だよ、と。これは、135 lineあたりの表示がミリ秒なので秒にした。横槍です。
sb.append(String.format("第%d問 : %s (%.1f 秒)\n"
,i+1,r.correct? "正解":"不正解",r.time/1000f));
// sb.append(String.format("第%d問 : %s (%d ms)\n"
// ,i+1,r.correct? "正解":"不正解",r.time));
---
sb.append(String.format("経過時間 %.1f 秒", time/1000f));
// sb.append(String.format("経過時間 %dms", time));

179 名前:152 mailto:sage [2008/06/17(火) 21:00:34 ]
ご回答ありがとうございます。
頂いたプログラムをそのままコンパイルしてみたのですが、以下のようなエラーが出てしまい、
上手くいきませんでした。

289.java:23: クラス CalcGame は public であり、ファイル CalcGame.java で宣言
しなければなりません。
public class CalcGame extends JApplet{
^
エラー 1 個

Appletをよく理解できておりませんので、私の方のエラーかもしれませんが、
これは本プログラムとは別にCalcGame.java を準備しなさい。ということでしょうか?

180 名前:>>176 mailto:sage [2008/06/17(火) 21:07:33 ]
>>178
ご指摘ありがとうございます。
>>179
ファイル名を変えてないのではないでしょうか?
CalcGame.javaに変更してください。
それでコンパイルしたあとで、HTML用意するなり、CalcGame.java内にコメントで書いてappletviewerで実行するなりしてください。

181 名前:152 mailto:sage [2008/06/17(火) 21:19:48 ]
>>180
実行できました!
度々のご回答本当にありがとうございました。

182 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 08:33:28 ]
【 課題 】y=x^3-2x^2+3x+1=0をニュートンラフソン法で解を求めよ
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】今日の0時まで
【 Ver 】1.5.0
【 補足 】丸投げです、よろしくお願いします。

183 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:47:00 ]
>>182
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=30345



184 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:53:32 ]
183の収束条件は近似解そのものの差分を指標にしているから
他の関数を試すなら解の大きさに合わせてeも変えないといけない
面倒なら解が0に近づく場合を気をつけながら比率を指標にしてもいいかも

185 名前:デフォルトの名無しさん [2008/06/18(水) 15:49:06 ]
【 課題 】(1)textモードで作成されている入力ファイルがある。これに対する英単語の出現リスト表を作り、結果を印字せよ。
印字形式は2段組とする。\コードで始まるLaTeXコードは処理の対象外とする。
印刷形式:
title
word_1 頻度数xx98 wrod_n 頻度数xx46
word_2 頻度数xx97 word_o 頻度数xx45
word_3 頻度数xx96 word_p 頻度数xx44
word_4 頻度数xx95 word_q 頻度数xx43
   ・              ・
   ・              ・
 word_m 頻度数xx47 word_z 頻度数xx01
(2)処理時間測定ができるようにせよ。
注意
1.問題のファイルは、デバッグでは使用できない。
2.処理の条件は以下のとおり:
 あ.複数系、単数形や過去形、過去分詞、現在形などは、異なる用語として集計する。
 い.文頭による大文字表示された文字は、小文字表示に直して処理すること。
 う.\ミ田で始まる語はLaTex用の暗号として無視してよい。
 え.数字だけの語は集計しない。
【 形態 】1. Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】6月24日
【 Ver  】3.2.2
○投げですが、よろしくお願いします。

186 名前:デフォルトの名無しさん [2008/06/18(水) 15:56:55 ]
185です。
訂正部分があったので、修正します。スレ汚して申し訳ありません。
【 課題 】(1)textモードで作成されている入力ファイルがある。これに対する英単語の出現リスト表を作り、結果を印字せよ。
印字形式は2段組とする。\コードで始まるLaTeXコードは処理の対象外とする。
印刷形式:
title
word_1 頻度数xx98 wrod_n 頻度数xx46
word_2 頻度数xx97 word_o 頻度数xx45
word_3 頻度数xx96 word_p 頻度数xx44
word_4 頻度数xx95 word_q 頻度数xx43
   ・              ・
   ・              ・
word_m 頻度数xx47 word_z 頻度数xx01
(2)処理時間測定ができるようにせよ。
注意
1.問題のファイルは、デバッグでは使用できない。
2.処理の条件は以下のとおり:
 あ.複数系、単数形や過去形、過去分詞、現在形などは、異なる用語として集計する。
 い.文頭による大文字表示された文字は、小文字表示に直して処理すること。
 う.\コードで始まる語はLaTex用の暗号として無視してよい。
 え.数字だけの語は集計しない。
 お.カッコ内の単語も集計する。なお、カッコは含まない。
【 形態 】1. Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】6月24日
【 Ver  】3.2.2
【 補足 】処理時間はなるべく短くしてください。
よろしくお願いします。

187 名前:デフォルトの名無しさん [2008/06/18(水) 16:11:28 ]
185です。たびたび申し訳ありません。
【 補足 】読み込むテキストファイルはこちらになります。
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/290.txt


188 名前:>>176 mailto:sage [2008/06/18(水) 16:45:30 ]
なんか条件多いけど、用は英単語の出現回数をリスト化すればいいんだよね?
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/291.java
これでだめ?

189 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:57:24 ]
以下のものがコンパイルできないのですがどこがおかしいのか指摘してもらえないでしょうか

import java.io.*;


class IDname {
public static void main (String args[]) throws IOException{
int ID[] = {23,45,78,51,9};
String name[] = {"荒川","神田","吉田","渡辺","木村"};
int Key,index;

BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
System.out.println("IDを入力してください");
for (index=0; index<ID.length; index++) {
if(ID[index] == Key) break;
}
if(index<ID.length){
System.out.println("IDが"+Key+"の人は"+name[index]+"さんです");
}
else{
System.out.println("IDが"+Key+"の人はいませんでした");
}
}
}


190 名前:デフォルトの名無しさん [2008/06/18(水) 17:03:02 ]
>>188
ありがとうございます。
これでおkです。
大変助かりました。

191 名前:187 mailto:sage [2008/06/18(水) 17:06:39 ]
>>188
すみません。
ちょっと仕様追加いたします。
申し訳ありません。

使用頻度で高い順から並び替えます。

印刷形式は、2段にします。
印刷形式:

title
word_1 頻度数xx98  wrod_n 頻度数xx46
word_2 頻度数xx97  word_o 頻度数xx45
word_3 頻度数xx96  word_p 頻度数xx44
word_4 頻度数xx95  word_q 頻度数xx43
   ・              ・
   ・              ・
word_m 頻度数xx47  word_z 頻度数xx01

このようになります。

192 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:08:51 ]
出力してませんでした。
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/292.java
たぶん出力用に真っ二つにするのが簡単でいいかと・・

>>189
Keyが初期化されてません。
そしてスレが違います。

193 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:11:38 ]
>>192
すみません
ID[ ]をint型の、name[ ]をString型の配列として、キーボードで入力したIDの値から名前を検索するプログラムを作れ。
という宿題だったんでここで聞いてしまいました
やっぱりうまくいきません・・・



194 名前:187 mailto:sage [2008/06/18(水) 17:12:44 ]
データとして保存しておくのは、辞書形式の並び順に、
表示するときだけ並び替えて、頻度が高い順にお願いします。

たびたびのスレ汚し、申し訳ありません。

195 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:17:54 ]
>>193
宿題としてここで解いてもらいたいなら>>1のテンプレに従ってください
単なる質問なら別に質問スレがあります

196 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:25:39 ]
【 課題 】学生のIDと名前の組のデータを下記のように2つの配列で与える。
ID[ ]をint型の、name[ ]をString型の配列として、キーボードで入力したIDの値から名前を検索するプログラムを作れ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】明日の14時
【 Ver  】1.5.0
【 補足 】途中まではできました、修正をお願いします
import java.io.*;
class IDname {
public static void main (String args[]) throws IOException{
int ID[] = {23,45,78,51,9};
String name[] = {"荒川","神田","吉田","渡辺","木村"};

int Key,index;
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
System.out.println("IDを入力してください");

for (index=0; index<ID.length; index++) {
if(ID[index]==Key) break;
}
if(index<ID.length){
System.out.println("IDが"+Key+"の人は"+name[index]+"さんです");
}
else{
System.out.println("IDが"+Key+"の人はいませんでした");
}
}
}

197 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:29:57 ]
>>194
申し訳ない!こんな感じでいっかってノリで軽くやってしまった。
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/293.java
もっと責任もってやるようにするわ・・

198 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:30:33 ]
>>184 24lineあたりの、この変更を御指摘のよう。
  } while (Math.abs(x2 / x1 - 1) > e);
// } while (Math.abs(x2 - x1) > e);


199 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:30:49 ]
>>196
>>192がせっかく正解を言ってくれてるのに無視するとは…
System.out.println("IDを入力してください");
のうしろに
Key = Integer.parseInt(br.readLine());
を入れる

200 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:33:19 ]
>>199
すみません理解しきれていませんでした・・・・
ありがとうございました

201 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:41:57 ]
【 課題 】プロ野球セ.リーグの現在の勝敗表を2次元配列の初期値として与えよ。
コマンドライン引数から2つのチームの順位を入力し、その2チ-ム間のゲーム差を表示させよ。(両チームの貯金(勝ち数−負け数)の差÷2

【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6/20(金)
【 Ver  】1.5.0
【 補足 】実際のゲーム差は、例えば以下のサイトで確認:
www.sanspo.com/baseball/score/2008/standings.html
とのことでした、暇がなくて丸投げですみません、お願いします

202 名前:187 mailto:sage [2008/06/18(水) 17:47:15 ]
>>192
2段目表示なりました。
こちらのほうで、ちょっと手を加えさせていただきました。

あと、高頻度順に並び替えるのですが、

データとして辞書形式の並び順に保存させて、
表示するときだけ高頻度順に並び替える仕様です。


203 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:51:15 ]
>>202
>>197に張りました。



204 名前:187 mailto:sage [2008/06/18(水) 17:59:36 ]
>>203
ありがとうございます!気づきませんでした・・・。
試してみたのですが・・・。
オーバーライドしてないとeclipseに起こられます・・・・。

205 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:02:09 ]
>>204
一旦@Overrideけして、そのあと気になるなら追加してみて。
verの違いかよくわからんけど、別のeclipseで開くとなるんだよなー

206 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:11:03 ]
>>205
ありがとうございます!!
大変助かりました!!

207 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:19:48 ]
>>201
public class GameResult {
public static void main(String[] args) {
// {{一位の勝ち数,負け数}, ... ,{六位の勝ち数,負け数}}
int[][] winlose = {{34, 17}, {28, 22}, {23, 25}, {25, 28}, {22, 28}, {15, 35}};
if (args.length == 2) {
try {
int teamA = Integer.parseInt(args[0]);
int teamB = Integer.parseInt(args[1]);
if (teamA < 1 || teamA > 6 || teamB < 1 || teamB > 6) throw new NumberFormatException();
if (teamA > teamB) { int tmp = teamA; teamA = teamB; teamB = tmp; }
System.out.println(teamA + "位と" + teamB + "位のゲーム差は" +
((winlose[teamA-1][0] - winlose[teamA-1][1]) - (winlose[teamB-1][0] - winlose[teamB-1][1])) / 2.);
} catch (NumberFormatException e) {
System.err.println("1から6までの整数を指定してください");
return;
}
} else {
System.err.println("usage: java GameResult 順位 順位");
}
}
}

208 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:13:18 ]
>>207
間に合いました、大変ありがとうございました!

209 名前:デフォルトの名無しさん [2008/06/18(水) 22:43:28 ]
>>185
mixiの課題丸投げは消したの?

210 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 11:40:53 ]
【 課題 】
2次元配列を用いて、模様を作成してみよ。□や■は文字(char型)
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6月25日
【 Ver  】1.5.0
【 補足 】コマンドライン引数から入力した行数分だけ表示させよ(列は図のとおり固定)
      どうにも珍妙な宿題ですがお願いします・・・

211 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 12:01:52 ]
ほんとに珍妙だ。
二次元配列なんて使う必要性が見当たらない。

212 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 12:26:29 ]
2次元配列をつかう課題なら全く珍妙じゃないし、
後々画像変換(写像)への基礎演習にもなるじゃん

213 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 12:57:39 ]
>>210
public class Cloth {
public static void main(String[] args) {
char[][] c = new char[Integer.parseInt(args[0])][14];
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
switch (j % 3) {
case 0: c[i][j] = i % 2 == 0 ? '■' : '□'; break;
case 1: c[i][j] = i % 2 == 0 ? '□' : '■'; break;
case 2: c[i][j] = ' '; break;
}
}
}
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
System.out.print(c[i][j]);
}
System.out.println();
}
}
}



214 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:34:44 ]
ちょっと手を加えさせていただきます。市松模様。>>213 オス
char[][] c = new char[Integer.parseInt(args[0])][15];
---
case 1: c[i][j] = i % 2 == 0 ? '■' : '□'; break;
case 2: c[i][j] = i % 2 == 0 ? '□' : '■'; break;
case 0: c[i][j] = ' '; break;


215 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:53:03 ]
>>214
うちのビューワだと行頭のスペースは見えなくて行末に1個のスペースが見えるな
そしてread.cgiが吐くhtmlでは行頭に1個、行末に1個か2個のスペースが入ってる
正確な模様の仕様は言葉で説明してもらうかファイルにしてうpしてもらうべきか

216 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:31:02 ]
>>210
final char[][] pattern = {{'■', '□'}, {'□', '■'}};
...
... pattern[i % pattern.length][j % pattern[i].length] ...
こういうのじゃダメなの

217 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:34:29 ]
細かいw
俺はぱっとみて単に白黒の四角を並べればいいだけだと思った。
>>213ですきまにも意味があると解釈すべきだったのかと感心したくらいだ。

218 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:36:29 ]
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
ここまで文字列で作って、交互にprintlnするとか

219 名前:214 mailto:sage [2008/06/19(木) 19:05:26 ]
>>215 多分設問の模様は、これではないだろうか? 進行上私はソースを略す。
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□

220 名前:210 mailto:sage [2008/06/19(木) 19:32:44 ]
えっと、ありがとうございます皆さん。すいませんなんか混乱させてるようでorz
聞いてきましたところ、スペースは無視してもいいとのことでした

221 名前:210 mailto:sage [2008/06/19(木) 19:47:32 ]
でもキレイですので>>213>>214さんのを組み合わせて見ようと思います。
連投すいません、ありがとうございました

222 名前:デフォルトの名無しさん [2008/06/20(金) 00:04:07 ]
swingを使ってボタンをつくりましたそのボタンを押したとき新しいフレームを作ることができたのですが、
そのボタンのあるフレームを閉じるメッソッドわかりません、教えてください。
ボタンが押されたことは認識できるようになっています。

223 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 03:28:35 ]
>>222
質問は質問スレへどうぞ



224 名前:214 mailto:sage [2008/06/20(金) 17:00:19 ]
.■□.■□.■□.■□.■□ int lines = Integer.parseInt(args[0]);
□■.□■.□■.□■.□■. int width = 15;
.■□.■□.■□.■□.■□ char[][] a = new char[][] {{' ' ,'■','□'},
□■.□■.□■.□■.□■. {'□','■',' ' }};
.■□.■□.■□.■□.■□ for (int i = 0; i < lines; i++ ) {
□■.□■.□■.□■.□■. for (int j = 0; j < width; j++)
.■□.■□.■□.■□.■□ System.out.print(a[i&1][j%3]);
□■.□■.□■.□■.□■. System.out.println();
.■□.■□.■□.■□.■□ }

225 名前:デフォルトの名無しさん [2008/06/21(土) 06:46:09 ]
【 課題 】
複数の図形を表示するプログラムを作成せよ。
尚、複数のボタンを配置し、ボタンによってそれぞれ異なる図形を表示すること。
また、パネルの左上に製作年月日を表示すること。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ
【 期限 】6月30日
【 Ver  】1.6.0

よろしくおねがいします。

226 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 19:40:26 ]
>>225
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/294.java
あとは適当に追加してください。

227 名前:デフォルトの名無しさん [2008/06/21(土) 22:59:05 ]
配列aと同じ長さの配列bを生成する.
配列aの要素を逆順にして配列bに格納する.
配列bの要素を先頭から順に表示する.
という問題なのですが、

public class Exam1_1 {
public static void main(String[] args) {
int[] a = { 1, 2, 3, 4, 5, 6, 7 };
int[] b;
b = new int[a.length];

for(int i=0;i < a.length;i++) {

for(int j=a.length - 1;j >=0;j--) {

b[i] = a[j];

System.out.println("b[" + i + "]: " + b[i]);
}
}
}
}

という結果をb[0]=7,b[1]=6,b[2]=5,b[3]=4,b[2]=3,b[1]=2,b[0]=1と
したいのですが、どのように変更すればよいのでしょうか?


228 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 23:33:28 ]
気持ちは分からんでもないけど、ループの中にループがあるってことをよく考えてごらん。

for(int i=0;i < a.length;i++) {
 b[i] = a[a.length - j - 1];
}
またはjを使って簡潔に書くなら
for(int i=0,j=a.length-1;i < a.length;i++,j--) {
 b[i] = a[j];
}
こうなるだろうね。

それと、テンプレは守ろうね。

229 名前:デフォルトの名無しさん [2008/06/22(日) 00:59:56 ]
この課題は、テンプレが必要ないと思われるので省略しました。
(指定されていません)
何かご不明な点がありましたら、言って下さい。
月曜日に提出したいので、日曜(明日)の夜23:00までにお願いします。

問題
Javaにおいて、ある参照型変数x,y(ただし、String型は除く)を考える。
このxに、yを代入する場合、一般的には次の2通りの方法がある。
1.x=y
2.x=y.clone();
ここで、1は参照値を渡す等と呼ばれ、実際にコピーが行われる事はない。
2は実際にコピーを行う。
(ただし、多くの学生が誤解していたが、これは
ディープコピーではなく、シャローコピーである。)

問T なぜシャローコピーを行うのか、ディープコピーで問題が発生する
   ような例をあげて説明せよ

問U String型において、clone()メソッドは必要ないものとされ、オーバー
   ライドされていない。なぜ、必要ないのか。簡潔に理由を述べよ。

230 名前:225 [2008/06/22(日) 06:35:30 ]
>>226

ありがとうございました

231 名前:デフォルトの名無しさん [2008/06/22(日) 08:36:34 ]
>>229
T パフォーマンスを向上させるため。
ディープコピーの場合、for文で大量にインスタンスを作ったりすると、
OutOfMemoryエラーになったりするかもしれない。
しかし、ディープコピーのほうがコーディングや保守が容易であるので、
一概にどちらが良いとは言えない。
シャローコピーは、内部で保持しているものが共有されるので、
ディープコピーよりも問題視されることが多い。

そもそも問題のx=y.clone();だけではシャローコピーかディープコピーか分からない。

U String型はimmutableなクラスであるから。
Finalクラスとか、不変オブジェクトとも呼ばれる。

232 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 09:48:48 ]
テンプレを埋めることもできない馬鹿は市ね

233 名前:デフォルトの名無しさん [2008/06/22(日) 13:37:44 ]
なあ、動画を再生するPlayerのサイズを変更するときにはどうしたらいんだ?



234 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 15:44:17 ]
>>233
エスパー回答者希望で、尚且つスレ違いですね わかります

235 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 17:47:39 ]
【 課題 】じゃんけんプログラムの拡張
       rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/296.zip
zipの中にある課題説明のところにもファイルのURLがありますが
       無視してください<(_ _)>
【 形態 】1. Javaアプリケーション(main()で開始) Eclipseを使用しています
【 期限 】明日 6月23日の朝6時(期限が短くてすみません;)
【 Ver  】1.5.0
【 補足 】期限が短いですがよろしくお願いします。

236 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:17:21 ]
>>235
とりあえず元のソースコードに書き加える形でやった
Eclipseは使ってないし1.6.0でコンパイルしてるけどたぶん大丈夫かと
ダメなら言って
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/298.zip

237 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:44:14 ]
>>236
今動作確認してみたところ正常に動作しました。
お早い回答に感謝しています<(_ _)>
ありがとうございました!

238 名前:デフォルトの名無しさん [2008/06/22(日) 22:45:27 ]
【 課題 】次のプログラムの致命的な問題点は?
import java.io.*;
public class FileArrayReader {
public static void main(String[] args) {
String filename = args[0];
String msg[];
try {
FileInputStream fis = new FileInputStream(filename);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);

String tmp[] = new String[100];
int num = 0;
while((tmp[num] = br.readLine())!=null) {
num++;
}
msg = new String[num];
for(int i = 0;i <num;i++) {
msg[i] = tmp[i];
System.out.println(msg[i]);
}
br.close();
isr.close();
fis.close();
} catch(Exception e) {
e.printStackTrace(); 
} }   }

【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】4. 制限なし/
【 期限 】月曜日
【 補足 】文字列の配列変数tmpを用意し、使用しているところがヒントらしいのですが

239 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 23:01:23 ]
>>238
 while(num<100 && (tmp[num] = br.readLine())!=null) {
// while((tmp[num] = br.readLine())!=null) {


240 名前:dango [2008/06/23(月) 00:29:56 ]
【課題提示用テンプレ】
【 課題 】縦スクロールのシューティングです
【 形態 】 4. 携帯(Doja5.1)
【 GUI  】わからないです
【 期限 】23時までにお願いします。
【 Ver  】java.lang.ArrayIndexOutOfBoundsException
at pac.KeyCanvas.paint(+1013)
at com.nttdocomo.ui.Display$1.run(+186)
pac.KeyCanvas
【 用語 】とくにないです
【 補足 】アップローダの299にUPしてます。実行するとすぐ落ちます。キー操作がうまくいってないみたいなので、キー操作のところの関数を書いたクラスのソースを載せてます。
      よろしくお願いします。


241 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:23:07 ]
Versionにエラー貼るなよw
いつの23時だよw
ローダーって、どこのだよwリンク付けろw

ちゃんとしたレスほしければテンプレぐらいまともに書けw

242 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 11:44:58 ]
>Versionにエラー貼るなよw
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/299.java

243 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 12:26:53 ]
>>241
うpろだについてツッコミいれる前に>>1くらい嫁
>>1に示された場所以外で推測できない時にこそ文句言えばいい

>>240
paintメソッド中で配列を使用しているところを洗い出して
インデックスが全部正常な範囲に収まっているかチェックしろ
ArrayIndexOutOfBoundsExceptionの後に範囲外のインデックスの値も表示されなかった?
もし表示されていたのならそれも場所を特定する手がかりになる
とてもじゃないが触りたくないソースだからきちんと見てないが
ローカル変数で十分そうなループのカウンタ変数をフィールドにするとかバグ誘発率高そうだ



244 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 14:37:00 ]
>>243
をいをい、>>1は参考としてロダのurlを出してるだけだろw
課題が長い場合にロダ使うのは良いが、そのurlを提示するのが当たり前
なんで推測しなきゃなんねーんだよ、さすがゆとり思考だなw

245 名前:デフォルトの名無しさん [2008/06/23(月) 15:06:13 ]
イミフ

246 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:49:45 ]
このスレを半年ROMっていれば、どこにあげたかなんて簡単に分かるのに、
そういう単純な思考もできない人間を元々ゆとりと揶揄してるんじゃなかったのかね。

247 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 16:53:06 ]
>>246
分かる分からないの問題でなくうp先リンク付けるのが当たり前だろと言ってるんだが、
それもわからんのかよw

248 名前:ぼるじょあ ◆yBEncckFOU mailto:sage [2008/06/23(月) 17:14:23 ]
(・3・)エェー テンプレ無視や気に入らないのはスルーすればいいんだYO!

249 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 17:24:08 ]
ぼるじょあは巣に帰れw

250 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 18:09:14 ]
おお、ここにも「ぼるじょあ」がいるのかよ

251 名前:使用書無しさん [2008/06/23(月) 23:24:57 ]
javaフリークの皆さん
100%pureJavaのドローイングソフト
jdrafter.sakura.ne.jp が登場
javaの帳票設計にも使えるよダウンロードしてね

252 名前:使用書無しさん [2008/06/23(月) 23:31:10 ]
javaを批判する馬鹿な厨房これに匹敵するやつ作ってみろばか

253 名前:デフォルトの名無しさん [2008/06/24(火) 03:51:53 ]
【課題提示用テンプレ】
【 課題 】

GUIのプログラムで、起動するとフレームがあらわれて

テキストファイルを読み込んで

一行目を真ん中に表示させて

「次を」ボタン的なものがあって一行づつテキストファイルを表示していくというプログラムをお願いします。

【 形態 】

形態は1. Javaアプリケーション(main()で開始)でお願いします。


【 GUI  】

4. 制限なし

【 期限 】

期限は特にありません

【 Ver  】
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)



254 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:27:22 ]
>>253
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/300.java
課題をこなすだけの非常に悪いプログラムです。

255 名前:デフォルトの名無しさん [2008/06/24(火) 22:49:14 ]
【 課題 】
カートクラスは商品クラスを持っています。
商品クラスにはカートクラスを持ちません。

このとき、商品クラスのメソッドで、どのカートクラスに
入っているかを知る方法を教えてください。

もちろん商品クラスにカートクラスに持つのはだめです。

【 補足 】
ぜんぜんわかんないよ・・・。
こんなのできんのか?

256 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:58:03 ]
class Cart{
class Goods{
Cart getCart(){
return Cart.this;
}
}
}
こういうことじゃないの?
というかクラスの包含関係上
・カートクラスは商品クラスを持つ
・商品クラスにはカートクラスを持つ
これ同時に満たせないっしょ。
それから、どのカートクラスってカートクラスは一つっしょ?
どのカートクラスのオブジェクトに入っているか、の間違いでね?
よく分からない問題だなぁ。

257 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:08:44 ]
>256
持つといっても実装ではリンクするだけなので・・・
双方向のリンクじゃなくて、1方向でしかリンクしない
にも関わらず、リンクしてない側から、誰からリンク
されてるかを突き止める・・・・という問題です。

カートは複数あってそれぞれに商品がぼこぼこ
入っていきます。

なんでそんなことを?と思うでしょうが、とにかく
そうしないといけないと思ってください。

258 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:24:36 ]
リンクって・・
曖昧なこと並べてないでもっと具体的なこと示すか、ソースでもはっつけてくれんと何とも言えん。

259 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:15:44 ]
>>256
1・Cartクラスには、商品を表すProductクラスの配列が存在。
2・Productクラス内ではCartのインスタンスを識別するためのフィールドを一切(?)持たせない。
・この状態で、とあるProductインスタンスのメソッドから、それを格納している配列を持つCartインスタンスを得る方法を教えて。

☆各クラスの包含関係はこちら☆
・Cartの持ち主Obj
     +- Cart [0]
     |  +- Product []
     +- Cart [1]
     |

とりあえずこんなとこだろうか?
2・の制約(?の部分)が無ければ、Product にCart識別用のintなりbyteなりを持たせるのが簡単だと思うけど。
あとはCartインスタンスの持ち主側からCart側へ問い合わせるとか。
Javaはほとんど触ったこと無いんでJava屋さんの意見を待つか・・・。

260 名前:259 mailto:sage [2008/06/25(水) 00:17:00 ]
間違えた >>255

261 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:24:04 ]
【 課題 】rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/301.txt
【 期限 】今日の朝まで
【 補足 】丸投げです。期限がギリギリですがよければ。。

262 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 07:45:10 ]
//print,save,reverse,sort,deleteが使えるようにソースコードを埋めよ.(前問までに関するところも空白であるので注意すること)
>>261コメントの極端に少ないソースで、穴埋めって言われても。前問は無いですか。

263 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 09:40:05 ]
>>255 >>256のインプリメント:実現
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/302.java
ご意見下さい



264 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 14:41:50 ]
テンプレ無視、単発質問は質問スレへのルールも無視には回答しないw

265 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 14:49:33 ]
>>262
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/303.txt
前問がこれです。

266 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 15:08:57 ]
仕様もないのに実装しろって言われてもry
コメントが全くないから出題者が何を期待してるかも分からんし。

できるわけねーだろ屑講師!で良いと思うよ。

267 名前:255 mailto:sage [2008/06/25(水) 20:48:16 ]
>263
わかりづらくてすみません。
やりたいのは、まさに>259が書いてくれた通りなんです。

268 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 20:52:55 ]
>>264
日本語ヘンじゃね?

269 名前:angel452 mailto:sage [2008/06/25(水) 22:28:27 ]
【 課題 】FTPクライアントの作成
【 期限 】2週間以内
【 補足 】

はじめまして
javaで、ネットワークダウンロードをするFTPクライアントソフトを作成しようとしているのですが、
比較的簡単に行うには、どうしたらいいのでしょうか?

もちろんアドレス、IPなどはプログラム内に書き込んで、実行するだけで
その指定した、バイナリファイルをダウンロードして、保存するという
だけのプログラムなんですが。

JAVAでFTPクライアントだと、commons.netというクラスライブラリを見つけたのですが、
それを上手く使う方法がわかりません。。。

宜しければプログラミングか、アドバイスをいただけたらと思います。。。。

レベル的にはどうでしょうか?
一応つくりはじめてはいるのですが・・・

270 名前:angel452 mailto:sage [2008/06/25(水) 22:36:10 ]
ちなみにプロトコルはFTPで、TCP/IP利用です。
サーバも自作しまして、LinuxのFedora上でapacheです。(こちらは既に完成。)

よくあるアップロードするFTPクライアントではなく、
ダウンロードだけできるFTPでよいのですが。

ソケットの扱いなどが全然わかりません…。
先が見えてこない状況です。。。


271 名前:angel452 mailto:sage [2008/06/25(水) 22:43:11 ]
訂正

サーバはapacheではなく、vsftpでした。。。
自作したvsftpによるFTPサーバからLANを通じて、
自作したFTPダウンロードクライアントで特定のファイルのダウンロード・保存をしたいのです。


272 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 02:38:50 ]
>>268
句読点もわからんのかよw

273 名前:263 mailto:sage [2008/06/26(木) 03:25:19 ]
>>267 設計レベルのその回答で、もう満足したのか。



274 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 09:26:54 ]
>>269
【初心者】Java質問・相談スレッド116【歓迎】
pc11.2ch.net/test/read.cgi/tech/1213347130/

275 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 12:58:00 ]
【課題】オブジェクトの持つ int の値の属性で並び替えるプログラムを作成しなさい。
用いるアルゴリズムは単純選択ソート (バブルソート) の最初のサンプルプログラムのものでかまわないが、違うアルゴリズムでもよい。
main メソッドのあるクラスのクラス名は MusicSortByRating とする。

リストの要素は Music クラスのオブジェクトとし、 Music クラスの属性 rating の降順でソートするものとする。
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/305.java
【形態】1. Javaアプリケーション(main()で開始)
【期限】6月30日 23:59
【Ver】1.5.0.11
【補足】丸投げです。宜しくお願いします






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<381KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef