[表示 : 全て 最新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/

411 名前:デフォルトの名無しさん [2008/07/07(月) 23:17:27 ]
>409
例外回避から詳しい説明まで感謝の限りです。実際に動かしてみて
動作も正常に行われました。説明を読んでpopやpush、getPriority
などの使い方、プログラムの動作もよくわかりました。今度使って
みようと思います。

最後に0で割った時のエラーメッセージを出力しようと
try-catch構文でArithmeticExceptionは回避させたんですけど、
java.util.EmptyStackExceptionのほうが割り算のoperatorに
try-catchで組み込んでもうまくいかないのですが、どうすれば
よいのでしょうか。たびたび質問ですみませんがお願いします。

412 名前:409 [2008/07/08(火) 00:09:02 ]
>>411
まず、状況を説明するならその元となるモノ(409が変更した結果のソース)をアプしたり
どう「うまくいかない」のか、想像していたことと実際起きたことを明記しないと分からん。
というわけで想像だが、
values.push(a.divide(b,5,BigDecimal.ROUND_HALF_EVEN));
を丸ごと try{ }catch(ArithmeticException e) に入れてしまうと、
values への push がされず、以降の計算を進めるための values が
足りなくなってしまうだろな。
0割が発生した場合は式全体を消して初期状態に戻してしまうのが普通かもしれない。
divideOperator#operateではなく、式全体を計算してるactionPerformedで処理する。
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/339.java

413 名前:409 [2008/07/08(火) 00:17:22 ]
>409が変更した結果のソース
→ 411が変更した〜
スマン。
謝りついでも恐縮だが、長々サシ状態にしてしまってご免>スレ利用者各位

414 名前:デフォルトの名無しさん [2008/07/08(火) 00:40:39 ]
>>412
upの件はすみません。
でも無事解決しました。設定する場所が違っていたんで
すね。今回の質問で得るものが多かったです。これを活かして
精進しようと思います。>>409 さん、本当にありがとうございました。

415 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 15:59:10 ]
【 課題 】java3Dを用いてx,y,zの三次元のパラメータを持つ20個程度のデータを三次元上にプロットし
      プロットされたデータをマウスクリックするとプロットの色が変化するようにしなさい  
【 形態 】2. Applet/
【 GUI  】4. 制限なし/
【 期限 】7月15日
【 補足 】java3Dを今回初めて触ってみてまだサンプルプログラムを使って箱が回転できる程度です
      座標やマウスリスナーの座標指定の仕方について現在調べていこうと考えています
      アドバイス宜しくお願い致します

416 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 21:58:39 ]
【 課題 】ABC0703_111_Billiards.javaのpaint methodの繰り返し部分を
      for文を用いて書き換えよ。
      ただし、繰り返しは300回行われるようにせよ。
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】不明
【 Ver  】java version "1.6.0"
【 期限 】8月まで
【 補足 】ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/340.java
      ↑がABC0703_111_Billiards.javaの中身です。
      丸投げで申し訳ありませんが、よろしくお願いします。

417 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 23:02:53 ]
>>416
すでにfor文になってるじゃん・・・?

paintメソッドの(1)〜(4)にある
for(int n=0; n<100; n++)を
for(int n=0; n<300; n++)
にすればいいだけかと。

418 名前:デフォルトの名無しさん [2008/07/08(火) 23:32:29 ]
【 課題 】drawOval(50,50,300,300)の円と、その円が内接する正方形つまり
      drawRect(50,50,300,300)を描き、チェックボックスによりその円と
      正方形を切り替えて表示できるようにせよ。
【 形態 】2. Applet
【 GUI  】2. Swing
【 期限 】7/10
【 補足 】丸投げですが、よろしくお願いします。

419 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 23:40:30 ]
>>415
ネット上で拾ったサンプルを切り貼りしてみた。
当方も本日初めてjava3Dを触ったので、参考までにて。

ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/341.java



420 名前:デフォルトの名無しさん [2008/07/09(水) 02:04:23 ]
>>417
その(1)〜(4)が同じっぽいから、つまり二重ループにしろってことじゃ?
繰り返し300回ってのがどっちのことか分からないが。

421 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 02:08:25 ]
>>418
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/342.java

422 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 12:17:11 ]
>>420
300回、線を引いてみることにした。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/343.java

423 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 13:35:26 ]
>>419
書き忘れていた細かい部分まで実装されていて
大変参考になりました。ありがとうございます。
余裕が出来たのでこれから自分なりに色々いじってみたいと
思います。本当にありがとうございました。

424 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 14:07:01 ]
[1] 授業単元:オペレーティングシステム
[2] 問題文(含コード&リンク):
pipe3.cを完成させて、親子プロセス間で交互にメッセージを交換するプログラムを作成せよ。
pipe3.cはこちらになります↓
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7291.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:7/9 23:59まで

