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

512:デフォルトの名無しさん
08/07/16 04:11:37
>>506
jad という逆コンパイルツールを探してきて TestStack.class と同じ
フォルダに展開して、
 jad -8 TestStack.class
とやると TestStack.jad というファイルが出来るから、
TestStack.java に変名してそれぞれの Stack と一緒に出したらどうだい。
それ見てたら作者がタコに思えてきて弄る気力無くなった…。

513:デフォルトの名無しさん
08/07/16 14:51:55
>>510
ありがとうございます!やっとコンパイル通りました!

514:デフォルトの名無しさん
08/07/16 15:10:42
>>513
いや、別に、警告は出てても実行は出来るよ。

515:デフォルトの名無しさん
08/07/16 15:57:41
>>514
元に戻してやってみたら通りましたorz
ファイル名を入力し間違えてたみたいですorzorz

516:デフォルトの名無しさん
08/07/17 00:36:03
いま暇だ。
残ってる宿題リストくれ

517:デフォルトの名無しさん
08/07/17 00:56:43
「1〜1000までの足し算を行うプログラムを書け。」
簡単かもしれませんがお願いします。

518:デフォルトの名無しさん
08/07/17 01:27:37
>>516
期限が切れてるのばかり・・・

>>495の金種計算と
>>466も現実的な時間で算出できる方法かな


519:デフォルトの名無しさん
08/07/17 01:36:47
>>517
n=1000; として、
for(i=1,sum=0; i<=n; i++) sum+=i; または n*(n+1)/2;


520:デフォルトの名無しさん
08/07/17 01:51:31
>>466
なにこのベンチマークw

521:デフォルトの名無しさん
08/07/17 02:47:45
>>431 は一応まだ期限内なんだが。
問題1,3はともかく、問題2,4の出題者の意図がイマイチ分からん。
そのもののクラスファイルを >>506 で出題者から提供されたが、
んじゃ問題2,4では何を作るのかと。
>>512 ではjadで終わりってことにしたな。

522:デフォルトの名無しさん
08/07/17 10:10:12
>>466 を実装するには、まずBigDecimalのsqrtを実装しないといけないよね。チェックの回数を減らさないと。

523:デフォルトの名無しさん
08/07/17 11:57:56
【 課題 】
class Data{
String name;
String start_time;
String end_time;
String place;
String id;
//以下ゲッタ、セッタ;
}
で定義されているデータ型とこのデータ型のオブジェクトdata1[n]がある.
このとき、以下の条件に従って、Data data2[n]に値を挿入する関数arrange()を作成せよ.
(1)n=0の時、data2[n] = data1[n]
(2-2)n=kの時、data1[0]~data1[k-1]までに「name,start_time,end_timeすべてが一致するもの」があれば、data2[k].id=data2[k].id+","+data1[k-α].id *αはそれまでの一致した数
(2-2)n=kの時、data1[0]~data1[k-1]までに「name,start_time,end_timeすべてが一致するもの」がなければdata2[k]=data1[k-α]

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】なし
【 期限 】7月18日24時
【 Ver  】
$ java -version
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)
【 用語 】
【 補足 】data1のデータは定義されていません。自分で何か文字列入れて動作確認せよとのことです.

524:431
08/07/17 18:19:45
>>511
度々ありがとうございます。

自宅で実行環境を整えたのですが、
Exception in thread "main" java.lang.NoClassDefFoundError
とエラーが出てしまい、動作を確認出来ない状況です。
学校で実行した時は3が実行できて、4はエラーが出て実行できない状況だったのですが・・・
作って頂いた4のファイルも、きちんとした環境でコンパイルして実行すれば動作するのでしょうか?
Ver.1.4.2_12でコンパイルして実行したらエラーが表示されたのですが・・・
4でのエラー文は明日貼りますので、もう暫くお待ち下さい。

3を実行したとき、スタックにa、b、cを積んでいって取り出すような実行結果が表示されたと思うのですが、
教師からはTestStack.classを配布したので実行してみろという指示を出されただけで特に説明はありませんでした。
恐らくTestStack.classが実行できた場合は教師が指定したスタックの条件は満たせているぞ、という意味なのだと思います。

525:431
08/07/17 18:27:35
問題2と4に関しては、作成したスタックが教師の条件に沿っていることを確認するものが作れれば良いと思います。

スタックに要素を積んでいって、満杯になったらこれ以上積めないということを表示し、
スタックの要素だけを表示するメソッドを実行して、次に要素をスタックから取り出して表示するメソッドを実行することで、
スタックの要素を表示するメソッドと、要素をスタックから取り出して表示するメソッドが正しく動作することを確認することが出来るのでそのような動作をするようにし、
スタックが空の時に要素を取り出して表示するメソッドを実行したらスタックが空で取り出せないことを表示する、
といったことが出来れば良いと思います。

問題4は「>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。」という部分が問題になっているのでしょうか。
実行できていないので「>テスト結果 = true」についてよくわからないのですが、
Cellを利用して作ると無限に要素を積めるスタックを作れるとしたら、問題文の「>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。」は無視して良いと思います。
問題4では
スタックに要素を積んでいって、スタックの大きさに制限がないためにいくつか積んでも満杯にならないことを確認し、
スタックの要素だけを表示するメソッドを実行して、次に要素をスタックから取り出して表示するメソッドを実行することで、
スタックの要素を表示するメソッドと、要素をスタックから取り出して表示するメソッドが正しく動作することを確認することが出来るのでそのような動作をするようにし、
スタックが空の時に要素を取り出して表示するメソッドを実行したらスタックが空で取り出せないことを表示する、
といったことが出来れば良いと思います。

