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


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

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



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/

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かな。
しかし、意味の無い仕様だな。








[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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