どうかよろしくお願いします。

425 名前:424 mailto:sage [2008/07/09(水) 14:07:55 ]
誤爆しました。申し訳ありません。

426 名前:416 mailto:sage [2008/07/10(木) 07:37:03 ]
質問に答えてくださった皆さん、ありがとうございました
教授の言った限りでは>>422で良かったようです

427 名前:418 [2008/07/10(木) 11:47:16 ]
>>421
すぐに教えて頂きありがとうございました。
無事間に合わせることができました。

428 名前:デフォルトの名無しさん [2008/07/10(木) 16:44:26 ]
現在、swingを利用したGUIプログラムを作成しています。
catchブロックで例外を捕らえた場合は、
そのエラー内容を表示しろとのことなのですが、
これはJOptionPane.showMessageDialogで表示したほうがよいのか、
System.out.printlnで表示したほうがよいのか、
一体どちらなのでしょうか。
System.out.printlnだと、開発環境から起動しなかった場合に、
内容を確認できないと思っています。

429 名前:デフォルトの名無しさん mailto:sage [2008/07/10(木) 17:03:49 ]
ただの質問は質問スレへ



430 名前:デフォルトの名無しさん [2008/07/13(日) 15:40:59 ]
【 課題 】ttp://issoft17.is.noda.tus.ac.jp/~takeda/Java/delete.jpg
線形リストにおいて、指定されたn番目をリストから省くメソッドの作成(再帰的)ただし、n番目が要素数を上回っていた場合はリストをそのまま返す。
課題ページは上記URLです。
【 形態 】1. Javaアプリケーション
【 Ver  】1.5.0_15
【 期限 】7月14日17:00
【 補足 】リストの処理においてword欄を書き換えたり、メソッドの外でグローバル変数を使用するのはNGです。
現段階で非再帰的に処理を行うメソッドは作成済みですが、再帰的な処理の方が全くアルゴリズムが思い浮かばず
丸投げ状態です。締切まで時間がありませんが、もし可能な方がいましたら宜しくお願い致します。
参考URL:ttp://www.ed.noda.tus.ac.jp/j-takeda/list.html

431 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 16:44:47 ]
【 課題 】 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/345.txt
【 形態 】 Javaアプリケーション(main()で開始)
【 期限 】 2008/07/20 23:00
【 Ver  】 1.4.2_12
【 補足 】 課題の丸投げです。
       .javaファイルを1ファイルで作成して欲しいです。
       できるだけ初心者にも理解し易く、単純な形で記述して頂けると助かります。
       problem080720@yahoo.co.jpまでソースファイルをお送り下さい。
       宜しくお願いします。

432 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 17:05:01 ]
【課題提示用テンプレ】
【 課題 】「Java言語」を用いて、フラクタルを取り入れた自由作品を作りなさい
【 形態 】2. Applet
【 期限 】7月16日(水)
【 補足 】丸投げですが、何卒よろしくお願いいたします。

433 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 17:29:33 ]
>>430
自分でもよく分かってないけど・・・間違ってたらすまん
public static ListNode delete(ListNode head, int n) {
if(head != null) {
if(--n==0) {
head = head.next;
} else {
head.next = delete(head.next, n);
}
}
return head;
}

434 名前:430 [2008/07/13(日) 17:39:45 ]
>>431
今書いて頂いたメソッドを組み込んで動作確認をしたところ、課題通りに正しい結果が返されました。
おかげで無事に提出期間に間に合いそうです。
迅速な回答本当に有難うございました。

435 名前:430 [2008/07/13(日) 17:41:40 ]
レス番間違え。正しくは
>>433様宛てでした。度々失礼致しました。

436 名前:デフォルトの名無しさん [2008/07/13(日) 17:47:44 ]
【 課題 】3つの正の整数a、b、c ( c ≧ b ≧ a )が直角三角形になるa、b、c
の組合せを20個出力するプログラムを作れ(while 文を使うこと)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/14まで
【 Ver  】1.6.0
【 補足 】丸投げです。お願いします。

437 名前:デフォルトの名無しさん [2008/07/13(日) 17:49:29 ]
【 課題 】年月日を入力したい。
      存在しない年月日を入力したらエラーメッセージを出力し再入力促

       閏年の判定を行うこと。
           1. 西暦年が4で割り切れる年は閏年
           2. ただし、西暦年が100で割り切れる年は平年
           3. ただし、西暦年が400で割り切れる年は閏年
       存在する年月日であればそれを表示せよ
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】7月14日まで
【 Ver  】1.6.0
【 補足 】学校の宿題です。お願いします。