そして、どちらも問題文で指定されている
>ただし、show メソッドにより、
>スタックが空の場合には
>スタックは空です!
>と表示し、
>“a”,”b”,”c”の順序にスタックにつまれている場合にはスタックの内容を
>c <-- b <-- a
>と表示するようにする。
という部分は守る必要があると思います。

526:431
08/07/17 18:28:14
私は「import〜」など、少し複雑になったソースでさえ理解することが出来ませんので、
もし良かったら、上のようなプログラムで、より単純なソースで作って頂けると助かります…
問題2に関しては単純にpush(Object anObject),pop(),top()を実行するプログラムを書けば良いので自分でなんとかなりますが、
問題4に関しては問題3で作成して頂いたソースのコンパイルすら通っておらず、そのソースの構造がどうなっているのか理解することが出来ていないのでメソッドをどう実行したら良いのか分かりません。
問題4も単純に要素を何個か積んで、表示して、取りだしていって、要素が無くなったら要素がないことを表示するようなソースを、メソッドを繰り返し使うことで実現するようなプログラム(?)を書いて頂けると助かります。

恐ろしく素人なので、回答して頂いている方達が疑問に思っている点について私が理解出来ておらず、
回答になっていない気もします…

>>521
恐らく私が今書いたようなことだと思います。
配布されたTestStack.class自体を再現する必要はないと思いますが、
それを再現出来れば動作の確認自体が出来ると思うので、それを再現してもいいのかもしれません。

527:431
08/07/17 18:44:42
そして、前回の課題に合わせて追課題が出てしまいました・・・

【 課題 】 URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】 Javaアプリケーション(main()で開始)
【 期限 】 2008/07/22 06:00
【 Ver  】 1.4.2_12
【 補足 】 課題の丸投げです。>>431で作成すべきソースを利用して作る課題です。

       私は動作確認できていませんが、
       もしかしたら
       URLリンク(rg550.hp.infoseek.co.jp)の一部分を
        void push (Object anObject) {
         // スタックの最後の位置を増やす
         top++;
         // スタックに要素追加
         stack[top] = anObject;
        }
       に書き換えたものと、
       URLリンク(rg550.hp.infoseek.co.jp)
       を利用して解けるかもしれません。
       
       >>431の課題も作成して頂いている途中なので作成をお願いするのが申し訳ないのですが、
       そんなことに構っていられないほど色々な課題や勉強が増えてきておりまして、
       図々しいことは承知の上で回答お願いします。
       できるだけ初心者にも理解し易く、単純な形で記述して頂けると助かります。
       コンストラクタ、メソッド、インスタンス、オーバーロード、合成、継承、オーバーライド、ポリモルフィズム、
       アップキャスト・ダウンキャスト、equalsのオーバーライド、インターフェース、
       程度しか教わっていないようなレベルです。
       宜しくお願いします。

528:デフォルトの名無しさん
08/07/17 18:55:31
>>527
>        URLリンク(rg550.hp.infoseek.co.jp)の一部分を
>         void push (Object anObject) {
>          // スタックの最後の位置を増やす
>          top++;
>          // スタックに要素追加
>          stack[top] = anObject;
>         }
>        に書き換えたものと、
それは何処が書き換わってるの?

529:431
08/07/17 19:11:16
>>528
失礼しました。
public Stack() {
// スタックの大きさ
size = 5;
// スタックサイズで配列作成
stack = new Object[size];
// 空っぽの時はマイナス1とする
top = -1;
}
       を
public Stack(int size) {
// スタックサイズで配列作成
stack = new Object[size];
// 空っぽの時はマイナス1とする
top = -1;
}
に書き換えたものと、
です。

530:デフォルトの名無しさん
08/07/17 19:45:27
>>527
この問題コンストラクタ、メソッド、インスタンス以外使ってないんだが・・

531:デフォルトの名無しさん
08/07/17 23:35:59
作成する側がって意味だろ

532:デフォルトの名無しさん
08/07/18 01:17:02
だれか 1.4.2_12 の環境ある超暇な人、
>import java.io.ByteArrayOutputStream;
>import java.io.PrintStream;
でコンパイルエラーになるか確認してくれないか。

533:デフォルトの名無しさん
08/07/18 01:26:12
ごちゃごちゃ想像してないで、課題2と課題4とTestStack.classを
どうしろというのか直に教師に確認してきなさいよ・・・

534:デフォルトの名無しさん
08/07/18 02:31:14
>>533
実行してみろとしか言われてないって書いてあるだろ
課題自体は431なんだろ

535:デフォルトの名無しさん
08/07/18 12:05:40


課題がわからなくてこまってます。にもかかわらず先延ばしにしてしまい今日の午後四時が締め切りです。
図々しいけどよろしくお願いします。
[課題]10.0、18.5、4.2、19.0、5.0、22.7、2.4、4.8、9.9、7.0
    という十個の実数について大きい順に並び替え、
    最大値、最小値、平均値を求めるプログラムを作成せよ。
[形態]1Javaアプリケーション
[GUI]1AWTのみ
[期限]今日(金曜日)の午後四時

536:デフォルトの名無しさん
08/07/18 12:39:03
>>535
足す順で若干精度が変わるけど、そのへんポイントなの?

