★★ Java の宿題ここ ..
239:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/08/08 19:22:00
>>239
こんな場合分けは、122に失礼だった。
getDayID( y+m/12, (m+1)%12,1)- getDayID( y,m,1 )
こっちで。
241:デフォルトの名無しさん
07/08/08 19:24:05
>>240
もうなんだか訳分からなくなった
getDayID( y+m/12, m%12+1,1)- getDayID( y,m,1 )
括弧間違ってた。
242:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/08/08 19:37:39
>>242
Calendar使うなら、getActualMaximumで終了じゃねえか
244:デフォルトの名無しさん
07/08/08 19:51:29
getActualMaximumなんてメソッドあるんだ
245:デフォルトの名無しさん
07/08/08 21:20:43
>>244
うっかりgetMaxmumを使って常に、31日というオチもありだ。
246:217
07/08/09 00:18:58
>>230
提出はプログラムに関する考察なので、大丈夫です。それに、取りあえず、
参考程度にエラーの出ないやり方を見たいので、アップしてくれるとうれしいです。
>>232
確かに、もうちょっと自分で考えた方がいい気もしますね。
3回の専門科目のレポート問題ですが、やはり相当手ごわい問題のようですね。
247:217
07/08/09 00:26:28
ココってちなみにどこの大学晒すのかはまずいですよね。
とりあえず、考えてもらったお礼に、問題2と問題3も後で書き込むことにします。
248:デフォルトの名無しさん
07/08/09 01:27:05
お礼がさらなる自分の課題の提示w
249:デフォルトの名無しさん
07/08/09 05:37:52
本当に楽しみを与えているとでも思っているのか>>217はw
しかしその気概が気に入ったので例示、ただしかなり嫌がらせ気味に書いた
URLリンク(sourcepost.sytes.net)
単なる一点交叉+奇々怪々な変異法のため非常に解が安定しない
2000世代で価値がAve7300程度かね、多分最高で8000ぐらいは行くんじゃなかろうか
解を安定させたいならTwoOptMutationとか選択法勉強するヨロシ
卒論でGAは使ったことがあるが丸々写したりしてもさっぱりだと思うぞ
正直その手の論文でも見て動き方を覚えた方が良いと思う
…微妙に正しいのかどうか分からなくなってきた
250:デフォルトの名無しさん
07/08/09 07:35:30
>>249
8200ちょい
リファクタリングしたら貼り付けようと思っていたけど不要になりそだ
251:初心者
07/08/09 10:57:17
235の課題をCalendarクラスで動的に取ったら
どんな感じになるんですか?
252:文字列動的配列クラスの作成
07/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:ぱん
07/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:デフォルトの名無しさん
07/08/09 12:05:07
>>251
>>253
>>242-243
255:デフォルトの名無しさん
07/08/09 12:12:33
【 課題 】
フォームから入力を受け取って、簡単な家計簿を生成するServlet を作成せよ。
入力した項目に加えて、その日の支出の計とそれまでの支出の累計の両方を計算してテーブルの形に整形し、
ゲストブックとおなじようにファイルにテーブルを追加していくようにせよ。
フォームURLリンク(sourcepost.sytes.net)
【 形態 】1. Javaservlet
【 GUI 】4. 制限なし
【 期限 】8月9日まで
【 Ver 】1.6.0_01
【 補足 】
よろしくお願いします。
256:デフォルトの名無しさん
07/08/09 12:34:02
【 課題 】
オプションと値段の情報をテキストファイルではなく、データベースから獲得し、動作をするサーブレットを作成せよ。
なお、データベースへのクエリの回数はできるだけ少ないこと(1つのセッションで1回)が望ましい
【 形態 】1. Javaservlet
【 GUI 】4. 制限なし
【 期限 】8月9日まで
【 Ver 】1.6.0_01
【 補足 】
一応テキストから獲得したサーブレット
URLリンク(sourcepost.sytes.net)
オプションは常に3択と仮定して良い
DBのテーブルの作成には以下のSQLスクリプトを使用してよい
URLリンク(sourcepost.sytes.net)
よろしくお願いします
257:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/08/09 13:14:46
>>257
コンパイルするとエラーになるよ
259:デフォルトの名無しさん
07/08/09 13:23:30
>258
お前のやり方が間違ってるだけ
260:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/08/09 16:16:42
String の変数に入れられた文字列が全角か半角かを判別させるにはどうすればいいですか?
【 形態 】1. Javaアプリケーション
【 Ver 】1.5
262:デフォルトの名無しさん
07/08/09 17:16:33
>>260
吹いたw 正しい正しいw
263:デフォルトの名無しさん
07/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
07/08/09 17:57:37
>>249-250
>>ただしかなり嫌がらせ気味に書いた
なるほど、横に長い実行結果ですね
ありがとうございます。ちなみに最適解は10000ちょいでしたが、
エラーの出ない配列の使い方が分かって非常に参考になりました。
265:デフォルトの名無しさん
07/08/09 18:07:30
>260
getActualMaximum使ったらもっとかんたんなのでは?
俺は知らんけどな〜
266:217
07/08/09 18:14:47
【 課題 】2目的ナップサック問題
URLリンク(sourcepost.sytes.net)
巡回セールスマン問題
URLリンク(sourcepost.sytes.net)
【 形態 】1. Javaアプリケーション(main()で開始)/
【 期限 】解答しなくて良いです。
【 Ver 】java5.0
【 補足 】この問題は、答える必要はありません。興味のある方は、
やってみてください。
267:デフォルトの名無しさん
07/08/09 18:55:09
(*‘ω‘ *)<ランボー
期限 レス番号 種別
----------------------------------------------
8/9 >255 Servlet
8/9 >256 Servlet+DB(MySQLぽっぽ)
268:デフォルトの名無しさん
07/08/09 19:14:51
みんな期限短すぎだろ
269:デフォルトの名無しさん
07/08/09 19:53:59
>>217
これは面白かった
細かいテストしてないから正確な動作は保証しない
URLリンク(uproda11.2ch-library.com)
dlキーはga
270:デフォルトの名無しさん
07/08/09 20:50:57
>>269
軽く見たけど無駄な処理多いと思うが?
271:217
07/08/09 20:53:30
>>269
ありがとうございます。266にも問題2,3があるので気が向いたらやってみてください。
272:デフォルトの名無しさん
07/08/09 23:54:19
なんだか最近おかしくないか?
問題を提供してやってるんだぜ、俺スゲー、敬え!
って感じがするんだが。
こんな問題も解けなくて生まれてきてスマン。でも単位は欲しいので助けてください。
みたいな素直さがないよ。
273:デフォルトの名無しさん
07/08/10 00:03:23
>>272
さすがに、そんな馬鹿いないでしょ
まあ、目立たせるように不躾な書き方をしてる人はいるかも
274:デフォルトの名無しさん
07/08/10 06:32:09
夏で普通の宿題がないからひまつぶしにネタ出してるんでそ。
夏休み終わりぐらいに大量に出題あるかもねw
275:デフォルトの名無しさん
07/08/10 08:18:18
暇つぶしならネタ出しせずに自分で解けばいいのにと思う今日この頃
276:継承
07/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:デフォルトの名無しさん
07/08/10 14:00:22
>項目を、10000個追加
どうやって要素を生成するかわからん。sortするならrandomかな。
しかし、意味の無い仕様だな。
最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5391日前に更新/93 KB
担当:undef