438 名前:デフォルトの名無しさん [2008/07/13(日) 17:58:01 ]
【 課題 】3行3列の行列Aと行列Bの各要素をキーボードから入力し、AB(行列
の掛け算)の結果を出力するプログラムを書け。行列A、Bは2次元配列で表すこと。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/14
【 Ver  】1.6.0
【 補足 】明日までなのでよろしくお願いします。

439 名前:デフォルトの名無しさん [2008/07/13(日) 17:58:50 ]
【 課題 】0〜2の乱数(整数)を作り、キーボードから0〜2を入力して、両者が
同じ数字なら「当たり!」、違う数字なら「はずれ!」と以下のように出力せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7月14日 《必須》
【 Ver  】1.6.0
【 補足 】丸投げです。わからないのでよろしくお願いします。



440 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 18:26:19 ]
【課題】欧文を入力すると、そこで使われている全単語の使用回数(出現頻度)を数え、
一覧表示するプログラムを作成しなさい。 HashMap を使うこと。
欧文は、単語と単語の間が空白で区切られているものとする。
Scanner クラスのメソッド next() を使うと、 1単語ずつ読み込むことができる。
main メソッドのあるクラスのクラス名は WordCounter とする。


System.out.println("欧文を入力してください(終了: Ctrl-d)");
Scanner scanner = new Scanner(System.in);

while(scanner.hasNext()) {
String word = scanner.next();

....

}

【形態】1. Javaアプリケーション(main()で開始)
【期限】7月14日 20;00
【Ver】1.5.0.11
【補足】丸投げです。宜しくお願いします

441 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 18:30:00 ]
なんか急に増えたな・・

>>431
1. Stack を固定長配列を使って定義しなさい。
とりあえずこれはこんな感じだと。メールは面倒だわ・・
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/346.java

>>432
そのへんはググればいくらでもソース見つかると思うからそうした方が・・

442 名前:432 mailto:sage [2008/07/13(日) 18:48:26 ]
>>441
講師「はぁ?何お前?ググってコピペする気?言っとッけど俺マジパネェよ?ググって提出した課題全部分かっちゃうよ?」
生徒「・・・・・・」

いや、無理ならスルーしてくれても構わないんだ
アドバイスありがとう

443 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 20:28:08 ]
>>442
人に頼んだり、まして、ネットでもらった回答がバレない理由なんて無いんじゃね?

444 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 20:36:22 ]
>>443
うん、それを言われちゃあ返す言葉もない

445 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 21:33:52 ]
>>440
Scanner って ctrl-d で終わるんだっけ? そんな風には動かないんだが。
ま、いいかw
import java.util.*;
public class WordCounter {
public static void main(String[] args) {
System.out.println("欧文を入力してください(終了: Ctrl-d)");
Scanner scanner = new Scanner(System.in);
HashMap<String,Integer> wordMap = new HashMap<String,Integer>();
while(scanner.hasNext()) {
String word = scanner.next();
if(wordMap.containsKey(word)) {
wordMap.put(word, wordMap.get(word).intValue() + 1);
} else {
wordMap.put(word, 1);
}
}
System.out.println("---- 単語数: "+wordMap.size());
for(Map.Entry<String,Integer> entry : wordMap.entrySet()) {
System.out.println(entry.getKey()+": "+entry.getValue());
}
}
}

446 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 21:36:44 ]
>>439
>以下のように出力せよ。
って何

447 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 22:00:32 ]
>>436
式知らないので参考URLとともにむりやりwhile。
// ttp://atsugi5761455.fc2web.com/calking14.html
public class ピタゴラスの三角形 {
public static void main(String[] args) {
int n = 1;
int i = 1;
int n2 = n * n;
int k = 1;
while(i <= 20) {
int m = n + k;
int m2 = m * m;
int a = m2 + n2;
int b = m2 - n2;
int c = 2 * m * n;
System.out.println(i+": a="+a+",b="+b+",c="+c);
i ++;
k += 2;
}
}
}

448 名前:447 mailto:sage [2008/07/13(日) 22:04:27 ]
ああ、
> c ≧ b ≧ a
を満たしてないし。数値入れ替えるだけじゃだめ?w

449 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 22:22:30 ]
>>441
回答ありがとうございます。
しかし、それだと問題1しか解けていないと思うのですが・・・
問題は1〜5まであります。
どうか宜しくお願いします。