double[]a={10.0,18.5,4.2,19.0,5.0,22.7,2.4,4.8,9.9,7.0};
double sum = 0;
java.util.Arrays.sort(a);
System.out.println("大きい順");
for(int i=a.length-1;i>=0;i--){
System.out.println(a[i]);
sum+=a[i];
}
System.out.println("最大値:"+a[a.length-1]);
System.out.println("最小値:"+a[0]);
System.out.println("平均:"+sum/a.length);

537:デフォルトの名無しさん
08/07/18 13:03:44
【 課題 】適当なフレーム(正方形が望ましい)をつくり、その中心にdrawRectで正方形を描画する。
       その後、その正方形に内接する円を描き、正方形の中だけにランダムに
       点を描画することにより円周率πの近似値を求めるプログラムを作成せよ。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ
【 期限 】7/22(火) 13:00
【 Ver  】java version "1.5.0_11"
【 補足 】モンテカルロ法を再現するのだと思いますが、その部分の計算方法がよく分かりません。
       丸投げにしてすいませんがお願いします。

538:デフォルトの名無しさん
08/07/18 15:04:04
>>537
> モンテカルロ法を再現するのだと思いますが、その部分の計算方法がよく分かりません。
正方形の一辺の長さを a とすると、その面積は a × a になる。
この正方形に内接する円の面積は π × a × a ÷ 4 。
正方形内に一様にばらまいた点が内接円の内部に存在する割合は、
正方形の面積に対する内接円の面積の比、すなわち π ÷ 4 。
つまり、ばらまいた点の総数で内接円内の点の数を割ったものの4倍がπの近似値になる。
点が内接円の内部か外部かの判定は、
正方形の重心=円の中心から点までの距離と円の半径 a ÷ 2 との比較で行える。
カルテシアン座標で点の座標を発生させているのなら、
平方根計算が必要な距離そのものでなく、その2乗値と a × a ÷ 4 とを比較してもいい。

539:デフォルトの名無しさん
08/07/18 18:59:26
【課題】Music クラスのオブジェクトを要素とするリストの中から、指定された曲名を持つオブジェクトを線形探索で探すプログラムを作成する。
今回は番兵法を使って作成しなさい。main メソッドのあるクラスのクラス名は SequentialSearchSentinel とする。

URLリンク(rg550.hp.infoseek.co.jp)
【形態】1. Javaアプリケーション(main()で開始)
【期限】7月21日 23:59
【Ver】1.5.0.11
【補足】丸投げです。宜しくお願いします

540:デフォルトの名無しさん
08/07/18 22:14:05
>>537
>正方形が望ましい
uN以外で正方形以外のフレームの作り方教えてくれw

>>539
ちょっとまて、それとあるruby本で同じ問題あったぞw

541:デフォルトの名無しさん
08/07/18 22:18:55
>>540
フレームの形は一般に長方形で、正方形とは限らないのでは?

542:デフォルトの名無しさん
08/07/18 22:19:43
【 課題 】
□実行時に2つの数値を受け取るプログラムを作成しなさい。
□受け取った2つの数値の前1つを「月」、残りの1つを「日」として表示のみさせなさい。
□前出の月・日に対して、その曜日を表示するプログラムを作成しなさい。
【 形態 】1. Javaアプリケーション
【 期限 】7月23日
【 Ver 】1.6.0.06
【 補足 】丸投げです。基本的なことかもしれませんがよろしくお願いします。


543:デフォルトの名無しさん
08/07/18 22:25:39
>>542
どうやって「受け取る」のか、
曜日といっても、何年の曜日なのか・・・

544:デフォルトの名無しさん
08/07/18 22:37:03
>>542
if(args.length != 2)
return;
Calendar c =Calendar.getInstance();
c.set(Calendar.MONTH, Integer.parseInt(args[0])-1);
c.set(Calendar.DAY_OF_MONTH, Integer.parseInt(args[1]));
// c.set(Calendar.YEAR, 2008);
System.out.println("月火水木金土日".charAt(c.get(Calendar.DAY_OF_WEEK)-2));

年は2008(今年でいいのであれば設定の必要なし)、受け取り方はプログラム引数として、と仮定してます。

545:デフォルトの名無しさん
08/07/18 22:44:32
>>544さん、ありがとうございます。
いろいろ説明不足ですみません。


546:デフォルトの名無しさん
08/07/18 22:49:16
【 課題 】
□1から100までの乱数を発生させるプログラムを作成しなさい。
□上で発生させた乱数が50より大きい場合には「BIG」、50以下である場合には「SMALL」と表示させるプログラムを作成しなさい。
【 形態 】1. Javaアプリケーション
【 期限 】7月23日
【 Ver 】1.6.0.06
【 補足 】Math.random()メソッドを利用します。

さっき質問した者です。またお願いします。



547:デフォルトの名無しさん
08/07/18 22:55:49
>>546
double d = Math.random()*100+1;
System.out.println(d>50? "BIG":"SMALL");
これぐらいで躓いてたら・・・まぁいいけど。

548:デフォルトの名無しさん
08/07/18 23:15:01
>>547さん、ありがとうございます。

549:デフォルトの名無しさん
08/07/19 03:43:52
>>509で質問したものです。続きの課題でこけました。よろしくお願いします。

【 課題 】エラーが出るので、原因を考えて修正せよ
URLリンク(rg550.hp.infoseek.co.jp)
(参照?しているAbstractWorldClock.java は完成品)
【list.add(new DigitalWorldClock());】←を消すととりあえずは動くのですが、
表示されるのが全てTokyoになってしまいます。。。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ(だと思います)
【 期限 】日曜日

