1 名前:JavaScriptは板違い、Web制作板をご利用ください mailto:sage [2007/07/15(日) 23:31:30 ] 【質問者へ】 回答者の便宜のため、以下の注意事項を遵守してください。 ・質問は【課題提示用テンプレ】を利用してください。 ・問題文は、出題されたまま全文を書いてください。 ・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。 ・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/ 【前スレ】 pc11.2ch.net/test/read.cgi/tech/1179168569/
191 名前:59 mailto:shanguria2004@yahoo.co.jp [2007/08/01(水) 00:42:02 ] この前はどうもお世話になりました。 因みに90は友人でして59とは別人です。 迷惑かけたようですみませんでした。 そして新しい課題を出されました。 【 課題 】先日与えられた課題のドキュメンテーション tomahawk.rakurakuhp.net/ 【与えられたプログラム】hey.chu.jp/up/source3/No_4646.txt 【期限】8/7 ここでドキュメンテーションの事を聞くのは板違いかも知れませんが、 もし余裕のある方がいらっしゃいましたら、どうかよろしくお願いします。
192 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 02:06:04 ] >>191 本当にこんなダメプログラムが与えられたの? ネストが深すぎて読みづらい上にプログラム自体の間違い箇所が多いよ。
193 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 02:22:23 ] >191コメント書いたよ。tab4で見てくれ。 ttp://hey.chu.jp/up/source3/No_4654.txt
194 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 05:43:25 ] ハードタブ4とソフトタブ4じゃえらい違うわけだが・・・
195 名前:59 mailto:sage [2007/08/01(水) 12:07:53 ] >>193 コメントありがとうございます。 >>192 すみません、手打ちで打った為、重要なクラス宣言とかを忘れてました・・・。 本当に申し訳ないです。 tomahawk.rakurakuhp.net/ の最下段に考察についての書き方 が書いてあるので理解できる方、どうかよろしくお願いします
196 名前:デフォルトの名無しさん [2007/08/01(水) 13:44:41 ] 下記のjavaで書かれているプログラムをc言語に書き換えてください。 public class JobShop_EDD{ static int Job=3; static int Machine=2; static int K=30; static int [] duedate={0,7,9,13,14,20}; static int [] [] process={{},{0,3,3,2,},{0,2,3,2},{0,2,3,3},{0,3,2,3},{0,2,2,2}}; static int [] [] route={{},{0,1,2,3},{0,2,1,3},{0,3,1,2},{0,3,2,1},{0,2,1,3}}; static int [] weight={0,2,2,2,2,2}; public static void main(String[] args){ int [] [] Ma=new int[Machine+1][K+1]; int [] forbid=new int [Job+1]; int [] penal=new int [Job+1]; int Obj=0; for(int i=1;i<=Job;i++){ int mindue=10000; int assignJob=0; for(int i2=1;i2<=Job;i2++){ if(mindue>(duedate[i2]+forbid[i2])){ mindue=duedate[i2]+forbid[i2]; assignJob=i2; } } 【 期限 】今日中 【 補足 】丸投げ
197 名前:デフォルトの名無しさん [2007/08/01(水) 13:46:18 ] >196 続き forbid[assignJob]=10000; int r=0; boolean getTime=true; int processSum=0; for(int m=1;m<=Machine;m++){ processSum=processSum+process[assignJob][m]; } int limitT=1; for(int m=1;m<=Machine;m++){ r=route[assignJob][m]; for(int t=limitT;t<(K-processSum);t++){ for(int t2=t;t2<(t+process[assignJob][r]);t2++){ getTime=true; if(Ma[r][t2]>0){ getTime=false; break; } }
198 名前:デフォルトの名無しさん [2007/08/01(水) 13:47:56 ] >197続き if(getTime==true){ for(int t2=t;t<(t+process[assignJob][r]);t2++){ Ma[r][t2]=assignJob; } limitT=t+process[assignJob][r]; break;}}} if(((limitT-1)-duedate[assignJob])>0){ penal[assignJob]=weight[assignJob]*((limitT-1)-duedate[assignJob]); Obj=Obj+penal[assignJob];}} for(int m=1;m<=Machine;m++){ System.out.println("Machine"+m+"deno waritukejyoukyou"); for(int t=1;t<=K;t++){ System.out.print(Ma[m][t]);} System.out.println();} System.out.println(); System.out.println("objective function="+Obj); System.out.println(); for(int j=1;j<=Job;j++){ System.out.println("job"+j+"no ihanryo ha"+penal[j]);}}}
199 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 14:31:40 ] Cスレ行け
200 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 19:59:57 ] なんかC++使いがjavaで書いてそれをC++に直せって宿題をだしてる感じのコードだな。
201 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:30:13 ] Javaで書かれているように思えないな Obj = Obj + penal[assignJob]; って演算子のオーバーロードできたっけ?って思たw
202 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:41:54 ] 全部読んでも何やってるコードかわからん。 メンバは非staticにしてコンストラクタで処理してmainでnewしろと何度ry
203 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 01:51:58 ] >>200 > for(int m=1;m<=Machine;m++){ とか配列の最初の要素を使わないところとか見ていると C系の言語使いの書いたコードとは思えないな 配列の添え字が1から始まる言語使いじゃないか?
204 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 02:02:56 ] Java使わんで、日本生まれプログラミング言語「Ruby」使えや! news23.2ch.net/test/read.cgi/news/1185985169/
205 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 03:09:59 ] 宿題スレで言ってもな
206 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 07:52:15 ] >>203 漏れはC書きだけど わざと[0]を使わないことはあるよ
207 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 08:08:47 ] どっちかっつーと汎用機系に近いコーディングじゃね? 添字の使い方とかスパゲッティープログラム具合とか… リファクタリングさせたほうが課題としてはいいような気がする
208 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 11:39:14 ] ソース読んで意味の読み取れないコードをどうやってリファクタリングしろと?
209 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:56:39 ] >>196 ArrayIndexOutOfBoundで落ちた。 というか、何の授業で出てきた宿題か知りたい。
210 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 14:57:23 ] ・・・・ん?Weightとかあるから経路探索か?
211 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:06:06 ] >>209 Java入門(笑) じゃね?
212 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 23:05:06 ] >>211 そこのサイトって駄目なの?
213 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 13:03:03 ] 【課題】パスカルの三角形(5段目まで)を再帰的手続きを用いて記述せよ 【形態】1. Javaアプリケーション(main()で開始) 【期限】8/10まで 【用語】表示したい三角形は以下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 【補足】計算->配列格納を以下のように記述したら、再帰的ではないとのことで 再提出になってしまいました。他にはどんな方法が考えられるでしょうか。 for(i = 1; i <= n; i++){ p[i][1] = 1; //各段の最初の数字は1 p[i][i] = 1; //各段の最後の数字は1 } for(i = 3; i <= n; i++){ for(j = 2; j < i; j++){ p[i][j] = p[i-1][j-1]+p[i-1][j]; } } // 1段目と2段目の値は計算の必要がないので 3段目から計算 // n は段数(今回は n=5)
214 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 15:00:44 ] >>213 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29602
215 名前:213 mailto:sage [2007/08/04(土) 00:50:59 ] >>214 即レスありがとうございます! 詳細な解説まで入れていただいて、とても感謝です。 再帰的手続きについて、もう一度よく勉強しようと思います。
216 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 23:47:37 ] 極端に宿題減ったなと思ったら、夏休みか
217 名前:デフォルトの名無しさん [2007/08/06(月) 16:44:03 ] 【課題】 問題1 ナップサック問題 遺伝的アルゴリズムを用いて以下の問題を解きなさい。 アイテム数が250のナップサック問題です. 上から順番に,アイテム1,2,...,250となっています. 制約値(ナップサックの容量) 6536 重さ 利得 (250アイテムもあるので、配列にしたものを後で、書き込みます)。 【形態】1. Javaアプリケーション(main()で開始) 【期限】8/11まで 【用語】遺伝的アルゴリズム(交叉、突然変異などを用いること) 【 Ver 】5.0 丸投げでよろしくお願いします。
218 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 17:37:37 ] ↑配列書き込んでも、誰もやらないに(´ω`)ノ (1/8)
219 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 17:43:37 ] 愛媛乙
220 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 17:48:30 ] ↓面白そうな研究室だね(`・ω・´)<でも、かき氷器は要らないと思うだ・・・ 遺伝的アルゴリズムに、AI、画像処理 ttp://ipr20.cs.ehime-u.ac.jp/column/ga/ さて、寝よ
221 名前:217 [2007/08/06(月) 20:03:15 ] int[] omosa = { 100, 49, 54, 12, 78, 30, 65, 31, 90, 50, 80, 84, 53, 72, 94, 60, 74, 58, 17, 24, 45, 19, 33, 39, 91, 69, 48, 56, 84, 66, 60, 95, 49, 63, 22, 71, 83, 36, 15, 64, 28, 49, 41, 14, 17, 28, 65, 27, 65, 28, 21, 17, 33, 68, 51, 91, 97, 28, 91, 82, 54, 12, 47, 33, 30, 65, 56, 57, 91, 88, 77, 99, 29, 23, 39, 86, 12, 85, 22, 64, 33, 95, 32, 10, 44, 56, 86, 38, 72, 10, 57, 30, 28, 92, 68, 54, 34, 93, 35, 41, 46, 82, 66, 15, 89, 70, 46, 43, 60, 36, 63, 18, 67, 13, 12, 94, 19, 65, 59, 28, 91, 37, 24, 86, 23, 100, 38, 21, 42, 58, 91, 26, 69, 72, 89, 34, 84, 30, 24, 62, 20, 45, 11, 24, 54, 61, 14, 97, 79, 65, 68, 93, 54, 36, 41, 62, 90, 10, 58, 57, 46, 85, 19, 15, 15, 44, 70, 17, 25, 24, 37, 45, 97, 85, 64, 46, 74, 86, 89, 12, 83, 24, 40, 99, 27, 28, 65, 57, 66, 75, 50, 42, 34, 12, 59, 100, 12, 61, 98, 14, 68, 64, 46, 87, 68, 33, 43, 28, 24, 25, 29, 13, 59, 20, 66, 84, 16, 40, 69, 55, 73, 85, 25, 17, 81, 32, 74, 90, 88, 11, 98, 59, 12, 93, 16, 97, 37, 59, 57, 16, 73, 74, 65, 12, 33, 28, 66, 17, 88, 86 };
222 名前:217 [2007/08/06(月) 20:04:14 ] int[] ritoku = { 79, 25, 99, 41, 94, 75, 40, 59, 95, 99, 95, 93, 74, 83, 14, 89, 41, 53, 75, 70, 49, 19, 84, 16, 25, 66, 68, 79, 16, 93, 14, 20, 99, 93, 100, 56, 62, 69, 91, 52, 86, 43, 76, 45, 21, 57, 45, 41, 58, 33, 68, 22, 66, 83, 50, 64, 35, 42, 33, 66, 38, 57, 69, 90, 79, 89, 28, 70, 38, 71, 46, 41, 49, 43, 36, 68, 92, 33, 84, 90, 22, 93, 92, 89, 47, 23, 13, 11, 34, 11, 60, 82, 10, 16, 81, 20, 85, 52, 92, 31, 24, 83, 76, 15, 38, 63, 32, 99, 39, 97, 28, 42, 80, 21, 99, 11, 91, 24, 45, 28, 89, 31, 81, 78, 48, 72, 36, 77, 84, 40, 65, 43, 49, 23, 82, 41, 22, 67, 96, 58, 56, 81, 42, 55, 31, 38, 33, 10, 43, 84, 52, 96, 92, 51, 50, 63, 70, 46, 30, 45, 41, 15, 82, 52, 25, 69, 62, 26, 64, 93, 78, 82, 71, 65, 40, 25, 20, 24, 19, 10, 12, 31, 22, 96, 79, 31, 98, 80, 10, 31, 42, 99, 26, 21, 83, 78, 66, 54, 100, 22, 48, 16, 25, 97, 95, 70, 22, 20, 16, 17, 19, 49, 90, 44, 53, 18, 42, 26, 87, 55, 58, 32, 61, 32, 10, 11, 12, 61, 96, 59, 94, 25, 30, 70, 53, 35, 54, 91, 51, 20, 87, 70, 50, 52, 31, 43, 32, 25, 40, 78 };
223 名前:デフォルトの名無しさん [2007/08/06(月) 22:01:15 ] >>220 ありがとうございます。取りあえず、アルゴリズムの方は大体つかめました。 プログラミングの能力不足は否めませんが。
224 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 11:07:26 ] >>217 面白いな、この問題 問題2とかもあるのか?
225 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:47:44 ] 問題2は巡回セールスマン問題を遺伝的アルゴリズムで解け、です。
226 名前:デフォルトの名無しさん [2007/08/07(火) 13:59:35 ] 興味本位の素人の考えだけど、この問題って(価値/重さ)を計算して重さあたりの価値の高い物から順に袋がいっぱいになるまで詰めるのじゃだめなの? それとも単に例題としてあえて回りくどい方法使ってるの?
227 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:03:14 ] >>226 ダイアモンドは分割できませんよw
228 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:21:48 ] >巡回セールスマン問題を遺伝的アルゴリズム 専門にしては難しいことやってるな。 NP完全問題一通りやらせる気か?
229 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:46:50 ] >>226 A 価値 9 重さ 8 価値/重さ 1.125 B 価値 10 重さ 9 価値/重さ 1.111... 最大重量 20 のとき、そのアルゴリズムによれば A 2個 価値 18 重さ 16 だけど A 1個 B 1個 価値 19 重さ 17 B 2個 価値 20 重さ 18 で、価値/重さの大きいものを全く含まない組み合わせの方が総価値が高くなる
230 名前:224 mailto:sage [2007/08/07(火) 16:00:35 ] >>217 やはり巡回マン問題に繋げているのか。 解くには解いたが、まったく解らん状態でこんなもんコピって提出して大丈夫か? ゼミとかで発表されても困るぞw
231 名前:217 mailto:sage [2007/08/07(火) 16:52:52 ] 自己解決しました!
232 名前:デフォルトの名無しさん [2007/08/08(水) 01:46:33 ] 正直、このレベルの問題は自分で解けないと将来困るの本人だろ? まさか論文ココで書いてもらうつもりか?
233 名前:デフォルトの名無しさん [2007/08/08(水) 03:39:48 ] ぬゑぽ
234 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 04:38:05 ] try{ >>223 } catch (NullPointerException e) { System.out.println("ガッ"); }
235 名前:ぱん [2007/08/08(水) 13:56:39 ] 【 課題 】 コマンドライン引数に入力された年と月から、 その月が何日まであるかを表示しなさい。 (日付その他のチェックも行う事) 【 形態 】 Javaアプリケーション(main()で開始) 【 期限 】 2008/08/08 18:30まででお願い致します。 【 Ver 】java version "1.4.1_05" 【 補足 】お願い致します。
236 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:21:51 ] >>235 public class Nannichi { public static void main(String[] args) { if (args.length == 2) { int year = Integer.parseInt(args[0]); int month = Integer.parseInt(args[1]); if (month >=1 && month <=12) { System.out.println(new int[][]{{31,29,31,30,31,30,31,31,30,31,30,31},{31,28,31,30,31,30,31,31,30,31,30,31}} [year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) ? 0 : 1][month - 1]); } } else { System.err.println("java Nannichi year month"); } } }
237 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:31:03 ] べた書きキタコレ
238 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:39:11 ] 配列べた書きが気に入らんのかい System.out.println(month >=8 && month % 2 == 0 ? 31 : month >= 8 ? 30 : month % 2 != 0 ? 31 : month != 2 ? 30 : year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) ? 29 : 28);
239 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:20:18 ] >>235 個人的には、>>122 の汎用的なロジックが好きだから y,m を引数するとして m==12?getDayID( y+1,1,1):getDayID( y,m+1,1) - getDayID( y,m,1 ) を提示
240 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:22:00 ] >>239 こんな場合分けは、122に失礼だった。 getDayID( y+m/12, (m+1)%12,1)- getDayID( y,m,1 ) こっちで。
241 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:24:05 ] >>240 もうなんだか訳分からなくなった getDayID( y+m/12, m%12+1,1)- getDayID( y,m,1 ) 括弧間違ってた。
242 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:33:36 ] Calendarクラス使って動的にとればいいだろ Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, year); cal.set(Calendar.MONTH, month - 1); cal.set(Calendar.DATE, 1); cal.add(Calendar.DATE, -1); return cal.get(Calendar.DATE);
243 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:37:39 ] >>242 Calendar使うなら、getActualMaximumで終了じゃねえか
244 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 19:51:29 ] getActualMaximumなんてメソッドあるんだ
245 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 21:20:43 ] >>244 うっかりgetMaxmumを使って常に、31日というオチもありだ。
246 名前:217 [2007/08/09(木) 00:18:58 ] >>230 提出はプログラムに関する考察なので、大丈夫です。それに、取りあえず、 参考程度にエラーの出ないやり方を見たいので、アップしてくれるとうれしいです。 >>232 確かに、もうちょっと自分で考えた方がいい気もしますね。 3回の専門科目のレポート問題ですが、やはり相当手ごわい問題のようですね。
247 名前:217 [2007/08/09(木) 00:26:28 ] ココってちなみにどこの大学晒すのかはまずいですよね。 とりあえず、考えてもらったお礼に、問題2と問題3も後で書き込むことにします。
248 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 01:27:05 ] お礼がさらなる自分の課題の提示w
249 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 05:37:52 ] 本当に楽しみを与えているとでも思っているのか>>217 はw しかしその気概が気に入ったので例示、ただしかなり嫌がらせ気味に書いた sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29612 単なる一点交叉+奇々怪々な変異法のため非常に解が安定しない 2000世代で価値がAve7300程度かね、多分最高で8000ぐらいは行くんじゃなかろうか 解を安定させたいならTwoOptMutationとか選択法勉強するヨロシ 卒論でGAは使ったことがあるが丸々写したりしてもさっぱりだと思うぞ 正直その手の論文でも見て動き方を覚えた方が良いと思う …微妙に正しいのかどうか分からなくなってきた
250 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 07:35:30 ] >>249 8200ちょい リファクタリングしたら貼り付けようと思っていたけど不要になりそだ
251 名前:初心者 [2007/08/09(木) 10:57:17 ] 235の課題をCalendarクラスで動的に取ったら どんな感じになるんですか?
252 名前:文字列動的配列クラスの作成 [2007/08/09(木) 11:13:29 ] 【 課題 】 ABC.java //最下行に要素を追加 public void add(String data){} //指定インデックスの要素を上書き(指定インデックスが無い場合エラー) public void set(int index,String data){} //指定インデックスの要素を取得(指定インデックスが無い場合エラー) public String get(int index){} //全ての要素をクリア public void clear(){} //実行サンプルクラス //以下の処理をABCを使用して実行 ABC_excec.java "aaa"を追加 "bbb"を追加 "ccc"を追加 "dd"を追加 4個の要素を取得して表示 すべてクリア "ee001"〜"ee100"の100個追加 76番目の要素を取得して表示 【 形態 】 Javaアプリケーション(main()で開始) 【 期限 】 2008/08/09 今日中まででお願い致します。 【 Ver 】java version "1.4.1_05" 【 補足 】概念図は public void add(String data){} public String set(int index,String data){} public String get(int index){} public void clear(){} とありました。丸投げお願いいたします。
253 名前:ぱん [2007/08/09(木) 11:19:54 ] public class Nannichi { public static void main(String[] args) { if (args.length == 2) { int year = Integer.parseInt(args[0]); int month = Integer.parseInt(args[1]); if (month >=1 && month <=12) { System.out.println(new int[][]{{31,29,31,30,31,30,31,31,30,31,30,31},{31,28,31,30,31,30,31,31,30,31,30,31}} [year % 4 == 0 && (year % 100 != 0 || year % 400 == 0) ? 0 : 1][month - 1]); } } else { System.err.println("java Nannichi year month"); } } } Calendarクラスを使うとどう変わりますか?
254 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:05:07 ] >>251 >>253 >>242-243
255 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:12:33 ] 【 課題 】 フォームから入力を受け取って、簡単な家計簿を生成するServlet を作成せよ。 入力した項目に加えて、その日の支出の計とそれまでの支出の累計の両方を計算してテーブルの形に整形し、 ゲストブックとおなじようにファイルにテーブルを追加していくようにせよ。 フォームsourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29613 【 形態 】1. Javaservlet 【 GUI 】4. 制限なし 【 期限 】8月9日まで 【 Ver 】1.6.0_01 【 補足 】 よろしくお願いします。
256 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:34:02 ] 【 課題 】 オプションと値段の情報をテキストファイルではなく、データベースから獲得し、動作をするサーブレットを作成せよ。 なお、データベースへのクエリの回数はできるだけ少ないこと(1つのセッションで1回)が望ましい 【 形態 】1. Javaservlet 【 GUI 】4. 制限なし 【 期限 】8月9日まで 【 Ver 】1.6.0_01 【 補足 】 一応テキストから獲得したサーブレット sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29616 オプションは常に3択と仮定して良い DBのテーブルの作成には以下のSQLスクリプトを使用してよい ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29615 よろしくお願いします
257 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 12:47:15 ] >>252 public class ABC { //private java.util.ArrayList list = new java.util.ArrayList(); //public void add(String data) { list.add(data); } //public void set(int index, String data) { list.set(index, data); } //public String get(int index) { return (String)list.get(index); } //public void clear() { list.clear(); } private String[] list = new String[1]; private int size = 0; public void add(String data) { if (size >= list.length) { String[] t = new String[list.length * 2]; System.arraycopy(list, 0, t, 0, list.length); list = t; } list[size++] = data; } public void set(int index, String data) { if (index < 0 || index >= size) throw new IndexOutOfBoundsException(); list[index] = data; } public String get(int index) { if (index < 0 || index >= size) throw new IndexOutOfBoundsException(); return list[index]; } public void clear() { for (int i = 0; i < size; i++) list[i] = null; size = 0; } } public class ABC_exec { public static void main(String[] args) { ABC abc = new ABC(); abc.add("aaa"); abc.add("bbb"); abc.add("ccc"); abc.add("dd"); for (int i = 0; i < 4; i++) System.out.println(abc.get(i)); abc.clear(); java.text.DecimalFormat format = new java.text.DecimalFormat("ee000"); for (int i = 1; i <= 100; i++) abc.add(format.format(i)); System.out.println(abc.get(76 - 1)); } }
258 名前:デフォルトの名無しさん [2007/08/09(木) 13:14:46 ] >>257 コンパイルするとエラーになるよ
259 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 13:23:30 ] >258 お前のやり方が間違ってるだけ
260 名前:デフォルトの名無しさん [2007/08/09(木) 13:58:04 ] >>253 import java.util.*; public class Main { public static void main(String[] args) { int year = Integer.parseInt(args[0]); int month = Integer.parseInt(args[1]); GregorianCalendar cal = new GregorianCalendar(); System.out.println( new int[][]{{31,29,31,30,31,30,31,31,30,31,30,31},{31,28,31,30,31,30,31,31,30,31,30,31}} [cal.isLeapYear(year) ? 0 : 1][month - 1]); } } じゃねーの?
261 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 16:16:42 ] String の変数に入れられた文字列が全角か半角かを判別させるにはどうすればいいですか? 【 形態 】1. Javaアプリケーション 【 Ver 】1.5
262 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 17:16:33 ] >>260 吹いたw 正しい正しいw
263 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 17:22:49 ] >>261 全角半角の定義だが、Windows-31Jで1バイトかどうかで判定して良いのか? だとすれば String str ; // これに入ってるとする for( int i=0;i<chrs.length;i++ ){ String s = str.substring(i,i+1); if ( s.getBytes("Windows-31J") .length == 1 ){ System.out.println("半角:"+s); }else{ System.out.println("全角:"+s); } } で判定できないかね。
264 名前:217 [2007/08/09(木) 17:57:37 ] >>249-250 >>ただしかなり嫌がらせ気味に書いた なるほど、横に長い実行結果ですね ありがとうございます。ちなみに最適解は10000ちょいでしたが、 エラーの出ない配列の使い方が分かって非常に参考になりました。
265 名前:デフォルトの名無しさん [2007/08/09(木) 18:07:30 ] >260 getActualMaximum使ったらもっとかんたんなのでは? 俺は知らんけどな〜
266 名前:217 [2007/08/09(木) 18:14:47 ] 【 課題 】2目的ナップサック問題 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29619 巡回セールスマン問題 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29620 【 形態 】1. Javaアプリケーション(main()で開始)/ 【 期限 】解答しなくて良いです。 【 Ver 】java5.0 【 補足 】この問題は、答える必要はありません。興味のある方は、 やってみてください。
267 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:55:09 ] (*‘ω‘ *)<ランボー 期限 レス番号 種別 ---------------------------------------------- 8/9 >255 Servlet 8/9 >256 Servlet+DB(MySQLぽっぽ)
268 名前:デフォルトの名無しさん [2007/08/09(木) 19:14:51 ] みんな期限短すぎだろ
269 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 19:53:59 ] >>217 これは面白かった 細かいテストしてないから正確な動作は保証しない uproda11.2ch-library.com/src/1121058.zip.shtml dlキーはga
270 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 20:50:57 ] >>269 軽く見たけど無駄な処理多いと思うが?
271 名前:217 [2007/08/09(木) 20:53:30 ] >>269 ありがとうございます。266にも問題2,3があるので気が向いたらやってみてください。
272 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 23:54:19 ] なんだか最近おかしくないか? 問題を提供してやってるんだぜ、俺スゲー、敬え! って感じがするんだが。 こんな問題も解けなくて生まれてきてスマン。でも単位は欲しいので助けてください。 みたいな素直さがないよ。
273 名前:デフォルトの名無しさん [2007/08/10(金) 00:03:23 ] >>272 さすがに、そんな馬鹿いないでしょ まあ、目立たせるように不躾な書き方をしてる人はいるかも
274 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 06:32:09 ] 夏で普通の宿題がないからひまつぶしにネタ出してるんでそ。 夏休み終わりぐらいに大量に出題あるかもねw
275 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 08:18:18 ] 暇つぶしならネタ出しせずに自分で解けばいいのにと思う今日この頃
276 名前:継承 [2007/08/10(金) 10:30:46 ] 【 課題 】 >257さんの回答を継承して A_strArray.java // 全ての要素を配列で取得 public String[] getAll(){} // 要素数を取得 public int getIndex(){} // 昇順 public static final int ASC_SORT = 0; // 降順 public static final int DESC_SORT = 1; // ソートする //引数 mode ASC_SORT:昇順/DESC_SORT:降順 public void sort(int mode){} //実行サンプルクラス A_exec.java "bbb" を追加"aaa" を追加"ddd" を追加 "ccc" を追加"123" を追加 要素数を表示 昇順ソート 全ての要素を取得して表示 降順ソート 全ての要素を取得して表示 A_exec2.java 以下を10回繰り返すプログラムを作成する 項目を、10000個追加 5000番目の内容を表示 降順ソート 全てクリア 【 形態 】 Javaアプリケーション(main()で開始) 【 期限 】 2008/08/10 今日中でお願い致します。 【 Ver 】java version "1.4.1_05" 【 補足 】丸投げですがお願い致します。
277 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 14:00:22 ] >項目を、10000個追加 どうやって要素を生成するかわからん。sortするならrandomかな。 しかし、意味の無い仕様だな。