450 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 22:29:26 ]
>>437
import java.util.*;
public class Uruu {
static final int[] daysOfMonth = new int[]{31,29,31,30,31,30,31,31,30,31,30,31};
public static void main(String[] args) {
while(true) {
System.out.println("yyyy mm dd");
Scanner in = new Scanner(System.in);
int y = Integer.parseInt(in.next());
int m = Integer.parseInt(in.next());
int d = Integer.parseInt(in.next());
if(y < 1583 || m < 1 || m > 12 || d < 1 || d > daysOfMonth[m-1]) {
System.out.println("err.");
continue;
} else if(m == 2 && !isUruu(y) && d > 28) {
System.out.println("URUU-day err.");
continue;
}
System.out.println("y="+y+",m="+m+",d="+d);
break;
}
}
static boolean isUruu(int y) {
if((y % 400) == 0) return true;
if((y % 100) == 0) return false;
return ((y % 4) == 0);
}
}
自分で書いといてヒドイ書き方だと思う…

451 名前:446 mailto:sage [2008/07/13(日) 22:44:54 ]
>>439
とりあえず
import java.util.*;
public class RndNum {
public static void main(String[] args) {
Random random = new Random();
int num = random.nextInt(3);
System.out.println(num);
System.out.println("input 0-2");
Scanner scanner= new Scanner(System.in);
int input = scanner.nextInt();
if(input == num) {
System.out.println("当たり!");
} else {
System.out.println("はずれ!");
}
}
}

452 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 23:29:47 ]
>>438
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/347.java

453 名前:デフォルトの名無しさん mailto:sage [2008/07/13(日) 23:34:28 ]
>>441
週末向けに宿題だされたけど結局やらずに駆け込みってことかねぇ。
暇つぶしには適当にばらけてくれたほうがいいんだが。

454 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 01:18:18 ]
>>431
3 の Cell を使うと
>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。
ちゅうのをどう表現するか決めかねるんだが。

3.
>>441 のを修正して
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/348.java
4.
大きさチェックなし
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/349.java

メールでレス貰おうなんざ面倒くさ杉

455 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 07:29:10 ]
メールの場合ノーチェックになるからな
ここにレスするかうpろだだとこのスレの他の人のチェックはいるから
変なプログラムはめちゃ叩かれるw

456 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 12:53:50 ]
【 課題 】じゃんけんゲームを作成せよ。完成版は、反復構造により続けてゲームができるようにし、0で終了させて最後に勝ち負けの集計(勝率も計算させる)が表示できるようにせよ。
なお、プログラムは
 あなたの手の入力の処理
 コンピュータの手の生成
 勝ち負けの判定
 勝率の計算
の4つの処理を行うメソッドを定義し、これを利用して作成すること。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】7月31日まで
【 補足 】単位かかってます。

457 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 14:14:14 ]
>>456
こういうの見ると、
"必ず勝つ(or負ける)ようにしとけば判定とか率とか表示1行で済んで楽だ"
と思うんだが、そするとやっぱり単位とやらが貰えないのだろうか。
閑話休題。
>完成版は、
とあるが、未完成版はあるのか? もしくは未完成版でもいいのか?
>0 で終了させて
というのは、手の入力には何か規則があるのか?

458 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 14:22:55 ]
【 課題 】コマンドライン引数から西暦を受け取り、うるう年であるかを判定するプログラム
report3.javaを作成しなさい。うるう年の条件は次のとおりである。
 ・4で割り切れる年はうるう年である
 ・100で割り切れる年はうるう年ではない
 ・400で割り切れる年はうるう年である

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/15
【 補足 】どうしても結果が被ってしまいます。お願いします。
public class report3 {
public static void main(String[] args) {

int x = Integer.parseInt(args[0]);

if(0 == x%4 || 0 == x%400) {
if(0 != x%100) {
System.out.println(x + "年はうるう年です");
}
}
if(0 == x%100) {
System.out.println(x + "年はうるう年ではありません");
}
else {
System.out.println(x + "年はうるう年ではありません");
}

}
}

459 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 14:42:40 ]
>>458
>>450 を参考にせんか?



460 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 14:52:51 ]
>>458
public class report3 {
public static void main(String[] args) {
int x = Integer.parseInt(args[0]);
if((0 == x%4 && 0 != x%100) || 0 == x%400) {
System.out.println(x + "年はうるう年です");
} else {
System.out.println(x + "年はうるう年ではありません");
}
}
}
動かしてないからそのつもりで。
しかし = の前に 0 があるのって私には違和感あるなぁ。

461 名前:デフォルトの名無しさん [2008/07/14(月) 15:14:32 ]
【 課題 】キーボードから5回整数の入力を受け取り、
それらの合計値と平均値を計算して表示するプログラムを作成しなさい。

462 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 15:17:34 ]
>>460
ありがとうございます
カッコで区切るんですね

爆発しそうな脳みそがやっと縮みました

463 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 16:04:16 ]
>>458
x にどんな値をいれたらどの順にどの行が実行されるのかを一つ一つ追ってみるといい。
ちなみに、途中でプログラムを強制終了させるなら System.exit() というのがあってだな…。