550:デフォルトの名無しさん
08/07/19 09:51:02
>>549
引数無しのコンストラクタも作ったらいいんじゃね?

551:デフォルトの名無しさん
08/07/19 09:56:31
>>549
AbstractWorldClock.java も up してくれないと、list.add 〜 を消しても
コンパイルできんじゃないかw

552:デフォルトの名無しさん
08/07/19 10:42:21
>>539
for(int i=0; result!=null; ++i) if(music[i].getTitle().equals(songName)) result = music;
if(result == sentinel) return null;
コンパイルしようとしたら手元のは 1.4.2_09 で断念w

553:デフォルトの名無しさん
08/07/19 11:05:51
>>552
シンボルを見つけられません
場所;SequentialSearchSentinelのクラス

if(music[i].getTitle().equals(songName))
  ^
とコンパイルエラーがでてしまうのですがどうすれば良いのでしょうか?

554:デフォルトの名無しさん
08/07/19 11:13:01
>>553
ああ、すまん。
if(music[i] 〜
じゃなくて
if(list[i]〜
か。

555:デフォルトの名無しさん
08/07/19 11:21:44
>>539
for(Music m:list){
if(m.getTitle().equals(songName)){
if(m!=sentinel){
result=m;
}
break;
}
}

556:デフォルトの名無しさん
08/07/19 11:31:24
>>554 >>555

コンパイルできました。ありがとうございます

557:デフォルトの名無しさん
08/07/19 14:12:38
>>554
うひゃあ、まだバグってるじゃん。
result = music;
じゃなくて
result = list[i];
だし・・・ダメだ俺

558:549
08/07/19 14:42:41
>>551
すいません、AbstractWorldClock.javaは↓です;
URLリンク(rg550.hp.infoseek.co.jp)

559:デフォルトの名無しさん
08/07/19 14:53:36
>>558
>>550でなにか不都合でもあるのか?

560:デフォルトの名無しさん
08/07/19 16:45:44
>>549
コンストラクタ DigitalWorldClock(String c, int o) を空実装にすると
AbstractWorldClock の引数なしのコンストラクタが呼ばれる(全部Tokyoになる原因)
AbstractWorldClock の引数ありのコンストラクタで初期化したいのなら
DigitalWorldClock(String c, int o) を空実装にせず super(c, o) を明示的に呼ぶようにする
また引数ありのコンストラクタを定義すると引数なしのコンストラクタは定義されないので
>>550の言うように引数なしのコンストラクタ DigitalWorldClock() を別に定義してやる

561:デフォルトの名無しさん
08/07/19 16:49:07
神IDキター!!

戻97/351:7分74秒[]
2008/07/19(土) 09:37:49 ID:mmPenisP
>現代作曲家が医者並みに社会に必要かどうかすごく疑問なんだが

必要だ。
--- 以下スレ情報 ---
 ¥¥¥ 現代音楽に税金を使うな ¥¥¥  (351)
スレリンク(contemporary板)

562:549
08/07/19 18:45:42
>>550>>580
回答ありがとうございます&すみませんでした;
「引数無しのコンストラクタ」の意味がわかってなかったので、
558に一緒に書きこんだつもりだったのですが書けてなかったようです;
560の説明で、意味がわかりました。


>>560
回答ありがとうございます。
ご説明いただいたことはわかりました!が、
>super(c, o) を明示的に呼ぶようにする
の方法がわかりません…

563:デフォルトの名無しさん
08/07/19 19:03:03

以下のようなコードを実行すると、((ArrayList)getList.get(2)).remove(l);の
ところで、java.lang.ArrayIndexOutOfBoundsException: -1
とコンパイラから注意されます。どうしたらいいか教えていただけませんか?

String findstring=thesaurus;
for(int k=0, l=0 ; k < ((ArrayList)getList.get(2)).size(); k++, l++){
String filename = (String) ((ArrayList)getList.get(2)).get(k);
try{
String line;
BufferedReader reader=new BufferedReader(new FileReader(filename));
while((line=reader.readLine())!=null){
int n=line.indexOf(findstring);
if(n<0){
((ArrayList)getList.get(2)).remove(l);
l--;
}
}
reader.close();
}
}




564:デフォルトの名無しさん
08/07/19 19:25:08
ArrayIndexOutOfBoundsExceptionがコンパイル時に投げられる・・・
お手上げっす(わらい)

565:デフォルトの名無しさん
08/07/19 19:31:43
>>563
質問は質問スレへ

566:デフォルトの名無しさん
08/07/19 19:33:26
【初心者】Java質問・相談スレッド117【歓迎】
スレリンク(tech板)

そもそも、部分だけ書かれても回答が付かないだろ。

567:デフォルトの名無しさん
08/07/19 20:10:22
>>563
まぁ、
最初のファイルに2行以上あって、どの行にも thesaurus の文字列が無かったらどうなるか
ってことだ。

568:デフォルトの名無しさん
08/07/19 21:49:38
562です
自己解決しました。
どうもありがとうございました。

569:431
08/07/20 01:57:41
作成して頂いたプログラムですが、コンパイルと実行に成功しました。
何か変な手順を踏んでいたのかもしれません。
回答ありがとうございます。

>>431の問題5と>>527(>>529で一部訂正)の回答お願いします。

570:デフォルトの名無しさん
08/07/20 16:08:45

【 課題 】立ち上げるとウィンドウが表示され、マウスでクリックするとウィンドウの背景の色が赤青緑でランダムに変わる(同じ色が連続で出る可能性もある)プログラムを作成しなさい。
【 形態 】Appletでもframeでもかまわない
【 期限 】明日まで><。


ごめんなさい丸投げです・・・。
私に救いの手を〜><。

571:デフォルトの名無しさん
08/07/20 17:02:53
>>570
final JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setSize(300,300);
f.addMouseListener(new MouseAdapter(){
Color color[] = new Color[]{
Color.RED,
Color.GREEN,
Color.BLUE
};
public void mouseClicked(MouseEvent e){
f.getContentPane().setBackground(color[(int)(Math.random()*color.length)]);
}
});
f.setVisible(true);

572:570
08/07/20 17:32:03
は、はやい!!
ありがとうございます!!

573:デフォルトの名無しさん
08/07/20 21:08:47
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)/
【 GUI  】不明
【 期限 】7/22 午前9時
【 Ver  】java version "1.6.0_06"
【 補足 】コメントが必要とのことです、よろしくお願いします。


574:デフォルトの名無しさん
08/07/21 13:20:35
【 課題 】
csvに書いてある3択問題を管理するシステムを作る。
1,問題が記されているファイル名はmondai.csvにすること。
2,入力した答えが一致すれば『正解』不一致ならば『正解は〜です。』と出力せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/25まで
【 Ver  】1.6.0
【 補足 】
ようは3択クイズのjavaを組めということらしいです。
ランダムで出題する必要はなく、csvの上から下までの問題を出して終わり、
というものでいいそうです。
丸投げですが、お願いします。

575:デフォルトの名無しさん
08/07/21 17:28:07
問題csvぐらい考えろやw

576:デフォルトの名無しさん
08/07/21 18:11:21
こういう場合に教員が言うCSVって、引用符とか一切考慮していないよね。

577:デフォルトの名無しさん
08/07/21 18:22:07
【 課題 】URLリンク(rg550.hp.infoseek.co.jp)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/23 (水)
【 Ver  】jdk1.6.0_10
【 補足 】丸投げです。一応、概要を書いたんですが、これで大丈夫ですかね?
適当な場所にテキストファイルを作って、readさせる。
enumにあるコマンドを入力することで、いろいろ編集させる。
お願いします。

578:デフォルトの名無しさん
08/07/21 20:08:40
CSVはこれでいいだろ
\G(?:^,|,)(?:"((?>[^"]*+)(?>""[^"]*+)*+)"|([^",]*+))

579:デフォルトの名無しさん
08/07/21 20:36:11
つまり、こうか。>>578
\G(?:^, | ,) (?: "((?>[^"]*+) (?>""[^"]*+)*+)" | ([^",]*+))

先頭が,で始まって、又は、,から始まって、
"で始まって "で終わる文字列か、又は、"と,以外が続く文字列。
"と"の間は、"以外が続いた後、("2個連続を前に置いて、"以外が続く)の繰り返し

580:デフォルトの名無しさん
08/07/21 20:57:00
宿題なら単にカンマをSplitする程度でよくね?

581:デフォルトの名無しさん
08/07/21 21:13:36
>>580
どうせ教員の考えているCSVなんてそれのことだろうけど・・・

582:デフォルトの名無しさん
08/07/22 02:00:14
【 課題 】ラインエディタ作成
【 形態 】1. Javaアプリケーション(main()で開始) 使用しているのはEclipseです
【 期限 】提出期限 7月28日夜まで
【 Ver  】3.2.2 
【 補足 】ラインエディタを作ります
実装される命令と実行例はkadai.txtに書いてあります
穴埋め問題です
○投げでしかも長いのですがよろしくお願いします

URLリンク(rg550.hp.infoseek.co.jp)

583:デフォルトの名無しさん
08/07/22 02:39:37
【 課題 】次のA〜Dを解き、ユーザから与えられた式の値を計算してグラフを描画するプログラムを作成せよ。
      A)中置記法で書かれた数式を後置記法(Reverse Polish Notation)に変換するプログラム
      B)後置記法で書かれた式の値を計算するプログラム
      C) 与えられた数値データのグラフを描くプログラム
      D)mainプログラム
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】25日まで
【 Ver  】1.6.0 
【 補足 】どう工夫したか考察もいるみたいです…
丸投げで申し訳ありませんが、どうかよろしくお願いします。

584:デフォルトの名無しさん
08/07/22 04:10:04
>>574
んで結局こんな感じ?
import java.io.*;
import java.util.*;
public class 三択問題 {
public static void main(String[] args) throws FileNotFoundException {
Scanner 問題 = new Scanner(new File("mondai.csv")).useDelimiter(",|"+System.getProperty("line.separator")+"");
Scanner 回答 = new Scanner(System.in);
while(問題.hasNext()) {
System.out.println("問題: "+問題.next());
System.out.println(" 1. "+問題.next());
System.out.println(" 2. "+問題.next());
System.out.println(" 3. "+問題.next());
System.out.print("正解は?: ");
int 正解 = 問題.nextInt();
if(回答.nextInt() == 正解) {
System.out.println("正解");
} else {
System.out.println("正解は "+正解+" です。");
}
}
問題.close();
}
}
//---- mondai.csv ----
//1+1は?,1,2,3,2
//50音の3番目は?,あ,い,う,3

585:デフォルトの名無しさん
08/07/22 06:40:36
【 課題 】一枚のビットマップ画像を読み込み、任意の位置で左右に2分割し
それぞれ名前をつけて(↓画像参照)保存するプログラムを作成せよ
URLリンク(www.uploda.org)
【 形態 】javaアプレット
【 GUI  】AWTのみ
【 期限 】23日午前
【 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)
【 補足 】すいません、丸投げです 
できるところまでで良いのでお願いします

586:デフォルトの名無しさん
08/07/22 11:14:01
>>585
アプレットってことは無いだろうとおもうので、こんな。
URLリンク(rg550.hp.infoseek.co.jp)

587:デフォルトの名無しさん
08/07/22 20:50:12
TextSS


588:デフォルトの名無しさん
08/07/23 03:30:16
>>582
URLリンク(rg550.hp.infoseek.co.jp)

既に埋めてある部分も直す必要があった。
addf と insertf は仕様が分からんので適当に作った。必要なら直せ。
ついでに、read が2回以上やったときの読み込み行数表示がバグってるが
直せるけども直してない。

589:588
08/07/23 03:39:20
まちがった。
>>582 じゃなくて >>577

590:588
08/07/23 03:44:19
なんだ、>>582>>577 は同じかwww

591:585
08/07/23 07:20:01
>>586
有難うございます 実行してみたところこのようなメッセージが出てしまいました

javax.imageio.IIOException: Can't read input file!
 at javax.imageio.ImageIO.read(Unknown Source)
 at MainFrame.<init>(MainFrame.java:22)
 at MainFrame.main(MainFrame.java:15)

ファイルが見つからないのかと思いましたが同じフォルダに画像ファイルは置いています、
どこがおかしいのでしょうか

592:デフォルトの名無しさん
08/07/23 08:50:24
>>591
src.bmp

593:デフォルトの名無しさん
08/07/23 09:26:33
>>591
ソース内のファイル名の方を調整して欲しい。

594:591
08/07/23 10:12:29
画像ファイルがsrc.bmpという名でも同じエラー文が出てしまいます
画像のサイズとか場所とか・・・関係ありませんよね(場所はclassファイルと同じフォルダです)

595:デフォルトの名無しさん
08/07/23 10:33:44
>>594
src.bmpをおいている位置では?
コマンドプロンプトから起動しているなら、カレントディレクトリを見ているはず。
eclipseから起動なら、.projectがあるディレクトリ。

596:デフォルトの名無しさん
08/07/23 10:34:31
>>594
絶対パスで指定してみるのも。

597:577
08/07/23 11:54:20
>>588-590
すべての動作確認しました。
ありがとうございます。

582が全部なんですけど、さすがに多すぎてやってもらえないだろうと思って
現段階でわからないのを書きました。

598:594
08/07/23 11:56:02
>>595
>>596
m(;__)m大変もうしわけありません、お手数をおかけしました
画像データの名前を「scr.bmp」としていました(正しくはsrc.bmp)馬鹿です、ハイ。
そして実行してみたところうまくいきました、任意の位置で分割できました。
有難うございました

599:デフォルトの名無しさん
08/07/23 15:01:07
>>587
URLリンク(www.vector.co.jp)


600:デフォルトの名無しさん
08/07/23 15:01:39
bmpではなく、jpegやpngで画像分割できると、フリーソフトとして使い勝手があるかもしれない

601:デフォルトの名無しさん
08/07/23 15:05:51
>>600
よく分からんがsrc=ImageIO.read(new File("src.bmp"));のbmpをjpgやpngに変えればいいんじゃないんか
そんな単純な話じゃない? 
d

602:598
08/07/23 15:40:54
プログラムの改良を要求されてしまいました・・・
>>585-586 について

mojiフォルダの中に
moji000.bmp 〜 moji100.bmp からなる101個の画像ファイルがある
これらそれぞれに対し連続して分割処理を施せるように改良せよ
また、分割後の画像ファイルの名を↓このようになるよう改良せよ

例えば moji025.bmp を左右に分割したとき、左の画像を1-025.bmp 右の画像を2-025.bmpとリネーム
(全ての処理後は 1-0.bmp〜1-101.bmp 2-0.bmp〜2-101.bmp ができる)

できるところまでで構いませんので宜しくお願いしますm(__)m

603:デフォルトの名無しさん
08/07/23 21:59:05
>>602
こんなとこかね。
URLリンク(rg550.hp.infoseek.co.jp)

604:574
08/07/23 23:49:35
>>584
ありがとうございました。
それで大丈夫でした。感謝します。

605:602
08/07/24 11:47:24
>>603
このようなコンパイルエラーが出てしまいました。 
自分なりに調べてみたのですが解決方法が分かりません、どのように直せばよいのでしょうか

MainPanel.java:68:メソッドはそのスーパークラスのメソッドをオーバーライドしません。
@Override
 ^
MainPanel.java:77:メソッドはそのスーパークラスのメソッドをオーバーライドしません。
@Override
 ^


606:デフォルトの名無しさん
08/07/24 12:09:26
>>605
手元ではエラーにならないので気にしてなかったけど・・・
@Overrideを取っ払ってください。

607:ヘルプミー
08/07/24 15:00:36
java swing で万年カレンダーを作りたいのですが、まったくわかりません。
誰か助けてください。

608:605
08/07/24 15:04:12
>>606
取っ払ったところコンパイルは成功しましたが、
実行しようとすると 長いエラー(?)メッセージが出てしまいます

C:\WORK>java MainPanel.class
Exception in thread "main" java.lang.NoClassDefFoundError: MainPanel/class
Caused by: java.lang.ClassNotFoundException: MainPanel.class
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

609:デフォルトの名無しさん
08/07/24 15:04:38
【 課題 】
1)四角形(2次元)のクラスを定義し、mainでインスタンスを複数作って面積を求めよ。ただし、クラスの変数には4点(自分で作るかAWTのpointを使ってもよい)か
 8個の実数(点の順序を決めてもよい:簡略も可)、初期化するコンストラクター、面積を求めるメソッドを定義しtoStringメソッドもオーバーライドせよ。
2)円(2次元)のクラスを定義し、上記と同じ実行をせよ。
 ただしフィールド変数は中心点(上記と同じ)を半径とし、コンストラクターは3種類以上をオーバーライドで定義し、すべてでインスタンス化(とくにコピーコンストラクターを使う)して下さい。
