1 名前:JavaScriptは板違い、Web制作板をご利用ください。 [2007/01/20(土) 22:34:12 ] 【質問者へ】 回答者の便宜のため、以下の注意事項を遵守してください。 ・質問は【課題提示用テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。 ・JavaScriptは板違い、Web制作板をご利用ください。 ・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。 ・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。 ・回答されたら動作報告を必ずしてください。 【課題提示用テンプレ】 【 課題 】与えられた課題文をそのまま書きます。 《必須》 【 形態 】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 www.wikiroom.com/java/ ソースポストネット sourcepost.sytes.net/ 【前スレ】 pc10.2ch.net/test/read.cgi/tech/1165167516/
856 名前:851 mailto:sage [2007/05/05(土) 00:50:26 ] 失礼いたしました。。 【 課題 】ttp://www.dotup.org/uploda/www.dotup.org6746.txt 【 形態 】2. Applet 【 GUI 】4. 制限なし 【 期限 】5/7 【 Ver 】1.6.0_01 【 補足 】丸投げでお願いします。#現在作成中です。。 読みにくいテキストで申し訳ありません。あらためてよろしくお願いします。
857 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 01:59:18 ] 待ってる間にじっくり考えても終わってるだろ
858 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 09:08:41 ] >>856 ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29364 ////////// "ファイル名" で分割すること。 上段のTextFieldは幅、高さ、x、yで、残り2つはコマンドに応じて必要なもの(x0,y0とかmx,my)。 下段はintersect用の2つ目の四角を指定。 マウスで四角をクリックするたびに、上段の数字が下段に送られ、上段にクリックしたもののサイズと位置が入る。 つまり2つの四角を順にクリックすれば2つを指定できる。 今回のは、前回のやつを色付き対応に拡張するのはやらずに、アプレットを作るだけでいいということ? とりあえず前回のBoardとRectangleを色付き対応にしている。
859 名前:851 mailto:sage [2007/05/05(土) 12:24:22 ] >>858 す、すごい・・・。 今回は色付き対応させ、アプレットを作るといった形です。 説明不足で申し訳ないです。。わざわざコメントまでつけて頂いて。。 本当にありがとうございました。
860 名前:デフォルトの名無しさん [2007/05/05(土) 19:09:11 ] 【 課題 】ソフトウェア作成の課題で、マルチスレッドゲームを作っています。 内容は同一PC内で動く通信ゲームで、Javaアプレットを使用して サーバープログラムとクライアントプログラムそれぞれが通信し、 サーバー起動後、クライアント(最高4人まで)がログインするとそれぞれ違った図形でゲーム画面に表示され、 ドラッグ&ドロップで行き来できるという内容です。(対戦するといったようなゲーム性はありません。) 起動画面です:ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/6.jpg もともとのソースは海外の様々なWebサイトから拾ってきた物で、それらを改造して作っているのですが、 自分にとって初の大きなプログラムなので、エラー数が多く分けが分からない状態になっています。 その中で一番の問題は、起動画像を見てもらえると分かると思うのですが、プレイヤーを起動した時、 赤い長方形(Red Rectangle)と、緑の円(Green Circle)はどの窓でも普通に表示されているのですが、 黄色の円(Yellow Circle)と青の角丸長方形(Blue Rounded Rectangle)だけ、自身の形と他の窓での形が違います。 ここを修正しようと3〜4時間、コードを調べているのですがいっこうに修正する事が出来ません。 他のエラー部分も修正しないといけないのですが、とりあえずこの部分だけでも修正してくださる方、よろしくお願いします。 ソースです。: プレイヤー:ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/3.txt シェイプドロウ:ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/5.txt サーバー:ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/4.txt 【 形態 】1. Javaアプリケーション 【 GUI 】4. 制限なし 【 期限 】5月7日まで 【 Ver 】java version "1.5.0_11"
861 名前:860 [2007/05/05(土) 19:39:39 ] jarファイルで起動サンプルを作ったので、公開しておきます。 ttp://w1.oroti.com/~gary831/cgi-bin/joyful/img/7.zip
862 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 22:38:41 ] 【 課題 】ttp://nijibox.ohflip.com/futabafiles/001/src/sa15141.txt 【 形態 】Javaアプリケーション 【 GUI 】制限なし 【 期限 】5/7 【 Ver 】1.5.0_11 【 補足 】配列、制御構文まで習いました。よろしくお願いします。
863 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 23:12:13 ] 【 課題 】nijibox.ohflip.com/futabafiles/001/src/sa15172.txt 【 形態 】1. Javaアプリケーション 【 GUI 】4. 制限なし 【 期限 】5/7 【 Ver 】java version "1.4.2" 【 補足 】丸投げです。宜しくお願いします。
864 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 23:51:19 ] >>862 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29367
865 名前:デフォルトの名無しさん [2007/05/05(土) 23:56:01 ] メインHDDが8ケ月以内に故障するらしいのですが、どうしたらいいですか?
866 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 23:56:33 ] 問おう、ttp://nijibox.ohflip.com/futabafiles/001/src/sa15141.txtの何処が仕様か!? 総理、納得のいく回答をお願いします。 さて、専門の課題って仕様とか言って実装の断片を箇条書きにして 最後に謎の出力結果を張り付けるだけの イミフが多いよね。どうしろと? >・その値は配列の初期化時に与えられるものとする。 その初期化方法とタイミングを考えるのがお前だろ糞講師。 >>862 1)得点の最小値と最大値。 2)score[]をどのタイミングでどうやって初期化するのか。(受験者の点数を何処から取って来るかに関係) が、最低限決まってないとどうしようもない。 よろしく。 2)はプログラムの使用方法左右するんでそこら辺も考慮。 受験者数が可変とか言ってんのにその得点がハードコーディングってのは考え難いよね? なんか俺間違ってる?
867 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 23:59:55 ] 862出ちゃったのね・・・orz
868 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:41:56 ] >>863 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29368
869 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:59:09 ] >>864 ありがとうございます。 参考にさせてもらいました。
870 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 07:06:42 ] 【 課題 】 下記は九九を計算するプログラムの製作途中のものである。 コンパイルは正常終了するが実行時にエラーが出ることが分かっている。 このプログラムの問題点を指摘し、正しく修正すること。 なお、修正箇所は必要最小限にすること。 public class Calc99{ public static void main(String[] args){ String[][] cell = new String[9][]; for(int j = 1; j <= 9; j++){ for(int i = 1; i <= 9; i++){ cell[j][i] = " " + Integer.toString(j * i); } } for(int j = 1; j <= 9; j++){ for(int i = 1; i <= 9; i++){ System.out.print(cell[j][i]); } System.out.println(); } } } 【 形態 】 Javaアプリケーション 【 期限 】 5/6 17:00 【 Ver 】 特になし 【 補足 】 連休前に出されたのですが今まで放っぽってました。 5/7 10:00 からの授業で提出しますので今日中に解答頂けると有難いです。
871 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 08:39:10 ] >>868 回答ありがとうございます。
872 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 10:55:58 ] >>870 3行目 String[][] cell = new String[9][]; ↓ String[][] cell = new String[10][10];
873 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 11:02:14 ] クラス名がC99に見えたぜ
874 名前:■■■質問@■■■ [2007/05/06(日) 19:11:15 ] 【 課題 】 1: // ドルと円の換算プログラム 2: 3: import java. io. * ; 4: 5: public class dollyen { 6: public static void main( String arg[] ) throws IOException { 7: BufferedReader keyln = new BufferedReader ( 8: new InputStreamReader ( System.in ) ) ; 9: double r = 112.0, d, y; 10: 11: System. out. print ( “ ドルの金額(終了は 0)> “ ) ; 12: 13: d = new Double( keyln. readLine() ). doubleValue() ; 14: while ( d > 0.0 ) { 15: y = r * d ; 16: System. out. println( d + “ ドルは ” + y + “ 円です “ ) ; 17: System. out. print( “ ドルの金額(終了は 0) > “ ) ; 18: d = new Double( keyln. readLine() ) .doubleValue() ; 19: } 20: 21: } }
875 名前:■■■質問A■■■ [2007/05/06(日) 19:11:51 ] 《実行結果》 C : \jp>javac dollyen. java C : \jp>java dollyen ドルの金額(終了は 0 ) > 100 100.0 ドルは11200.0円です ドルの金額(終了は 0) > 50 50.0 ドルは5600.0円です ドルの金額(終了は 0) > 0 C : \jp> 《問題》 上記のプログラムを温度摂氏(C)を入力して 華氏(F)を出力するものに変更しなさい。 C 0 100 F 32 212 【 形態 】多分Javaアプリケーションです 【 GUI 】? 【 期限 】火曜日まででお願いします(><) 【 Ver 】? 【 補足 】○投げですすいません。宜しくお願い致しますm(__)m
876 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 19:31:13 ] >>875 摂氏--華氏の換算式
877 名前:■■■質問■■■ [2007/05/06(日) 19:47:47 ] >>876 レス有り難うございます。 華氏→摂氏の換算式は C=(F-32)x5/9 です!
878 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 20:41:24 ] >>875 ↓行頭の全角スペースは半角に直すこと。 import java.io.*; public class dollyen { public static void main(String[] args) throws IOException { BufferedReader keyln = new BufferedReader(new InputStreamReader(System.in)); double f, c; System.out.print("温度摂氏(終了は0)> "); f = new Double(keyln.readLine()).doubleValue(); while (f > 0.0) { c = (f - 32) * 5 / 9; System.out.println("華氏(F)" + c + "度です。"); System.out.print("温度摂氏(終了は0)> "); f = new Double(keyln.readLine()).doubleValue(); } } }
879 名前:878 mailto:sage [2007/05/06(日) 20:44:41 ] >>878 の間違えて摂氏と華氏(fとc)が逆だった。 まぁ式直すだけだから自分で直してくれ。
880 名前:■■■質問■■■ [2007/05/06(日) 21:07:59 ] >>878 さん有り難うございます!!<(__)> fとcを入れ替えるのは、 c = (f - 32) * 5 / 9;のところだけ でおkですか!?
881 名前:デフォルトの名無しさん [2007/05/06(日) 22:42:25 ] >>868 863です。問題なく動作いたしました。ありがとうございました。
882 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:01:52 ] 【 課題 】 俗に「Javaにはポインタは存在しない」と云われているが、 実行時に NullPointerException が発生することがあるのはなぜか? 50字以内で説明せよ。 【 期限 】月曜日中 【 補足 】色々語ることが多すぎて50字に収まりません(><)
883 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:08:31 ] 逃れられると思うなよ >>882 ガッ
884 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:12:03 ] >>882 Javaの言語仕様でポインタが扱えないだけで内部の実装ではポインタを使ってるから。 で良いんじゃない? う〜ん、説明も何もソースコード公開されてるんだが。 >色々語ることが多すぎて50字に収まりません(><) 根本的に突っ込み所のある課題だから仕方ない。 たぶんお前さんは間違ってない。
885 名前:デフォルトの名無しさん [2007/05/06(日) 23:22:38 ] 【課題】 例えばコマンドプロントにjava 154 54 12 250 と入力したら 250 154 54 12と出力されるプログラムを記述せよ。 class big{public static void main(String[] args){ int a = 0;int b = args.length-1; a=Integer.parseInt(args[a]);b=Integer.parseInt(args[b]); String tmp; while(a<b){ tmp=args[a]; args[a]=args[b]; args[a]=tmp; a++; b--; for(int i=0; i< args.length; i++) System.out.println("大きい順に並びます"); System.out.println(""+args[ i ]+""); } } } 【 形態 】 Javaアプリケーション 【 期限 】 5/7 9:00まで 【 Ver 】 特になし 【 補足 】 連休前に出題され書いてみたのですが正しく動作されなくて全く分かりません。急ですがお願いします。
886 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:31:23 ] >>885 なにこれ 課題は引数を降順にしろってことだよな で、おまいさんのプログラムを修正しろってことか? それともそれ無視していいのか?
887 名前:デフォルトの名無しさん [2007/05/06(日) 23:35:20 ] >>886 すみません。修正して貰えませんか。
888 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:54:45 ] >>887 修正する部分のほうが修正されていない部分よりも圧倒的に多くなる気がする。 それは修正というべきものなのか疑問だ。 class big{ public static void main(String[] args){ java.util.Arrays.sort(args, new java.util.Comparator<String>() { public int compare(String o1, String o2) { return Integer.valueOf(o1).compareTo(Integer.valueOf(o2)); } }); System.out.println("大きい順に並びます"); for(String arg : args) System.out.println(arg); } } java 154 54 12 250と入力しても動かないけどな。 java big 154 54 12 250
889 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 23:57:49 ] >>882 NullPointerExceptionってのは単に例外のクラス名がそういう名前のだけ。 自分で発生させることもできるし。 throw new NullPointerException("ぬるぽ");
890 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 00:02:34 ] >>890 catch (NullPointerException e) { System.err.println("ガッ"); }
891 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 00:03:25 ] 自己撞着orz...
892 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 00:03:53 ] 逃れられると思うなよ >>889 ガッ
893 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 00:16:19 ] >>887 元のをできるだけ残してみた。でも構成からして違うし。 class big{ public static void main(String[] args){ String tmp; for(int i=0; i<args.length; i++){ for (int j=i; j<args.length; j++){ if (Integer.parseInt(args[i]) < Integer.parseInt(args[j])) { tmp=args[i]; args[i]=args[j]; args[j]=tmp; } } } System.out.println("大きい順に並びます"); for(int i=0; i< args.length; i++) System.out.println(""+args[ i ]+""); } } 154てクラス名はさすがに使えないからjava 154 54 12 250で実行ネタは難しいな。
894 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 00:22:21 ] >>888 大きい順か。 × return Integer.valueOf(o1).compareTo(Integer.valueOf(o2)); ○ return -Integer.valueOf(o1).compareTo(Integer.valueOf(o2));
895 名前:デフォルトの名無しさん [2007/05/07(月) 00:27:14 ] >>888 >>893 レス有難う御座います!!ホント助かりました!!
896 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 04:41:27 ] 【 課題 】 CSVファイルからのデータ検索ページを作成しなさい。 また、HTMLファイルのフォームから送られてきた文字列を検索の条件に使用し、結果をJSPを使い<table>で出力しなさい。 なお検索結果が 一戸建て,2LDK,東京都 一戸建て,2LDK,埼玉県 であるならば、 一戸建て,2LDK,東京都 -,-,埼玉県 と表示しなさい。 [使用するCSV] 一戸建て,2LDK,東京都 一戸建て,2LDK,埼玉県 一戸建て,3LDK,埼玉県 マンション,3K,北海道 マンション,4K,大阪府 【 形態 】1. 【 GUI 】4. 制限なし 【 期限 】5月8日までによろしくお願いします 【 Ver 】java version "1.5.0_11" 【 補足 】 ttp://www.iis.u-tokyo.ac.jp/~susaki/envinfo/jsp_csvfile.html#form_reg ↑を参考にCSVの検索はなんとかなりそうなんですが、検索結果の置換(?)がまったくわかりません。。。 よろしくお願いします。。。。
897 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 18:42:32 ] >>896 前行の結果を持っていて、前行と同じだったら"-"を出力させるようにすればいいんじゃないかな?
898 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 20:24:42 ] >>896 参考になれば幸い。 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29373
899 名前:のん [2007/05/08(火) 14:55:21 ] 【 課題 】ファイルを読み取り、各タブ文字をスペース文字に変換し、その出力を別のファイルに書き込むアプリケーションを作成せよ (入出力 バッファ付き文字アプリケーション) 【 形態 】Javaアプリケーション(main()で開始 【 GUI 】制限 【 期限 】明日 【 Ver 】 【 補足 】 なにとぞよろしくお願いいたします。 宿題です。できません。 2ちゃんの方々の力を少し分けてください。
900 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 14:59:19 ] >>898 もうちょいkwsk
901 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 15:31:33 ] アンカーミス >>899 ね
902 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:12:47 ] >>899 import java.io.*; public class Expand { public static void main(String[] args) throws IOException { if (args.length != 2) { System.err.println("java Expand infile outfile"); return; } int expand = 8; // TAB width BufferedReader in = null; BufferedWriter out = null; try { in = new BufferedReader(new FileReader(args[0])); out = new BufferedWriter(new FileWriter(args[1])); String s; while ((s = in.readLine()) != null) { StringBuilder sb = new StringBuilder(s); int index = 0; while ((index = sb.indexOf("\t", index)) != -1) { sb.setCharAt(index, ' '); for (int i = index % expand + 1; i < expand; i++) sb.insert(index, ' '); } out.write(sb.toString()); out.newLine(); } } finally { if (in != null) in.close(); if (out != null) out.close(); } } }
903 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:26:27 ] あー、expandコマンドを作れって意味にとったけど、 もし単純にタブ1文字ををスペース1文字にに置き換えるだけという意味だったなら、 int expand = 1; // TAB width にすれば動作的にはそうなる。無駄処理がいっぱいあることにはなるが。
904 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:43:19 ] もし>>903 の意味なら、>>902 の外側のwhileループ内の、 StringBuilder sb = new StringBuilder(s); int index = 0; while ((index = sb.indexOf("\t", index)) != -1) { sb.setCharAt(index, ' '); for (int i = index % expand + 1; i < expand; i++) sb.insert(index, ' '); } を取っ払って、次の2行を、 out.write(s.replace('\t', ' ')); out.newLine(); に。
905 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:49:41 ] 各タブ文字って書いてあるけど垂直タブは?
906 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:01:23 ] 普通に考えりゃ各タブ文字って各種のタブ文字って意味じゃなく ファイルに現れた各々のタブ文字についてって意味だろw
907 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 18:46:30 ] ハードタブからソフトタブに書き換えろ。 って言えばほかに解釈のしようが無いのにね。 言葉を知らんのは不便だなぁ。
908 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:45:15 ] 【 課題 】球を跳ねさせる 【 形態 】Applet 【 GUI 】制限なし 【 期限 】来週の月曜日まで 【 Ver 】java version "1.6.0" 【 補足 】kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3956.txt 球の動きであるルンゲクッタ法は既にできています。 そこで、地面と壁があると考え(別に描かなくてもいいです) 球の動きに跳ねる動作を加えて欲しいです。 地面に当たれば跳ねて、壁にあたれば跳ね返るという具合に。 よろしくお願いします。
909 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:33:50 ] Java・・・いつのまに1.6なんて出やがった 気づかなかったよママン(´・ω・`)
910 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:12:04 ] 【 課題 】立方体を定義し、 スクロールバーを用いてXY平面上の45度の軸の周りを回転する映像を描画する 【 形態 】Applet 【 期限 】木曜日まで 【 Ver 】わかりません 【 補足 】立方体とを回転させることまではできたのですが、45度傾かせることができません。 よろしくお願いします
911 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:29:46 ] >>910 >【 Ver 】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》 >立方体を定義し 既存ライブラリの有無。 >スクロールバー スライダーじゃなくて? >回転する映像を描画する 正四面体モデリングしてアニメつけてavi吐いてJMFで描画!俺って頭イイ!! さて、今のままじゃ永遠に回答は来ないわな。
912 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:31:55 ] 【 課題 】複数の口座による預金、引き出し等。 【 形態 】1. Javaアプリケーション 【 期限 】木曜日まで 【 Ver 】1.5.0 【 補足 】丸投げでお願いします。問題文は www.uploda.org/uporg802811.rtf.html にuploadしてあります。 よろしくお願いします。
913 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:40:34 ] >>912 です。 アカウントクラスの問題のところで最初の変数がnextCustIDとなっていますが 実際はnextAcctNoです。失礼しました。
914 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:44:41 ] >>911 すいません。 再度。 【 課題 】 スクロールバーを用いてXY平面上の45度の軸を中心に回転する立方体を描画する 【 Ver 】1.5.0 スクロールバーを動かすと立方体が回転します。 回転の中心は立方体の中心です。 わかりずらくてすいません。
915 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 04:08:54 ] >>908 ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29374 元のソースをできるだけ残してるけれど、アニメーション部分は総書き直し。 元のままだと何も描画されずに応答も無くなっただろ? paintの中で無限ループするなんて無茶しやがってw x=xmin,x=xmax,y=yminに障壁があるものとしている。 水平方向は等速直線運動だから問題ないが、 鉛直方向は等加速度直線運動だから本当はこの方法では誤差が出てくる。 タイムスライスが小さいのでy=ymin丁度の時点の速度が得られているかもしれないが、 y<yminが得られた時は誤差が蓄積していく。とはいえ、そうだとしても長時間動かさないと、 このパラメータなら気にならないとは思う。
916 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 16:35:58 ] C/C++スレにあるようなうpロダの需要ってある? あるなら作ろうと思うんだが。 ソースポストネット、手軽に投稿できるのはいいんだがログがずっと残るから ひょんな事からばれてパアという事になりかねん気がしてきた。
917 名前:デフォルトの名無しさん [2007/05/09(水) 18:18:55 ] 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】4. 制限なし 【 期限 】 2007/05/10 AM9:00 まで 【 Ver 】java version "1.5.0_11" 【 用語 】特になし 【 補足 】丸投げです。よろしくお願いします。 微分方程式 d^2y/dt^2-μ(1-y^2)dy/dt+y=0, 0≦t≦10 y(0)=2,dy/dt(0)=0,μ=1として上の微分方程式 を数値的に解き、dy/dt(t)をグラフ表示しなさい。 また、分かりやすく説明しなさい。
918 名前:デフォルトの名無しさん [2007/05/09(水) 18:27:41 ] 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】4. 制限なし 【 期限 】 2007/04/29 PM01:00 まで 【 Ver 】java version "1.5.0_11" 【 用語 】特になし 【 補足 】丸投げです。よろしくお願いします。 微分方程式 d^2y/dt^2-μ(1-y^2)dy/dt+y=0, 0≦t≦10 を考える。 y(0)=2, dy/dt(0)=0,μ=1として微分方程式を数値的に解き、 dy/dt(t)をグラフ表示しなさい。また、分かりやすく説明しなさい。
919 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 20:42:02 ] 物理のお勉強ですか? 微分・積分とはまた、これぞ高校生!って内容だな。 ナツカシス
920 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 20:55:54 ] >>912 です。課題を上げなおしました。 www.uploda.org/uporg803605.rtf.html
921 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:41:03 ] 【 課題 】文字列の最初の10文字と最後の10文字とを表示するプログラム 【 形態 】Javaアプリケーション 【 GUI 】制限なし 【 期限 】今日 【 Ver 】 【 補足 】 最初の10文字までの方まではできましたが最後の10文字がわからないです class 10Chars{ public static void main(String args[]){ String s ="One Two Three Four Five Six Seven"; String substring = s.substring(0,10); System,out,println(substring); } }
922 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 21:43:35 ] >>921 ヒント: String.length() メソッド
923 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:37:40 ] >>921 最初の10文字までの方もできてないじゃん コンパイル通らねえ そんなお前にはこれでいいだろう public class Chars10 { public static void main(String[] args) { String s ="One Two Three Four Five Six Seven"; String substring = s.substring(0,10); System.out.println(substring); while (s.length() > 10) s = s.substring(1); System.out.println(s); } }
924 名前:921 mailto:sage [2007/05/09(水) 23:09:48 ] >>922 >>923 ありがとうございました
925 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:34:30 ] ネットワークプログラミングが課題で出たのですが解りません。 誰か助けて頂けないでしょうか。 問1 次を実行した結果を書きなさい サーバー1 #include <stdio.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #define PORT 8427 int main(int argc, char* argv[]){ struct sockaddr_in server; struct sockaddr_in client; int s_wait; int s_connect; int client_len; unsigned char* client_addr; char buf[128];
926 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:35:16 ] bzero((char *)&server, sizeof(server)); server.sin_addr.s_addr = htonl(INADDR_ANY); server.sin_family = AF_INET; server.sin_port = PORT; if((s_wait = socket(AF_INET, SOCK_STREAM, 0)) == -1){ fprintf(stderr, "サーバへのソケットが生成できません。 \n"); exit(1); } if(bind(s_wait, (struct sockaddr*)&server, sizeof(server)) == -1){ fprintf(stderr, "ソケットにサーバを設定できませんでした。 \n"); exit(1); }
927 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:35:46 ] if((listen(s_wait, 5)) == -1) { fprintf(stderr, "待ち行列が設定できません。 \n"); exit(1); } client_len = sizeof(client); if((s_connect = accept(s_wait, (struct sockaddr *)&client, &client_len)) < 0) { fprintf(stderr, "サーバに接続を要求できません。 \n"); exit(1); } if((close(s_wait)) == -1) { fprintf(stderr, "ソケットディスクリプタをクローズできません。 \n"); exit(1); } client_addr = (unsigned char*)&(client.sin_addr.s_addr); printf("connected to %d.%d.%d.%d.", client_addr[0], client_addr[1], client_addr[2], client_addr[3]);
928 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:36:14 ] >>925-927 だが言語が違う
929 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:36:16 ] sprintf(buf, "HELLO, %d.%d.%d.%d!.", client_addr[0], client_addr[1], client_addr[2], client_addr[3]); if((write(s_connect, buf, strlen(buf))) == -1) { fprintf(stderr, "ソケットへデータを書き込めません。 \n"); exit(1); } if((close(s_connect)) == -1) { fprintf(stderr, "ソケットディスクリプタをクローズできません。 \n"); exit(1); } }
930 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 00:53:09 ] >>928 すいませんでした cにいけばいいですか?
931 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 05:45:44 ] >>930 授業中寝過ぎだろw
932 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 09:45:38 ] 【 課題 】1、 計算機イプシロンを求めるプログラムを組め。 @ 倍精度(double) A 単精度 【 形態 】1. Javaアプリケーション 【 期限 】来週の木曜日 【 Ver 】1.5.0 【 補足 】お願いします。
933 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 14:21:55 ] >>932 float ef = 1; while (ef + 1 > 1) ef /= 2; ef *= 2; double ed = 1; while (ed + 1 > 1) ed /= 2; ed *= 2; System.out.println("float: " + ef + ", double: " + ed); System.out.println("1.0f: " + Integer.toHexString(Float.floatToRawIntBits(1))); System.out.println("1.0f + eps: " + Integer.toHexString(Float.floatToRawIntBits(1 + ef))); System.out.println("1.0: " + Long.toHexString(Double.doubleToRawLongBits(1))); System.out.println("1.0 + eps: " + Long.toHexString(Double.doubleToRawLongBits(1 + ed))); System.out.println("float: " + (float)StrictMath.pow(2, -23) + ", double: " + StrictMath.pow(2, -52));
934 名前:デフォルトの名無しさん mailto:sage [2007/05/10(木) 21:00:53 ] 【 課題 】www.csync.net/service/file/view.cgi?id=1178798337 【 形態 】1. applet 【 期限 】来週の木曜日 【 Ver 】1.5.0 【 補足 】よろしくお願いします。初心者でもわかりやすいようにしていただけるとありがたいです。
935 名前:デフォルトの名無しさん [2007/05/10(木) 23:31:02 ] 【 課題 】インターネット時代の暗号技術―噂の公開鍵を作ってみよう― 【 形態 】 Javaアプリケーション(main()で開始) 【 GUI 】制限なし 【 期限 】5月末まで 【 用語 】平分:元データ、人間が(第三者も)読むことが出来る 暗号文:第三者に解読不可能な形式に変換されたデータ 暗号化:平分を暗号化する処理 複合化:暗号文を平分に変換する処理 鍵:暗号化、複合化に必要なパラメタ 【 補足 】 公開鍵のしくみ 1番簡単な例だとインターネットを用いて商業活動などを行うとき、たとえばクレジットカードの 番号が知れ渡って悪用される危険を犯したい人はいません。 しかし本や航空券の購入などには便利です。普通、家や金庫の鍵は、所有者や所有者が開けることを許した人が鍵を持ちます。 その場合、不屈性された鍵を普通は直接手渡します。ところがインターネットではそのようなことは出来ません。 そこで考えられたのが閉める鍵と開ける鍵を別々にするという方法です。 そのように分けると閉めるための鍵はネット上で誰でも使えるようにしておいて開けるための鍵は自分だけが知っていればいいわけです。 暗号のための鍵をインターネットでやり取りするという矛盾を抱えるひつようがなくなります。 例 A氏の秘密鍵は1234,公開鍵はABCD, B社の秘密鍵は6789,公開鍵はVXYZ A氏がB社から物を買う。→他の人には知られないよう自分のクレジットカードの番号を送りたい。 (1) A氏はB社の公開鍵VXYZを使って自分のクレジットカードの番号を暗号にしてB社にメールで送る。 (2) 受け取ったB社は自社の秘密鍵(非公開)6789で複合化します。 (3) 誤ってコレが悪意のあるCさんに誤送されたりクラッキングされてもB社の公開鍵では 複合化できないのでB社の秘密鍵が漏れない限り安全 *今回の課題* 上記のアルゴリズムに従って公開鍵と秘密鍵を生成するプログラムを作って生成してください(きちんと関数わけすること) これらの鍵を使って暗号化、複合化を行うプログラムも作って結果を確認してください。 暗号化と複合化は同じ関数で引数が異なるだけというのはアルゴリズムを見ればわかると思います。(なるべくコメントをつけておくこと)
936 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 00:28:47 ] >>935 無茶しやがって・・・(AA略
937 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 00:35:53 ] >>935 まぁなんだ・・・ うん、がんばれ
938 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 00:42:46 ] >>935 特許庁→RSA暗号技術ゲッツ→Javaで書く→タイホーwww
939 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 01:28:38 ] つーか、こんな問題出す奴は馬鹿にも程があるな。
940 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 04:15:29 ] >>935 public class HogeCode { private static java.util.Random r = new java.util.Random(); public static byte[] generateKey() { byte b; do { b = (byte)r.nextInt(); } while (b == -128); return new byte[]{b, (byte)(-b)}; } public static byte code(byte text, byte key) { return (byte)(text + key); } public static void main(String[] args) { byte[] key = HogeCode.generateKey(); System.out.printf("公開鍵: %d, 秘密鍵: %d%n", key[0], key[1]); byte[] 元の文 = "Hogeほげ".getBytes(); byte[] 暗号文 = new byte[元の文.length]; byte[] 復号文 = new byte[元の文.length]; System.out.print("元の文: "); for (byte b : 元の文) System.out.print(b + ","); System.out.println("\"" + new String(元の文) + "\""); for (int i = 0; i < 元の文.length; i++) 暗号文[i] = HogeCode.code(元の文[i], key[0]); // 公開鍵で暗号化 System.out.print("暗号文: "); for (byte b : 暗号文) System.out.print(b + ","); System.out.println("\"" + new String(暗号文) + "\""); for (int i = 0; i < 暗号文.length; i++) 復号文[i] = HogeCode.code(暗号文[i], key[1]); // 秘密鍵で復号化 System.out.print("復号文: "); for (byte b : 復号文) System.out.print(b + ","); System.out.println("\"" + new String(復号文) + "\""); for (int i = 0; i < 暗号文.length; i++) 復号文[i] = HogeCode.code(暗号文[i], key[0]); // 公開鍵で復号化 System.out.print("公開鍵で復号: "); for (byte b : 復号文) System.out.print(b + ","); System.out.println("\"" + new String(復号文) + "\""); } }
941 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 04:25:24 ] あとは公開鍵や暗号文から秘密鍵や平文を知るのが難しいアルゴリズムをいかに見つけるかだが それは商売のネタになるくらいなのでがんばってくれ
942 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 06:11:11 ] >>940 間違ってはないがそういう問題じゃないよな暗号化って、むしろ>>941 だからメチャクチャなんだよな>>935 の課題って。 ところでそろそろ次スレだね
943 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 06:16:24 ] いや、たぶん > 上記のアルゴリズムに従って ってあるくらいでアルゴリズムは提示されていて それを質問者が出していないだけだと思ったんだが 単に既にあるアルゴリズムの実装とそのテストが課題だと思う >>940 はもちろんシャレだよ
944 名前:デフォルトの名無しさん [2007/05/11(金) 06:26:07 ] >単に既にあるアルゴリズムの実装とそのテスト それこそ、もしかしたら本当に>>398 だなw アメリカなんかじゃ保護されたアルゴリズムは輸出制限掛かってたくらいなのに。
945 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 06:29:08 ] ミスった。 >既にあるアルゴリズムの実装とそのテスト てぶぶんは同意だからそれがないとどうしようもないなぁ。 あと、>>938 だね
946 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 06:35:11 ] 普通にRSAじゃないのかな。 実装するのにシンプルでパブリックドメインで。
947 名前:デフォルトの名無しさん [2007/05/11(金) 09:02:56 ] >>935 の補足です RSA暗号方式を使用してください 1. 必要なアルゴリズム (1)素数の求め方 pやqの素数は256bit前後が一般的です。素数にしてもあくまで素数である確率がある程度以上ということでやっています。 乱数を使って見つけてください。約数の有無を調べればいいわけだが・・2からqまでなんて調べないこと、ほとんどが不要な無駄な計算になります。 2からsqrt(q)で十分です。 @ システムが用意している乱数を作る関数を使い適当な整数を得る。 A これを今日は3桁以内になるように変換する B それが素数かどうかを調べる C 2つの素数が見つかるまで(pとqに設定)上記@からの処理を繰り返す n=p*qとm=(p-1)*(q-1)を計算する (2)eの見つけ方(最大公約数gcd(e,m)ただm=(p-1)*(q-1)) 次にgcd(e,m)=1となるeを見つける ここで最大公約数(gcd)を見つける必要がありますがこれには有名なユーグリッドの互助法というのがあります。 ここでもまた適当に乱数eを発生させ(2桁以内),gcd(e,m)が1かどうかを調べる。gcd(e,m)が1ではない場合は1になるまで乱数を発生させる。 ユーグリットの互助法によりxとyのgcdを求める手順 @ 常にx>yとなるように、場合によってはxとyの値を交換する A z = x mod y を計算する。zが0だったら終了(gcdはy) B yとx – yを比較して大きいほうをx小さいほうをyとする →Aへ (3)dの見つけ方 eが決まりm=(p-q)*(q-1)が決まると(e*d) mod m = 1となるdを計算する必要がある (2)よりeとmは互いに素(gcd(e,m)=1)であるとき 1=e*d(mod m)となるdが存在する。(法mに関するeの乗法的逆元存在する) このdを求めるためには不定方程式e*d+m*n=1を解くことになる そのために今度はユーグリッドの互助法の拡張定理を使う
948 名前:デフォルトの名無しさん [2007/05/11(金) 09:07:12 ] >>947 の続き ユーグリッドの互助法の拡張定理により、互いに素であるyとaに対して a*x+b*y=1となるxを求める。 作業用のローカル変数(s,t,u,v)を次のように初期化 s=a; t=y; u=1; v=0; while(sが正の間){ q=t/s(切捨て) w=t-q*s t=s s=w w=v-q*u v=u u=w } v<0ならばv+yがv>0ならばvが求めるxになる このときの公開鍵が(e,n)で秘密鍵が(d,n)である。ただしpとqも秘密にする必要がある (4) 暗号化と複合化 平分Mの暗号化Me%n -> C 暗号文Cの複合化Cd%n -> M MeやCdの計算をそのまま行うとあっという間にオーバーフローしてしまいます。Word=2の31乗を超えて しまうのです。そこで次のような手順で計算するようなプログラムにしてください。 たとえば111の37乗%323という計算をする場合は次のように計算させます 111の2乗%323=111*111%323=2321%323=47 111の3乗%323=111*47%323=5217%323=49 111の4乗%323=111*49%323=5439%323=271 ・ 111の37乗%323=111*305%323=33855%323=263 このように計算させることにより圧倒的に計算量が少なくなります。
949 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 12:20:57 ] ど、どうでもいいけど言葉として、より適切なのは「復号化」じゃなくて「復号」なんだからねっ!
950 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 14:04:41 ] 「暗号化する」と「復号する」 技術用語としては対称性がないのが美しくないな
951 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 14:37:30 ] 暗号する
952 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 14:40:04 ] >>949-951 www.st.ryukoku.ac.jp/%7Ekjm/admin/2005/10.html#20051025__fukugou
953 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 15:08:16 ] 「復号化」で「暗号化」と対称だ、というのは馬鹿っぽいけど だからと言って「暗号化」と「暗号解除」で対語だというのも何だかね 「暗号」も「する」を付けたら動詞になるようになればいいが 「暗号する」は違和感あり過ぎだw 暗号化で暗号になるのなら平文にするのは平文化か?これも酷いが
954 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 15:16:56 ] > 「復号化」で「暗号化」と対称だ、というのは馬鹿っぽいけど 技術者が『「復号」が正しい』とか言うのも馬鹿っぽい。 そんなん国語学者にでもやらせとけ、とか思う。
955 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 15:18:39 ] 訳語2.0のスレはここですか?
956 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 15:19:21 ] 欧米化っ!
957 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 15:21:44 ] 専門家にやらせて良い方向に進んだ例はない
958 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 15:23:10 ] >>957 専門化
959 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 15:37:04 ] スレの大喜利化。。。
960 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:08:13 ] で、誰かやってるの(*‘ω‘ *) ? >935 話は変わるけど、誰かバーローwwwで出てきた ナイトバロン(ウィルス)をJavaで作ってくださいぽっぽ(*‘ω‘ *)
961 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:08:36 ] >>947 その理論を15〜20年くらい前にログインで読んだときは感動した覚えがあるな
962 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:18:54 ] マスコミか!と掛けまして、またお前か!と解く そのこころは?
963 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:24:46 ] >>962 誤爆は何かうp
964 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:37:19 ] まあ>935は 明日になっても誰もやってなかったらやったるよ 興味あるし
965 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 20:42:40 ] そのこころは、えー、笑天はガチかどうかが何かと話題になりますが、実は誤爆も 含めて、前もってコミにしてあるわけで、仕込みと申しますか、ヤラsうわなにをすrr (そのままでしばらくお待ちください) **** ぉーぃ、やまだくん! クマのぬいぐるみ。 はやくはやく!!
966 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 21:27:57 ] >>964 ついでに商用でも使えるライセンスでライブラリー化お願いします(=ω=)
967 名前:デフォルトの名無しさん mailto:sage [2007/05/11(金) 21:58:53 ] bouncycastle では駄目なん?
968 名前:デフォルトの名無しさん mailto:sage らきすたネタでお送りします [2007/05/12(土) 00:48:20 ] (=ω=. ) いや、課題に既製品使っちゃ駄目でしょ。常識的に考えて・・・。
969 名前:らき☆すたチャンネル mailto:sage 二世容坊花台 [2007/05/12(土) 01:47:50 ] 【 課題 】 らき☆すた 動画の好きなコマをAAに変換できるWebアプリケーションの作成 【 形態 】 3. Servlet (Webサービス API提供可能) 【 GUI 】 Flash 【 期限 】 らき☆すた放送終了まで(納期を延長したければ、京兄へ100クールにしてくださいと要望送る汁) 【 Ver 】 servlet2.1以降 Java1.5以降 Flash MX以降 【 補足 】 出来れば、ニコニコ動画開発スタッフになって、拡張機能にして下さい。 さて、らき☆すた ネタはここまでにしておこうね(=ω=)
970 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 06:14:35 ] 実況スレにうp!うp!と書き込み続けるだけなら出来そう
971 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 22:02:22 ] 【 課題 】 以下の2つの行列の積を計算するプログラムを配列を使って書け。 A = 1 2 3 1 1 1 2 2 2 B = 1 2 2 4 5 6 Ci,j = [n]納k=1] Ai,k・Bk,j 【 形態 】1. Javaアプリケーション(main()で開始)/ 【 GUI 】4. 制限なし 【 期限 】2007/05/14 PM01:00まで 【 Ver 】java version "1.5.0_11" 【 補足 】丸投げです。よろしくお願いします。
972 名前:デフォルトの名無しさん mailto:sage [2007/05/12(土) 22:43:40 ] >971 前に作ったヤツ。 ttp://www.wikiroom.com/java/index.php?SourcePost__#p36dc362
973 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 10:09:28 ] >>972 ありがとうございます
974 名前:デフォルトの名無しさん [2007/05/13(日) 12:04:10 ] >>935 >>947 >>948 誰かやってください お願いします
975 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 12:15:21 ] うぜえ 今やってたのにやる気うせた
976 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 12:18:48 ] やってもいないのにそんなことを言うもんじゃないよ
977 名前:デフォルトの名無しさん mailto:sage [2007/05/13(日) 13:08:00 ] >>974 だいじょうぶ。期限は5月末までだ。