464 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 16:07:29 ]
【課題提示用テンプレ】
【 課題 】
整数nを入力して、1からnまでの整数を、それぞれ素因数分解した結果を返すプログラムを作る。
条件として、2つのスレッドを用いる。Thread の起動方法は、thread.start() を用いよ。
2つのスレッドは、共通のAtomicInteger のカウンタから、getAndIncrement()として得た整数に対して、素因数分解を行う。
得られた整数がnを超えたらスレッドを終了する。
素因数分解の結果は、ConcurrentHashMap<Integer>, List<Integer>>に格納する。
キーのInteger が素因数分解の対象の整数であり、値のList<Integer>が素因数分解した結果の整数群である。
全ての素因数分解が終了したのち、メインスレッドで、整数1からnまでの全ての結果を「12: 2 2 3」のように表示させよ。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver  】3.2.2




465 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 16:09:38 ]
【課題提示用テンプレ】
【 課題 】
整数 n を入力し、1からnまでの素数を List<Integer> にまとめて返却するメソッドを作成せよ。
また、このメソッドを利用し、整数1000に対して、求めた素数を1行にひとつずつ画面に表示するプログラムを作成し、動作確認せよ。
表示した素数は桁合わせされていること。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver  】3.2.2


466 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 16:10:28 ]
【 課題 】
1京(10000000000000000)、2京、3京、4京のそれぞれより大きい最初の素数を計算せよ。これを計算する上では、スレッドを利用すること。FixedThreadPool を用いて、スレッド数2にして、上記の4つのタスクを並行実行して、結果を求めよ
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver  】3.2.2

467 名前:464-466 mailto:sage [2008/07/14(月) 16:11:04 ]
課題丸投げですが、よろしくお願いします。

468 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 17:04:36 ]
>>464
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/350.java

469 名前:464 mailto:sage [2008/07/14(月) 17:14:36 ]
>>468
ありがとうございます!



470 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 17:20:16 ]
>>465
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/351.java

471 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 17:21:55 ]
>>464 - >>466
時間無さ杉w

472 名前:464 mailto:sage [2008/07/14(月) 17:26:01 ]
スマソwww急に演習課題とか始まって\(^o^)/オワタ

473 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 17:30:53 ]
>>472
リアルタイムかい。
で、オワタ?466はもういいのか?

474 名前:464 mailto:sage [2008/07/14(月) 17:33:40 ]
すみません。人生的な意味で終わってるってことですw
466もお願いします!

475 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:02:51 ]
>>466
まにあわなかったか?
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/352.java
でかすぎてテストしきれてないぞ


476 名前:466 mailto:sage [2008/07/14(月) 18:09:45 ]
>>475
ありがとうございます!
みんなできていないようなので、レポートという形になりそうです。
さらに問題が追加されましたww
近々またお世話になるかもしれません。
お忙しい中、本当にありがとうございます。

477 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:16:51 ]
>>475
でかすぎですねwwww
プログラムテストできませんw

478 名前:464 mailto:sage [2008/07/14(月) 18:40:06 ]
追加された問題たちです。

【 課題 】
初期化時に文字列引数を持つ Enum 型 Fruit を作成し、
APPLE, ORANGE, GRAPE, CHERRY, PEACH のそれぞれの要素を、
日本語名を引数にして初期化せよ。
そして、この Enum 型から全ての要素を取出し、英語名でアルファベット順にソートして、
「英語名: 日本語名」の形で、アルファベット順に表示せよ。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 24:00まで
【 Ver  】3.2.2


479 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:45:16 ]
Javaにもenumってあったのか



480 名前:475 mailto:sage [2008/07/14(月) 18:46:10 ]
まぁなにしろ間に合うかどうか優先で全然速さを考えてないからなw
素因数分解をBigDecimal対応にするだけで面倒くさかった。
時間できたらなんとかの篩でもなんでもやってくれぃ。

481 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:47:22 ]
【 課題 】
キャプチャーしてzipでうpしました。
お手数おかけします。
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/353.zip
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 24:00まで
【 Ver  】3.2.2


482 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:49:25 ]
>>480
ありがとうございます。
なんとかやってみます!
先生が理不尽で、困ります(><)

483 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:51:20 ]
>>481
ワシそゆのダメ、素で読めんw

484 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 18:55:43 ]
>>483
すみません。
そうですよね〜。さすがにこれはわけがわからないです。
なにをどうすればいいのかさっぱりです。

485 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 19:05:49 ]
>>479
1.5から追加になった。

486 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 19:11:48 ]
>>481
こんな感じだろうか
int k=0;
while(true) {
if(Math.PIの小数点第8位までの値 == (1/無限小数の式)の小数点第8位までの値) break;
}
k+1回がループ数