3)上位の図形クラスを作り、それを継承して上記2つのクラスを継承、面積を求めるメソッドをオーバーライドしてプリモーフィズムを示すmainを作成して実行せよ。
4)上記2つのクラスのうちどちらかを継承し、フィールド変数に色を加えたクラスを作成し、superを使ったコンストラクター、またこれを配列にすることを試みよ。
【 形態 】Javaアプリケーション
【 期限 】7/28
【 Ver  】java version "1.6.0_06"
【 補足 】丸投げです。よろしくお願いします。

610:デフォルトの名無しさん
08/07/24 15:32:41
>>608
プログラミング以前の問題
javaコマンドを使ったことがないのならまずその使い方を勉強すべきだな
エラーメッセージはMainPanelパッケージのclassクラスがないと言っている

611:デフォルトの名無しさん
08/07/24 15:55:31
>>607
たとえばだな、
:
System.out.println("2008/07/24(木)");
System.out.println("2008/07/25(金)");
System.out.println("2008/07/26(土)");
System.out.println("2008/07/27(日)");
:
というのを一つ一つ手書きで1万行書いておく

612:デフォルトの名無しさん
08/07/24 15:57:07
あ、Swing か。
JTextArea に一万行(ry

613:デフォルトの名無しさん
08/07/24 16:00:27
>>611
それだと万日カレンダーな気がw

>>607
>>1を読んでテンプレを埋めて依頼すればそれなりにレスがあると思うが
それにぐぐればサンプルはウエブ上に結構ある

614:デフォルトの名無しさん
08/07/24 16:00:44
>>607
JXDatePickerじゃだめ?

615:ヘルプミー
08/07/24 16:02:53
明日までなので、さすがに無理っす。orz
void setCalendar(){
int lastDay=cal.getActualMaximum(Calendar.DATE);
int dayOfWeek=cal.get(Calendar.DAY_OF_WEEK);
append(" "+cal.get(Calendar.YEAR)+"年");
append(""+(cal.get(Calendar.MONTH )+1)+"月"+"\n");
append(" Sun Mon tue Wed Thu Fri Sat \n");

for(dayOfWeek=1;dayOfWeek<=7;dayOfWeek++){
append(" ");
}

for(int day=1; day<=31;day++){

// if(day==1){
// append(" ");
// }
if(day>9){
append(" "+day+" ");
}else{
append(" "+day+" ");
}
if((dayOfWeek+day)%8==0){

append("\n");
ここら辺までは書いたんですが、これからどうしていいかまったく分かりません・・・

616:デフォルトの名無しさん
08/07/24 16:03:54
【 課題 】
ディレクトリ階層に含まれる全てのファイルの大きさを合計する
プログラムを作りたい。この場合ディレクトリに含まれるファイルや
子ディレクトリも再帰的に調べなければならない。下記の空欄[1][2]を埋めるべき
Javaプログラムコードを記せ。但しどちらも一行とは限らない。
abstract class Entry{
[1]
}
class Directory extends Entry{
private int entrynum = 0; /*ディレクトリ内の要素数 */
private Entry[] entries = new Entry[10] /* 最大10個 */
public void add(Entry e){ /* ファイルやディレクトリを追加する */
entries[entrynum++] = e;
public int size(){
[2]
}
class File entends Entry{
public int size(){
return ファイルの大きさ;
}

【 形態 】筆記レポート
【 期限 】7/27
【 補足 】丸投げです。よろしくお願いします。

617:デフォルトの名無しさん
08/07/24 16:04:16
>>605
>>585ではバージョン1.6を要求しているのに1.5でコンパイルしようとしていない?
1.6ではインタフェースで求められているメソッドを実装する時に@Overrideを付けてもエラーにならないけれど、
1.5での@Overrideは文字通りスーパークラスのメソッドをオーバーライドしているときだけに付ける。

618:デフォルトの名無しさん
08/07/24 16:04:38
>>609 >>573
実は少しやろうかと思ったのだが、任意の4点からなる四角形の面積を求める式が分からなくて
出来なかった orz

619:デフォルトの名無しさん
08/07/24 16:09:38
>>616
[1]
public int size();
[2]
int size = 0;
for(int i=0;i<entrynum;i++) size+=entries[i].size();
return size;

620:ヘルプミー
08/07/24 16:11:11
  >>614さん
  申し訳ありません。JXDatePickerのこと分からないです。
  >>613さん
  サンプルを見てみたのですが、実力不足で理解できなかったです・・・
【 課題 】万年 カレンダーを作ること
【 形態 】Javaアプリケーション
【 期限 】7/28
【 Ver  】?
【 GUI  】swing
【 補足 】中途半端に作ってますので、やりづらいかもしれませんがよろしくお願いいたします。
どうか一つお力添えをお願いいたします。

621:ヘルプミー
08/07/24 16:16:04
ごめんなさい。期日を間違えましたorz
期日は明日です・・・・

622:デフォルトの名無しさん
08/07/24 16:21:12
>>618
4頂点の座標を辺に沿って順番に(x1,y1)(x2,y2)(x3,y3)(x4,y4)とすると
面積はMath.abs((x4-x2)(y1-y3)-(y4-y2)(x1-x3))/2だったと思う
ということでがんばってくれ

623:608
08/07/24 16:26:05
>>610
何がなんだか分かりませんが使い方が間違っているんですね
ちょっと調べてみます

>>617
何がなんだか・・・素人なのでよく分からないとです

624:デフォルトの名無しさん
08/07/24 16:26:40
>>620
こうだな。
URLリンク(rg550.hp.infoseek.co.jp)

625:デフォルトの名無しさん
08/07/24 16:33:50
>>623
java MainPanel.class
じゃなく、

java MainPanel
だよ・・・

626:デフォルトの名無しさん
08/07/24 16:37:56
>>624
ちょと噴いたw

627:623
08/07/24 16:41:14
>>625
ありがとうございましたorz
長い質問になりましたがこれで完璧だと思います、お世話になりました

628:ヘルプミー
08/07/24 16:45:43
>>624
ありがとうございます。
こんな感じので、なおかつ月と年を変更したら日付も変わるようにしたいのですが
どうしたらいいんでしょうか?
後、日にちが動かないようにするにはどうしたら・・・

629:618
08/07/24 16:48:42
>>622 thx.
がしかし、今は自分ので手一杯だw

630:デフォルトの名無しさん
08/07/24 16:55:46
>>628
やれやれ、若人は万年カレンダーを見たことが無いんじゃないのか・・・
URLリンク(www.kandai.ne.jp)

冗談はさて置き、カレンダーじゃなくて万年カレンダーと言うところは本当に気にしなくて大丈夫なのか?

631:ヘルプミー
08/07/24 17:02:09
>>630
ここ十年くらいの変更ができればいいんですが・・・・
どうしたらいいんでしょうか

632:デフォルトの名無しさん
08/07/24 17:10:24
>>631
>>291このへんか?

633:デフォルトの名無しさん
08/07/24 17:15:10
>>630
確かに本来の万年カレンダーはそういう手動で曜日を合わせるものなんだけど
紙などに年月固定の暦を印刷するカレンダーに対して電子的な手段などで
任意の年月のカレンダーを表示できる可変的なものを万年カレンダーと称しているらしい

>>631
ということで見かけは普通の月単位のカレンダーで
与えられた年と月に合わせて表示するカレンダーの意でいい?

634:ヘルプミー
08/07/24 17:16:01
>>632
こんな感じです。
それの一ヶ月づつので、なおかつ月に応じて1〜31日が変化するようにしたいのですが


635:ヘルプミー
08/07/24 17:27:16
>>633
はい。よろしくお願いします。
万年カレンダーがそんなものだとは知りませんでした。
勉強になりました。ありがとうございます。

636:デフォルトの名無しさん
08/07/24 21:31:02
>>616
どうだろ
[1]
abstract public int size();

[2]
int result =0;
for(Entry e:entries){
result+=e.size();
}
return result;


637:デフォルトの名無しさん
08/07/24 23:21:52
【 課題 】「さんさんのんはさらんさらん」という文字列から「ん」を削除して、「ささのはさらさら」を表示する
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/25まで
【 Ver  】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》
【 補足 】「ん」って文字列を空白で置換、だと「さ さ の はさら さら 」になっちゃうし…
ごめんなさい丸投げです。文字ってけっこう難しいです…

638:デフォルトの名無しさん
08/07/24 23:36:10
String#replaceAll("ん","");
でいいんじゃないの?

639:デフォルトの名無しさん
08/07/24 23:48:30
>>638
難しく考えていました。わー恥ずかしい。
ありがとうございました。

640:デフォルトの名無しさん
08/07/25 01:13:04
>>620
URLリンク(sourcepost.sytes.net)

641:ヘルプミー
08/07/25 08:17:52
>>640
おお!ありがとうございます〜<(--)>
おかげで単位落とさずに済みました。
感謝いたしております。

642:デフォルトの名無しさん
08/07/25 18:33:03
すいません、明日課題提出なんですけど、プログラムは全然理解できませんでした(´・ω・`)ので、教えて下さい

課題は「授業で習った範囲でプログラムを組み、゛どの部分がどのような処理をするのか゛を説明せよ」というものです。
自分のは授業でやったプログラムのほぼまる写しです。ちなみに、プログラムは↓のとおりです


import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class P1202 extends Applet implements MouseListener {
  int x[] = new int[5]; // x 座標
  int y[] = new int[5]; // y 座標
  Image back; // 背景画像
  Image img; // 顔画像
  int n = 0;
  int p = 0;
  // 初期化処理
public void init() {
  back = getImage(getCodeBase(),"kakutelu.jpg");
  img = getImage(getCodeBase(), "bakuretu01.gif");
  addMouseListener(this);
  }

長いので、二つに分けます


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5390日前に更新/381 KB
担当:undef