487 名前:478&481 mailto:sage [2008/07/14(月) 19:26:23 ]
すみません!
友達がやってくれました!
みなさんありがとうございました!

488 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 19:31:51 ]
>>487
じゃあ結局467は何もやってないのかw
>>478
とりあえずやってみたのでうp
import java.util.*;
public class K478 {
public static void main(String[] args) {
Fluit[] fluits = Fluit.values();
Arrays.sort(fluits, new Comparator<Fluit>() {
public int compare(Fluit o1, Fluit o2) {
return o1.toString().compareTo(o2.toString());
}
});
for(Fluit fluit : fluits) {
System.out.println(fluit.toString()+": "+fluit.getJapanese());
}
}
static enum Fluit {
APPLE("リンゴ"),
ORANGE("オレンジ"),
GRAPE("ブドウ"),
CHERRY("サクランボ"),
PEACH("モモ");
private String japanese;
Fluit(String japanese) {
this.japanese = japanese;
}
public String getJapanese() { return japanese; }
}
}

489 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 22:31:12 ]
/*
手持ちのお金の枚数と買い物の合計金額から,お釣りの枚数が最も少なくなる支払い方を計算するプログラム.
*/
import java.io.*;
public class MinimalChanges {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("手持ちのお金の枚数を入力してください.");
System.out.print("一万円札:");
String line = reader.readLine();
int man = Integer.parseInt(line);
System.out.print("五千円札:");
line = reader.readLine();
int gosen = Integer.parseInt(line);
System.out.print("千円札:");
line = reader.readLine();
int sen = Integer.parseInt(line);
System.out.print("五百円玉:");
line = reader.readLine();
int gohyaku = Integer.parseInt(line);
System.out.print("百円玉:");
line = reader.readLine();
int hyaku = Integer.parseInt(line);
System.out.print("五十円玉:");
line = reader.readLine();
int goju = Integer.parseInt(line);
System.out.print("十円玉:");
line = reader.readLine();
int ju = Integer.parseInt(line);




490 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 22:32:40 ]
続き
System.out.print("五円玉:");
line = reader.readLine();
int go = Integer.parseInt(line);
System.out.print("一円玉:");
line = reader.readLine();
int ichi = Integer.parseInt(line);
System.out.print("");
System.out.println("買い物の合計金額を入力して下さい.");
line = reader.readLine();
int sum = Integer.parseInt(line);
int p = sum % 10;
System.out.println("");
int pay1 = one(p, ichi);
p = p - pay1;
int pay5 = five(p, go);
if (p <= (pay5 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay10 = one(p, ju);
p = p - pay10;
int pay50 = five(p, goju);
if (p <= (pay50 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;


491 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 22:34:07 ]
int pay100 = one(p, hyaku);
p = p - pay100;
int pay500 = five(p, gohyaku);
if (p <= (pay500 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay1000 = one(p, sen);
p = p - pay1000;
int pay5000 = five(p, gosen);
if (p <= (pay5000 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay10000;
if (man >= p) {
pay10000 = p;
System.out.println("一万円札" + pay10000 + "枚");
System.out.println("五千円札:" + pay5000 + "枚");
System.out.println("千円札:" + pay1000 + "枚");
System.out.println("五百円玉:" + pay500 + "枚");
System.out.println("百円玉:" + pay100 + "枚");
System.out.println("五十円玉:" + pay50 + "枚");
System.out.println("十円玉:" + pay10 + "枚");
System.out.println("五円玉:" + pay5 + "枚");
System.out.println("一円玉:" + pay1 + "枚");


492 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 22:34:55 ]
System.out.println("で支払ってください.");
System.out.println("");
} else {
System.out.println("お金が足りません.");
}
} catch (IOException e) {
System.out.println(e);
} catch (NumberFormatException e) {
System.out.println(e);
}
}
public static int one(int p, int ichi) {
if (p > 5) {
if ((p - 5) <= ichi) {
return p - 5;
} else {
return 0;
}
} else if (p <= ichi) {
return p;
} else {
return 0;
}
}


493 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 22:37:12 ]
public static int five(int p, int go) {
if (p != 0) {
if ((p <= 5) && (go != 0)) {
return 1;
} else {
return 0;
}
} else {
return 0;
}
}
}
これで終わりなのですが、手持ちのお金と,買い物の金額を入力すると,
お釣りの枚数が最も少なくなる支払い方を教えてくれるプログラムです.
例えば1000円札1枚,100円玉2枚,10円玉4枚持っていて,買い物の合計が625円の時,
プログラムを実行させると1000円札1枚,100円玉1枚,10円玉3枚で支払うように指示します.
ただしこのプログラムでは,1000円札,100円玉,10円玉,1円玉に関しては4枚以内,
5000円札,500円玉,50円玉,5円玉に関しては1枚以内しか持っていないという前提になっているため,
例えば1円玉のみ100枚持っているときに,100円の買い物をしようとしても「お金が足りません」と出力されてしまいます.
この、問題をどんな形でも良いので解消してください。

494 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 22:47:55 ]
>>493
>>1くらい読め

495 名前:デフォルトの名無しさん mailto:sage [2008/07/14(月) 23:05:01 ]
【 課題 】手持ちのお金と,買い物の金額を入力すると,お釣りの枚数が最も少なくなる支払い方を教えてくれるプログラムです.
例えば1000円札1枚,100円玉2枚,10円玉4枚持っていて,買い物の合計が625円の時,
プログラムを実行させると1000円札1枚,100円玉1枚,10円玉3枚で支払うように指示します.
ただしこのプログラムでは,1000円札,100円玉,10円玉,1円玉に関しては4枚以内,
5000円札,500円玉,50円玉,5円玉に関しては1枚以内しか持っていないという前提になっているため,
例えば1円玉のみ100枚持っているときに,100円の買い物をしようとしても「お金が足りません」と出力されてしまいます.
この問題を直しなさい。

【 形態 】Javaアプリケーション(main()で開始)
【 GUI  】制限なし
【 期限 】明日のAM6時
【 Ver  】1.6.0_07
【 補足 】スレ汚してしまってすいません。
      rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/354.java

496 名前:デフォルトの名無しさん [2008/07/15(火) 00:57:36 ]

【 課題 】キーボードから5回整数の入力を受け取り、
それらの合計値と平均値を計算して表示するプログラムを作成しなさい。
for文またはwhile文による繰り返しを使うこと。
平均値も整数とし、小数点以下が表示されなくてもよい。
キーボードから入力した文字列が制すうちに変換されないときの例外処理はしなくてよい。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/16 18:00まで
【 Ver  】3.2.2


よろしくお願いします。

497 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 01:59:57 ]
>>496
public static void main(String args[])
{
Scanner kbd=new Scanner(System.in);
int sum=0;
for(int i=0;i<5;i++){
sum+=kbd.nextInt();
}
System.out.println("合計値:"+sum);
System.out.println("平均値:"+sum/5);
}

498 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:28:23 ]
本日の課題プログラムを参考にして、じゃんけんゲームを完成させよ。完成版は、反復構造により続けてゲームができるようにし、0で終了させて最後に勝ち負けの集計(勝率も計算させる)が表示できるようにせよ。
なお、プログラムは
 あなたの手の入力の処理
 コンピュータの手の生成
 勝ち負けの判定
 勝率の計算
の4つの処理を行うメソッドを定義し、これを利用して作成すること。
実行例:
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
1
あなたの手はグーです。
コンピュータの手はチョキです。
あなたの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
2
あなたの手はチョキです。
コンピュータの手はグーです。
コンピュータの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
2
あなたの手はチョキです。
コンピュータの手はグーです。
コンピュータの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
0
終了
あなたは3試合中、1勝2敗0分け(勝率:3割3分3厘)です。


499 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 11:59:42 ]
>>498
>>1くらいよめ



500 名前:デフォルトの名無しさん [2008/07/15(火) 13:26:40 ]
>>498
>>456

501 名前:デフォルトの名無しさん [2008/07/15(火) 13:32:39 ]
>>498
んで、「本日の課題プログラム」とやらはどこにある?

502 名前:デフォルトの名無しさん [2008/07/15(火) 15:02:26 ]
>>497さんありがとうございます。

【 課題 】キーボードから2個の小数点の入力を受け取り、
それらを底辺と高さとする三角形の面積を計算して表示する
プログラムを作成しなさい。
・三角形をオブジェクトとして考え、三角形オブジェクトを作成するTriangleクラスを宣言して使うこと。
・Triangleクラスのメンバには、底辺と高さの値をあらわすインスタンス変数、面積を計算するためのインスタンスメソッドを含むこと。
・キーボードから入力された文字列が数値に変換できないときの例外処理はしなくてよい。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/17 18:00まで
【 Ver  】3.2.2

追加でよろしくお願いします。

503 名前:デフォルトの名無しさん [2008/07/15(火) 15:19:58 ]
テンプレを勘違いのまま使ってるな。
【Ver】は Eclipse のバージョンじゃなくて Java のバージョンだぞ。

504 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 15:31:10 ]
>>502
import java.util.Scanner;
public class Triangle {
private double 底辺, 高さ;
public Triangle(double 底辺, double 高さ) { this.底辺 = 底辺; this.高さ = 高さ; }
public double 面積() { return 底辺 * 高さ / 2; }
public static void main(String[] args) {
System.out.println("三角形の底辺と高さを入力(スペース区切り):");
Scanner scanner = new Scanner(System.in);
double 底辺 = scanner.nextDouble();
double 高さ = scanner.nextDouble();
Triangle 三角形 = new Triangle(底辺, 高さ);
System.out.println("面積="+三角形.面積());
}
}

505 名前:デフォルトの名無しさん mailto:sage [2008/07/15(火) 15:32:14 ]
>>502
小数点とは、『.』のことだぞ?

506 名前:431 mailto:sage [2008/07/16(水) 01:21:23 ]
>>454
回答ありがとうございます。
>3 の Cell を使うと
>>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。
>ちゅうのをどう表現するか決めかねるんだが。
問題文は原文のままですのでなんとも言えないのですが・・・
TestStack.classファイルが今日配布されましたので、もし修正して頂けるなら参考にして下さい。
問題1〜2、3〜4でどういうソースを書けば良いのか参考になると思います。
以下にzipファイルのURLと説明を書きます。

ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/355.zip
TestProgram11_1フォルダ内のTestStack.classファイルは、Stack.classと共にsrc/Problem11/Answer3に格納して実行してみて下さい。
TestProgram11_2フォルダ内のTestStack.classファイルは、Stack.class、Cell.classと共にsrc/Problem11/Answer4に格納して実行してみて下さい。
パッケージの宣言(?)をそれぞれProblem11.Answer3、Problem11.Answer4にすれば良いようです。
そもそもProblem11.Answer1、Problem11.Answer2でTestStack.classファイルを作成して配布していれば良いと思うのですが、
こういう部分に問題文の作りの甘さが表れていると思います…

507 名前:431 mailto:sage [2008/07/16(水) 01:21:57 ]

問題1に関しては>>441で回答して頂いたファイルの一部分を
void push (Object anObject) {
// スタックの最後の位置を増やす
top++;
// スタックに要素追加
stack[top] = anObject;
}
に直したら正常動作しました。ありがとうございます。

問題2はまだ回答して頂いておらず、上にアップロードしたTestProgram11_1フォルダ内のTestStack.classを実行した際に動作するようなソースを書いて頂けないでしょうか。

問題4の
>import java.io.ByteArrayOutputStream;
>import java.io.PrintStream;
の記述がよくわかりません。コンパイルでもエラーが出ました。
現在コンパイルしてエラーを表示できる環境にないので、今はエラーの詳細を貼ることは出来ませんが…
後ほど貼ります。
問題3、問題4に関しても上記のファイルのTestProgram11_2フォルダ内のTestStack.classの動作に添うようにソースを書いて頂けないでしょうか。

色々文句をつけてしまいすみません。
自力では解けませんのでなんとか宜しくお願いします。

508 名前:468 [2008/07/16(水) 01:27:36 ]
>>464
すまぬ〜、さっき知ったんだが、
>AtomicInteger
って java.util.concurrent.atomic.AtomicInteger なんだな。手前勝手に作っちまった。
クラス宣言消して import 追加して生成してるとこでパラメータに 1 を指定する、のが
正解ってことで。

509 名前:デフォルトの名無しさん [2008/07/16(水) 02:13:12 ]
【 課題 】コンパイルせよ。エラーが出たら原因を考えて修正せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ(だと思います)
【 期限 】今週金曜日
【 Ver  】
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)

プログラムをコンパイルすると
Ex5c.java:28: 警告:[unchecked] raw 型 java.util.ArrayList のメンバとしての add(E
) への無検査呼び出しです。
list.add(new AnalogClock());
というエラーが出るのですが、直し方がよくわかりません

AnalogClock aClock;
aClock = new AnalogClock();
ArrayList list = new ArrayList();
ググったら↑を書き換える必要があるらしいのですが、どう書き変えたらいいのかわかりません。
お願いします。



510 名前:デフォルトの名無しさん mailto:sage [2008/07/16(水) 02:22:19 ]
>>509
警告だから、別に直さなくても良いけど、

ArrayList<AnalogClock> list = new ArrayList<AnalogClock>();

とか書けば消えるんじゃね?


511 名前:454 [2008/07/16(水) 03:27:27 ]
>>506>>507
なんだか変な話になってきそうだが、問題2/問題4の
>Stack が要求を満たしていることをテストするプログラムTestStack を定義しなさい。
というのは、その配布された TestStack.class のソースを再現しろということなのか?
そもそも、1と3で作成した Stack は指示されたインターフェースを満たすようにつくって
いるのだから、UnitTest ならともかくそのレベルのテストは同じものになるはずだが。
ちなみに
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/348.java
は4つのテスト全てで
>テスト結果 = true
と表示されたが、これでいいのか?






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

前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