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

このエントリーをはてなブックマークに追加
1JavaScriptは板違い、Web制作板をご利用ください
【質問者へ】
回答者の便宜のため、以下の注意事項を遵守してください。
・質問は【課題提示用テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
・JavaScriptは板違い、Web制作板をご利用ください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・回答されたら動作報告を必ずしてください。
・課題文が長い時、添付ファイルがある時はこちらのアップローダーを使うと便利です。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm

【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます。 《必須》
【 形態 】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  ttp://www.wikiroom.com/java/
ソースポストネット  ttp://sourcepost.sytes.net/
ろだ2  ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm

【前スレ】
http://pc11.2ch.net/test/read.cgi/tech/1196543694/
2デフォルトの名無しさん:2008/05/30(金) 03:52:01
>>1
乙なのだわ
3デフォルトの名無しさん:2008/05/30(金) 04:05:44
前スレ期限切れでない未回答分(05/30 04:00現在)
見落としがあったら補完をお願いするのだわ

05/31 夜   >922-929,>934,>983
05/31     >993
06/06 23:59 >974
4デフォルトの名無しさん:2008/05/30(金) 12:20:39
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】5月29日
【 Ver  】1.4.1
【 補足 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/260.txt
      がプログラムリストです。
      丸投げですので、是非教えて下さい
5デフォルトの名無しさん:2008/05/30(金) 12:21:25
【課題】http://cgex.cis.k.hosei.ac.jp/wiki2/wiki.cgi?page=%C2%E86%B2%F3%B2%DD%C2%EA
【形態】Applet
【期限】6月6日 23:59
【Ver】1.5.0
【補足】これは第6回課題なのですが、第5回課題からの続きになっています。
ページ左上の方にリンクがあるので、そちらから第5回課題の方も参照していただければと思います。
ちなみに、第5回の課題はできており、色のグラデーションの出し方が分かりませんorz
よろしくお願いしますm(_ _)m
6デフォルトの名無しさん:2008/05/30(金) 12:21:59
【 課題 】Link Queue classを書き換えて、以下のように出力されるリンクつきリストの待ち行列を作りなさい。
(実際に出力されるのはQueue (front-->rear);からです)

Queue (front-->rear);10 20 30 40 50 60 70
-60→Queue (front-->rear);10 20 30 40 50 70
+15→Queue (front-->rear);10 15 20 30 40 50 70
-10→Queue (front-->rear);15 20 30 40 50 70
+35→Queue (front-->rear);15 20 30 35 40 50 70
-30→Queue (front-->rear);15 20 35 40 50 70
-15→Queue (front-->rear);20 35 40 50 70
-50→Queue (front-->rear);20 35 40 70
-35→Queue (front-->rear);20 40 70
-70→Queue (front-->rear);20 40
-40→Queue (front-->rear);20
-20→Queue (front-->rear);null


また、+はinsert,-はdeleteになります。


【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 ] 5/31
【 Ver  】3.2.2
【 補足 】はじめに実行すると、Queue (front-->rear);10 20 30 40 50 60 70 
という結果がでてきます。
また、以下に使用する4つのクラスが入っております。○投げですがお願いします。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm

266.lzh
7デフォルトの名無しさん:2008/05/30(金) 12:27:21
全スレより課題コピー

5/31夜 >>4
5/31  >>6
6/6  >>5


何か少ないな
8デフォルトの名無しさん:2008/05/30(金) 15:31:44
>>4
締め切りは06/08 23:00(日曜日)だぞ
某環境大学の学生クン
9デフォルトの名無しさん:2008/05/30(金) 18:48:12
【 課題 】
(1)(No0711Main.java内の)main文内で乱数を使って,10以下のintを発生.発生したint分だけdouble値を発生させ
配列に格納する.No0711.javaにそのint,配列を送信して平均値を求め,それを表示するプログラムを書け.
(2)(No0712Main.java内の)main文内で{1, 2, 3}の乱数を2つ発生させる.0は「グー」,1は「パー」,2は「チョキ」.
No0712.javaに0,1,2を送信して勝った場合には1,引き分けなら2,負けなら3を返すプログラムを書け.
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】5/31 19:00
【 Ver  】java version "1.6.0-oem"
【 補足 】丸投げですみません,クラスやメソッドなどが難しくて・・・よろしくお願いします.
10デフォルトの名無しさん:2008/05/31(土) 01:20:38
>>4
大学の科目見たけど、マジ代わって欲しい。
かわりに単位あげるから。
11デフォルトの名無しさん:2008/05/31(土) 03:47:42
>>9
「送信」の通信方法は何を使うの?

(1)のNo0711Mainは配列を発信するクラスで、
 No0711は配列を受け取り、平均を計算し、表示までするクラス、と考えればいいのかな?
 それともNo0711は平均値計算に特化して、表示はNo0711Main側?
(2)で発生させる乱数は本当は1,2,3なの?0,1,2なの?
 No0712Mainで作った2つの乱数をNo0712が受け取ったとしても、
 引き分けはいいとして勝ち負けは何を基準とする勝ち負けなの?
 例えば先に送信した方から見た勝敗のように適当に決めていいということ?
 2つのNo0712Mainが1つの乱数を送信して、それぞれに勝敗を返すのなら問題ないけれど。

それともメソッド呼び出しはそのオブジェクトへのメッセージ送信であるって文脈での「送信」で、
送信するとは普通のメソッド呼び出しを意味するの?
12デフォルトの名無しさん:2008/05/31(土) 08:13:09
>>11
(1)
はい,表示はMain側でお願いします.
他もそう考えていただいて大丈夫だと思います.
(2)
すみません,書き間違えてました.
発生させる乱数は{0,1,2}の方です.
勝敗の判断は先に送信した方から見た判断だと思います.

はい,送信する=メソッド呼び出しだと思います.
昨日初めてメソッドやクラスを習ったばかりですから・・・
よろしくお願いします.
13デフォルトの名無しさん:2008/05/31(土) 10:48:34
14デフォルトの名無しさん:2008/05/31(土) 13:53:00
【 課題 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/267.txt
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6月3日(火曜日)
【 Ver  】java version "1.5.0_05"
【 補足 】どうかお願いします。
15デフォルトの名無しさん:2008/05/31(土) 17:12:53
>>13
ありがとうございました!
16デフォルトの名無しさん:2008/06/01(日) 04:53:38
17デフォルトの名無しさん:2008/06/01(日) 13:14:38
>>16
ありがとうございます><
18デフォルトの名無しさん:2008/06/01(日) 14:31:13
【 課題 】数nを入力し(IO.in.readInt)、幅 n で高さ n の以下のような直角三角形を2つ並べて画面に表示するプログラムを書け (逆向きの三角形はダメ)。
これは n が5の場合の例。

S
SS
SSS
SSSS
SSSSS
S
SS
SSS
SSSS
SSSSS

【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6月4日(水曜日)
【 Ver  】1.5.0
【 補足 】よろしくお願いします。丸投げですみません。
19デフォルトの名無しさん:2008/06/01(日) 19:04:51
> 18
これって直角三角形じゃなくて二等辺三角形では?
IO.in.readInt もシラネ
20デフォルトの名無しさん:2008/06/01(日) 19:11:24
あ、見た目に惑わされてしまった…orz
等幅フォントで見たら直角三角形だった。
しかもアンカミスってるし…
21デフォルトの名無しさん:2008/06/01(日) 19:53:48
22924:2008/06/01(日) 20:04:35
>>8
そうだったな。
僕〆切日が土曜の夜かと思ったのに、勘違いしてしまった
23デフォルトの名無しさん:2008/06/01(日) 20:28:22
>>19-20
等幅フォントでなくても直角三角形です。
二等辺三角形ではありません。

逆に等幅フォントにすれば直角二等辺三角形になるかと
24デフォルトの名無しさん:2008/06/01(日) 20:59:35
>>18
なんかその問題、数年前から出てるね。「"幅 n で高さ n の"」とかでぐぐった。
ちなみに漏れのブラウザでは空白が全部つぶれて左肩上がりですが何か
>>21
java.io.BufferedReaderはimportしなくていいんだっけ?コンパイルしてないけど
25デフォルトの名無しさん:2008/06/01(日) 22:04:18
独自パッケージを使用することによって
初心者にとって煩雑な入出力を簡単にするとともに
余所の人に代わりに解答してもらったり
ネットその他からプログラムを丸写ししにくくする狙い
このスレで散々見た某大の ioTools もその類
26デフォルトの名無しさん:2008/06/01(日) 23:10:46
独自ライブラリを使用する課題でも少なくとも依頼者の手元にはあるわけだから、
標準APIのクラスでないものを使っている場合はそれも課題とともに提示するか、
正規に動作チェックはできなくなるが最低限ライブラリの仕様を示していれば、
回答率は減るかもしれないけれど何とかしてくれるかもしれない。
依頼者は標準APIのドキュメントのパッケージとクラスのリストを検索して、
課題の中で標準でないものを使用しているようなら、
それについての情報を示さないといけないかどうかの判断をした方がいい。
2721:2008/06/02(月) 00:53:23
>>24
BufferedReaderのimportは必要です。
うpする直前にpackage指定を消したんだけど、
その時に間違えてimportも消してしまったようです。
スマソ
28デフォルトの名無しさん:2008/06/02(月) 18:11:03
【 課題 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/269.txt
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】6月16日
【 Ver  】1.7.0
【 補足 】よろしくお願いします
29デフォルトの名無しさん:2008/06/02(月) 23:11:52
>>28
「勝ち負けの得点」の定義が見当たらないんだけど
勝者に1点加算してあげれば良いのかな?
30デフォルトの名無しさん:2008/06/02(月) 23:27:22
early access版はあるけどバージョンは1.7.0じゃないな
31デフォルトの名無しさん:2008/06/03(火) 00:00:03
>>28
PlayerさんとTFTPlayerさんで勝負させると
2回目以降、ずっとアイコになって無限ループにはまるwww
アイコも1戦としてカウントして良いってことか…
32デフォルトの名無しさん:2008/06/03(火) 04:46:09
>>29
>>31
確認してきました
記載されていない部分は各自が決めるそうです
説明不足で申し訳ないです
33デフォルトの名無しさん:2008/06/03(火) 08:55:14
【 課題 】ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/270.txt
【 形態 】1. Javaアプリケーション(main()で開始)/
【 GUI  】不明
【 期限 】080605
【 Ver  】java version "1.6.0_05"
すいませんが丸投げです。
おねがいします。
34デフォルトの名無しさん:2008/06/03(火) 16:36:49

【 課題 】

(問1) 面積[ 16733.06cu]を3.14を使いプログラミングで求めろ

(問2) プログラミングで20回の乱数を求めろ

(問3) 学生3人の英語、数学、国語、理科、社会の平均点と学生3人の平均点を
      "配列"で求めろ 


【 形態 】1. Javaアプリケーション(main()で開始)

【 GUI  】不明

【 期限 】明日、午前。

【 Ver  】java version "1.6.0_05"

【 用語 】ありません。

【 補足 】Javaエクリプスを使用しています。
      ご教授の方、どうかお願い致します。
35デフォルトの名無しさん:2008/06/03(火) 16:59:55
【 課題 】(1)3つのクラスを使って衝突が何番目のデータで起こるかテストせよ。
(2)hash.javaを2次ハッシュ関数hi(x)=h(x)+(i-1)^2を使って(1)を行え。

【 形態 】1. Javaアプリケーション(main()で開始)

【 期限 】6/5
【 Ver  】1.5.0_05

【 補足 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm
271.zipにクラスが入ってます。丸投げです。
36デフォルトの名無しさん:2008/06/03(火) 21:06:05
>>28
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/272.zip

※ (5)上級者用追加問題 は無視してます。誰かよろ。
37デフォルトの名無しさん:2008/06/04(水) 00:01:30
>>34
別に非難する訳じゃないけど、題意が不明瞭だね。
(問1)は、面積××の円(円盤)の半径を求めよってこと?そうするとほぼ整数になるからそれっぽいけど。
(問2)は乱数の範囲とかがないので不明。
(問3)は、学生ごとの全教科の平均点、教科ごとの全学生の平均点をそれぞれ求めよ、てこと?
38デフォルトの名無しさん:2008/06/04(水) 07:16:08
【 課題 】立方体(直方体)のそれぞれの面にテキスチャをマッピングし、平面上に立方体を置き影を平面に投影せよ。照明モデルはPhongでよい。
【 形態 】Applet
【 期限 】6/6(金)
【 Ver  】1.5.0
【 補足 】よろしくお願いします

3928:2008/06/04(水) 08:28:59
>>36
ありがとうございました
40デフォルトの名無しさん:2008/06/04(水) 17:46:42
【 課題 】正の整数Nを入力して、縦N個×横N個の”*”から成る正方形を表示させよ。
左上から右下への対角線を“@”で示すように変更せよ。
例:java DrawSquare
  1辺の*の個数:4
  @***
  *@**
  **@*
  ***@
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】6月7日
【 Ver  】1.4.1
【 補足 】妙な課題ですいません、お願いします
41デフォルトの名無しさん:2008/06/04(水) 18:41:46
for(int i=0;i<N;i++){
for(int j=0;j<N;j++){
if(i==j){
System.out.println("@");
}else{
System.out.print("*");
}
}
System.out.println();
}
こんな感じでいいんでね?
42デフォルトの名無しさん:2008/06/04(水) 18:42:19
すまんーi==jのところprintlnじゃなくてprintで!
43デフォルトの名無しさん:2008/06/04(水) 22:32:29
>>35
この3つのクラス。
無限ループに陥ったりとか、
何番目に衝突したか検出できなかったりとか
問題点があるんだけど、作り替えて良いのかな?

>>33,38
この短期間では、俺には無理っぽ。
44デフォルトの名無しさん:2008/06/04(水) 23:50:11
>>40 入力して、の所
public static void main(String[] args) throws IOException {
InputStreamReader in = new InputStreamReader(System.in);
BufferedReader b = new BufferedReader(in);
String str = null;
byte N = 0;

System.out.print("IN:");
str = b.readLine();
b.close();
in.close();
try {
N = Byte.parseByte(str);
} catch (NumberFormatException e) {
System.out.println("整数ではありません");
return;
}
45デフォルトの名無しさん:2008/06/05(木) 14:01:48
>>44
できました!ありがとうございました
46デフォルトの名無しさん:2008/06/06(金) 18:16:17
【 課題 】一つ目
• 以下のプログラムを作成
  • 以下の数列を0〜99まで表示
  • 数列は以下の通りとする
  • a[0] = 1.5, a[1] = 2.0, a[2] = 3.0
  • a[n] = (-1 × a[n-1]) + a[n-2] + a[n-3]
    • プログラムを実行するとa[0]〜a[99]までの値が改
   行区切りで表示されること

      2つ目
  • 以下のプログラムを作成
  • キーボードから整数値を読み込み、入力された整数
  値が素数であるか判定する
  • 以下のとおり表示する
  • 入力値が素数の場合”prime number”
  • 入力値が素数以外の場合”not prime number”
      
3つ目
      • 以下のプログラムを作成
  • 3x3マスのマルバツゲームのボードを作成
  • ○側と×側が交互に2次元座標上の位置を入力
  • 入力後、毎回ボードを表示する
  • たて、よこ、斜めのいずれかに○か×が3つ並んだ
   時点でプログラムを終了
  • マスが埋まった場合もプログラムを終了
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6月12日
【 Ver  】1.6.0 05
【 補足 】問題数が多いですが、どうかよろしくお願いしますm(_ _)m
47デフォルトの名無しさん:2008/06/07(土) 09:18:45
【 課題 】 球体あるいは円柱にテキスチャ-をマッピングし、BRDFあるいはCook−Torranceモデルで描画せよ。テキスチャーパターン、光源、視点は任意。光源は移動できるようにする。
【 形態 】Applet
【 期限 】7/7(月)
【 Ver  】1.5.0
【 補足 】丸投げになってしまいますが、よろしくお願いします!
48デフォルトの名無しさん:2008/06/07(土) 21:23:32
>>46
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/275.zip

課題1はもっとスマートな方法がありそうだけど。。
動作確認よろ。
49デフォルトの名無しさん:2008/06/07(土) 22:37:54
>>48氏、ありがとうございます

今はちょっと無理なのですが、月曜日になれば動作確認ができますので
確認後の報告後もよろしくお願いします

もしありましたらなのですが、1のスマートな方法をよろしくお願いしますm(_ _)m
50デフォルトの名無しさん:2008/06/07(土) 22:38:51
すみません
文が変になってしまいました・・・

3行目の最初の部分は「確認の報告後」でした。たびたびすみません
51デフォルトの名無しさん:2008/06/08(日) 00:20:52
>>46ですが
最大の補足を忘れていました…

すみませんが大学2年クオリティでお願いします
たびたびすみませんorz
52デフォルトの名無しさん:2008/06/08(日) 02:46:48
条件後出しというのは置いておいても、大学2年クオリティって何なんだろう?
大学2年で受ける講義内容だけで作成できるものということか。
それなら大学、学部、講師によって全く異なるだろう。
自分の環境が普遍的なものだという勘違いは直したほうがいい。
どんなテキストを使用してどこまで学習済みかをここで明確にしないとそんな依頼には何の意味もない。
でも自分が受けた講義内容をきちんと把握できている人間ならこんな所へ投げたりしないだろうけどね。
53デフォルトの名無しさん:2008/06/08(日) 03:06:41
>>51
動作確認してません、大学2年クオリティでってなんだろねw
さすがゆとりだねw
54デフォルトの名無しさん:2008/06/08(日) 03:11:24
大学2年クオリティてw
55デフォルトの名無しさん:2008/06/08(日) 05:38:47
中三で習う内容が入ってくるとまずいんですとか
56デフォルトの名無しさん:2008/06/08(日) 07:23:34
まあ、そのくらい無理な頼みってことだなw
57デフォルトの名無しさん:2008/06/08(日) 16:41:32
テキストファイルに
5
4
12
89
1
9 とあって、それをソートして

1
4
5
9
12
89

とする方法を教えてください。よろしくお願いします

テキストファイルを読み込む、書き込むことはできます。
ソートの仕方がわかりません。
58デフォルトの名無しさん:2008/06/08(日) 16:53:55
数字に変換して配列にしてArrays#sort、もしくは動的に行きたいならTreeSet使う。
59デフォルトの名無しさん:2008/06/08(日) 17:13:10
>>51
クオリティは知らんが、高専の5年てことだ。出題範囲が広すぎ、答えは問3だけでいい。
問2でルートくらい計算しろよってこと。JavaScriptだ。
ttp://www.geisya.or.jp/~mwm48961/math/m3prime2.htm#dentaku
60デフォルトの名無しさん:2008/06/08(日) 17:59:38
ここでいいのかわからないんですが・・・
javaとpostscriptの連携?のようなことがまったくわからない状況で課題がだされました。

【課題】
【 課題 】 @木構造を描画するプログラムを作成する。
・出力形式は、PSでもAAでもOK。
         ・仕様は適宜拡張すること。
         ・木構造を記述する入力ファイルの形式を定義(説明)する。

        A空な2分探索木にキーを挿入するプログラムを作成する。
          ・キーE,AS,Y,Q,U,T,I,O,Nをこの順に挿入した結果を上で定義した形式で出力する。
          ・上で作成したプログラムで描画する。

【 形態 】javaとpostscriptを使って書く。Eclipseを用いています。
【 GUI  】とくにもとめられていませんが、postscriptで木を書けるようにしなければなりません。
【 期限 】期限は今週の日曜まで
【 補足 】2分木を挿入するプログラムをjavaでは作れます(というか、本を見ればという意味で9
      それをpostscriptとどうやって連携するのかがまったく不明です。
      postscript自体がよくわかりません。参考ページ、http://halt9000.hp.infoseek.co.jp/pos

なるべくなら、ソースがほしいですが、ヒントや参考ページ、考え方、似たサンプルなど
なんでもいいので教えてください。
      
6160:2008/06/08(日) 18:07:17
>>60に補足です。

javaプログラミングを初めて、2か月のクオリティでお願いします。

現在木構造とか、キューとか自分でなんとか書けるかなー
というレベルです。
62デフォルトの名無しさん:2008/06/08(日) 18:25:59
>>60 【 補足 】が途中で消えてます。
6360:2008/06/08(日) 18:56:02
>>62
すいません。

ここでいいのかわからないんですが・・・
javaとpostscriptの連携?のようなことがまったくわからない状況で課題がだされました。

【課題】
【 課題 】 @木構造を描画するプログラムを作成する。
・出力形式は、PSでもAAでもOK。
         ・仕様は適宜拡張すること。
         ・木構造を記述する入力ファイルの形式を定義(説明)する。

        A空な2分探索木にキーを挿入するプログラムを作成する。
          ・キーE,AS,Y,Q,U,T,I,O,Nをこの順に挿入した結果を上で定義した形式で出力する。
          ・上で作成したプログラムで描画する。

【 形態 】javaとpostscriptを使って書く。Eclipseを用いています。
【 GUI  】とくにもとめられていませんが、postscriptで木を書けるようにしなければなりません。
【 期限 】期限は今週の日曜まで
【 補足 】2分木を挿入するプログラムをjavaでは作れます(というか、本を見ればという意味で9
      それをpostscriptとどうやって連携するのかがまったく不明です。
      postscript自体がよくわかりまん。
      参考にしたページとして、http://halt9000.hp.infoseek.co.jp/posが
      ありますが、まったく理解できてないです・・なるべくなら、ソースがほしいですが、ヒントや参考ページ、考え方、似たサンプルなど
      なんでもいいので教えてください。
6460:2008/06/09(月) 00:19:51
ふたたび60です。

たぶんなんですけど、どういうやり方でもいいから
とにかく、木構造を描画して、それをどう経由してもいいからpsに
しあげればいいんだと思います・・

すいません、よくわかってなくて・・

6551:2008/06/09(月) 00:31:04
うおっ!今見たら
かなり誤解を招いた書き方になっていました
見事な誤爆をしてしまいましたorz

「JAVAをならって2か月のクオリティ」が…
見事な誤爆ですみません
動作確認も月曜日の昼ごろまでできない状況というのが
誤解を招いてしまって…

講義は理解しようとして
課題もいろいろと試行錯誤しているのですが
なかなかうまくいかないもので…

言い訳ばかりですみません
66デフォルトの名無しさん:2008/06/09(月) 00:40:57
墓穴掘りまくり・・・もうやってくれる人いないだろうね。
というか十分過ぎる回答すでに得てるわけだし。
6760:2008/06/09(月) 00:47:01
60です。
ごめんなさい、本当に連投で・・
急いでいます。まじで助けてください・・・

http://www1.doshisha.ac.jp/~jmizushi/ps.html
のアドレスに、PS.javaというファイルがあります。

そこに書かれているように、
.psファイルにどんどん、printlnで書きこんでいけばいいのでしょうか?

で、探索木を挿入したり、作ったりするときに
毎回そのファイルに、やり直したものを入力していけばいいのでしょうか?

たとえ、そうでもできる自信がないっす・・・


68デフォルトの名無しさん:2008/06/09(月) 01:05:45
>>66
すみません…orz
6959:2008/06/09(月) 04:12:49
>>60 C notC++だけどJavaにすれば使える。課題@は超ムズ
>・木構造を記述する入力ファイルの形式を定義(説明)する。
printf("L+");dump(node->left);printf("L-");
printf("R+");dump(node->right);printf("R-");

ttp://bal4u.dip.jp/mt/program/archives/2004/09/qtbinarytree.html
70デフォルトの名無しさん:2008/06/09(月) 07:04:17
>>67
(PostScriptの組み方は勉強するしかないとして)
ファイルにテキストを書き出す方法がわからないってこと?
別にSystem.outに流してもいいんじゃない。標準出力をファイルにリダイレクトする発想がなきゃダメだけど。

ところで
> ・出力形式は、PSでもAAでもOK。
AAってASCII art?ならPostScriptいらないんじゃない?
あるいはAdobe Acrobatとか?(そんな略し方知らないし、どうするのかも知らないけど)

PostScriptについては今数秒ぐぐってこんなのを発見した。けっこう丁寧っぽく見えるけど
http://www.phys.cs.is.nagoya-u.ac.jp/~watanabe/ps/index.html
71デフォルトの名無しさん:2008/06/09(月) 09:04:45
> それをpostscriptとどうやって連携するのかがまったく不明です。

まず、PostScriptファイルを表示したり印刷したりはできるんだよね?
7260:2008/06/09(月) 10:47:58
60です。

返信ありがとうございます。
僕はjavaしか使ったことがないです。
本に書かれてあるようなスタックやキュー、文字探索程度なら
勉強はしましたが、それ以上はわかりません・・・
ファイルを出力したり、ファイルを生成したり・・ということが
僕が持っている本にはまったく書かれてないです。


>>69
すいません。Cまったく読めません。
ホームページを見ましたが、これは課題2のほうのことでしょうか?
もし、課題1のことならjavaで説明していただけないでしょうか?
postscriptなどとどこかで連携しているのでしょうか?
本当に初心者でごめんなさい・・・
7360:2008/06/09(月) 10:48:20
60です。

>>70
ファイルにテキストを書き出す方法がわかりません。
あと、標準出力をファイルにリダイレクトする方法もわかってないです・・
なにかのファイルに、コードを書き込むということでしょうか?
unixのように・・

system.outの明確な定義もわかってないです。
system.out.printlnくらいはわかりますが・・・

テキストにpostscriptのコードを流して、それを何らかの方法でps拡張子に
変えればいいのかなと勝手に想像しただけです・・・・

あと、AAは僕もよくわかりませんが、たぶんASCII artだと思います。
ただし、AAは2chのイメージしかなくて、javaプログラミングで簡単にできるのですか?

>>71
表示できる環境はぐぐって、なんとか構築してあります。

よろしくおねがいします。
74デフォルトの名無しさん:2008/06/09(月) 11:45:23
>>67
たぶんね、問題の中の「描画する」という言葉が変で、混乱してるんだと思う。
もし「出力形式は、PS」ということなら、厳密に言えば「描画する」というより
「描画するPostScriptプログラム(〜描画命令の羅列)を出力する」ということになるよね。
まあアスキーアート(文字の組合せでそれらしく作図する?)なら、描画するといってもいいか。

PostScriptファイルを表示するプログラムを、わざわざJavaから呼び出すとか、
そんな面倒な問題だとはちょっと思えないな。
リダイレクトとかパイプとかファイル操作とかをしなければ、
木を作るAから木を描画(PostScript化?)する@へのデータの受け渡しもできなくない?
そのへんの知識は前提にしているように読める。

そこがはっきりしないとアドバイスも難しいんじゃないかなー
75デフォルトの名無しさん:2008/06/09(月) 12:07:10
60です。
あまり@とAの境目は気にしなくていいようです。
とにかく、JAVAを使って、木構造が描画できればそれでいいようです。
postscriptでなくてもいいけど、postscriptがおすすめだということです。
最終的に、PDFで提出です。

>>74
えっと
どういうやり方でもいいから、
とにかく木構造のプログラミングと
POSTSCRIPT等で、描画できて
最終的にPDFで提出できればそれでいいといわれています。

まとめると、木を視覚的にせよってことだとで
ファイル操作やリダイレクトなどもオッケーだと思います。
むしろ、そうするんだと思います。・・・

よろしくお願いします・・・・
76デフォルトの名無しさん:2008/06/09(月) 12:15:38
【 課題 】100 以下の乱数を 100 個作成し、「 50 以上の個数」、「 49 以下の個数」、
「3の倍個数」と平均値(浮動小数)を表示するプログラムを作成せよ。
【 形態 】1. Javaアプリケーション
【 期限 】6月10日
【 補足 】一番わからないところは50以上の個数等の個数の表示の仕方です。
      ご回答の方よろしくお願いします。

77デフォルトの名無しさん:2008/06/09(月) 12:19:29
>>60
それが手段の一つということだから普通にswingでやっちゃっていんじゃね? そういうモデル書いてjtreeでいっぱつかと。
78デフォルトの名無しさん:2008/06/09(月) 12:24:44
今日>>48氏からいただいた方法で
「kadai2」をやってみたのですが
下記の表示が・・・

$ java.exe kadai2.java
java.lang.NoClassDefFoundError: kadai2/java
Caused by: java.lang.ClassNotFoundException: kadai2.java
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Exception in thread "main"

これは・・・何でしょうか・・・
すみませんがどなたか教えてくださいませ
7978:2008/06/09(月) 12:27:36
連投すみません
「kadai3」もやってみたんですが
同じような表示が・・・

自分でもいろいろと直してみます
80デフォルトの名無しさん:2008/06/09(月) 13:09:38
>>77
jtreeだと、木のようになっていないので、よくわからないんですけど。
課題は、参考書にのっているような、2分木を画像として
出力するようにしろっていってるので・・
81デフォルトの名無しさん:2008/06/09(月) 13:15:45
>>75
標準入力・標準出力を使えばたしかにプログラムは簡単になるだろうけど、
実行するときのコマンドが理解できないとレポート書けなさそうだねw

OSが何かしらないけど、そこは避けられないでしょうどうしたって
ttp://vipprog.net/wiki/how_to_cmd.html#sa63c7a4
82デフォルトの名無しさん:2008/06/09(月) 13:18:43
>>81
unixの標準出力とかなら、すこしはわかります。
windowsでもできるのですか?
83デフォルトの名無しさん:2008/06/09(月) 13:20:06
"Windows XP" コマンドプロンプト
8460:2008/06/09(月) 13:27:47
>>83
ということは、postscriptのコードをテキストファイルにjavaで埋め込む。
そのテキストファイルをコマンドプロントで、ps拡張子に
変えればいいということですか?
85デフォルトの名無しさん:2008/06/09(月) 13:42:43
【 課題 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/276.txt
【 形態 】1. Javaアプリケーション
【 期限 】6月22日
【 補足 】問題は【課題】にあるURLにあります。
      丸投げです。是非教えて下さい。
86デフォルトの名無しさん:2008/06/09(月) 13:43:03
拡張子を「変える」というのはちょっとわからないけど、

 java Aのクラス名 | java @のクラス名 > 図のファイル名.ps

例えばこんなコマンドになるんじゃないかと想定してるんだけど
87デフォルトの名無しさん:2008/06/09(月) 13:47:26
>>78
>$ java.exe kadai2.java
コンパイルせずにjavaファイルを直接実行かよ
あとファイル名の大文字小文字も
8860:2008/06/09(月) 13:55:36
60です。

>>86
なるほど・・・
なんとなく見えてきました・・・・・
ありがとうございました。

けど、コードが書けるんだろうか・・・
ってか書けない・・・
どうしよう・・・
89デフォルトの名無しさん:2008/06/09(月) 14:06:18
Java PostScript System.out site:ac.jp
とか、色々でてきそうだけどな
標準入力とかは
http://www1.doshisha.ac.jp/~jmizushi/ps/Java.pdf
にも説明があるっぽいし
90デフォルトの名無しさん:2008/06/09(月) 14:22:36
>>89
ありがとうございます。

このようなもので
なにか参考となるソースコードはないですか?
91デフォルトの名無しさん:2008/06/09(月) 14:49:23
92デフォルトの名無しさん:2008/06/09(月) 15:17:01
PostScriptをSystem.out.printlnすればよさそうだというところまでわかれば、
あとはPostScriptの問題だし。

座標計算については、JavaのGraphicsを使った例でも探せば?
http://kaz.cyteen.nagoya-bunri.ac.jp/advprog2/recursive.html
http://kaz.cyteen.nagoya-bunri.ac.jp/advprog2/image7.jpg
93デフォルトの名無しさん:2008/06/09(月) 17:10:05
>>87
あっ、言われて気づきました(汗
ちょっと直してきます
ご指摘どうもです
9459:2008/06/09(月) 17:41:52
そんな礼はいらん。
>>72
そうです、課題Aの方です。
まず課題Aをやって、出力フォーマットが見えてきてから、
フォーマットのレポート書いて、次に
そのファイルを課題@の入力フォーマットとするといいと思う。
java Kadai2 | java Kadai1 >sample.ps
課題Aの方が簡単で早く終わるからという事もある。
そんなに便利ならjtreeがPSファイルを出力できるのか?
同志社大学のホームページが課題@のソースプログラムとして使えると思う。
但しクラスとして。
95デフォルトの名無しさん:2008/06/09(月) 17:42:48
【 課題 】
(1).3×3の行列が2つある時、これら2つの行列の掛け算を求めるプログラムを
スレッドを用いて実現せよ。
 @各要素の計算は他の要素の計算を待たずに計算できる。
 Aその各要素の計算をスレッドを用いて行う。
 (スレッド毎に計算結果(要素の位置とその値)を標準出力に出す)

(2).(1)に加えて以下の機能を実現せよ。
 @n×nの正方行列の要素数nをコマンド入力にする。
 A行列の値をファイル入力にする。(Input.txt)
 B行列の各要素の計算結果を保存する。
 C全てのスレッドが終了後に行列の各要素の値を出力する。
 D2種類以上の要素数の行列で結果を確認する。

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】6月11日中
【 Ver  】java version "1.6.0_05"

細かな条件が多い問題ですが、よろしくお願いいたします。
96デフォルトの名無しさん:2008/06/09(月) 20:31:35
問題の意味すらわかんねwwwwやヴぁいなおれww
97デフォルトの名無しさん:2008/06/09(月) 20:56:05
【 課題 】三角形にテクスチャをマッピングする。
三角形は2次元あるいは3次元いずれでもよい。
テキスチャは任意のパターンでよい。
テキスチャが正しくマッピングされていることを確認するため、スクロールバーあるいはボタン等を用いて回転すること。
【 形態 】Applet
【 期限 】6/19(木)
【 Ver  】1.5.0
【 補足 】(講義の説明より) まず三角形の各頂点にテクスチャ座標 (u, v) を設定します。
そして、その u, v を頂点間と左右バッファ間で内挿補間をします。
最後に、描画する点におけるテクスチャイメージの位置 (ui, vi) の色情報を読み出し、その色で点を打っていきます。

このテクスチャの部分が分からないので、すみませんがどなたかお願いします!!
98デフォルトの名無しさん:2008/06/09(月) 22:36:27
【 課題 】Math.atan()が使えないでござる
【 形態 】 携帯(iDKDoJa5.0
【 期限 】提出期限、解答希望日を書きます。「できるだけ早く」はNG。 《必須》
【 Ver  】java version "1.6.0_05"
【 用語 】アークタンジェントを計算
【 補足 】Math.tan(45)はコンパイル可能でござるがMath.atan(45)となると「シンボルを解決できません。」
とは・・・
--------------------------------------------------
import com.nttdocomo.ui.*;
import java.lang.Math;

public class mathtest extends IApplication {
public void start() {
Display.setCurrent((Frame)new MainPanel());
}
}

//MainPanel
class MainPanel extends Panel {
MainPanel() {
setTitle(String.valueOf(Math.atan(45)));
}
}
--------------------------------------------------
Math.atanがMath.tanならばコンパイル可能でござる
import com.nttdocomo.ui.util3d.FastMath;と
FastMath.atan((float)・・・を使えばコンパイル可能でござるが
誤差が大きいようなので測量計算には向かぬでござる。
すまぬがどなたかの良い知恵を拝借願いたい。
99デフォルトの名無しさん:2008/06/09(月) 22:46:57
ただの質問は質問スレで
100デフォルトの名無しさん:2008/06/09(月) 22:51:31
そうでござったか
それでは98はなかったことにしてくだされ
101デフォルトの名無しさん:2008/06/09(月) 23:49:10
どなたか>>76頼みますm(__)m
10260:2008/06/09(月) 23:52:22
>>101
出力して、stringtokenizerで読み込むとか、
カウンターみたいなint型作って、ループさせればいいと思います。
103デフォルトの名無しさん:2008/06/10(火) 00:02:59
>>101
表示って標準出力でいいんじゃね?
普通に
system.out.println("50以上:" + hight_count);
とか?

意味違ってたらすまんこ
104デフォルトの名無しさん:2008/06/10(火) 00:15:15
>>101
配列に乱数格納してfor文とかで一つずつ値をチェックすればいいんじゃないの?
105デフォルトの名無しさん:2008/06/10(火) 00:16:02
>>101
ヒマだから作ってみたけどソースいるか?
106デフォルトの名無しさん:2008/06/10(火) 00:19:09
ここ数日のスレの流れが速すぎて、残件がどれかわからなくなってきた。

以下の課題が未回答だと思うんだけど漏れてないよね?
>>47 期限:7/7(月)
>>60 期限:6/15(日) ※ヒントあり
>>76 期限:6/10(火) ※ヒントあり
>>95 期限:6/11(水)
>>97 期限:6/19(木)
107デフォルトの名無しさん:2008/06/10(火) 00:23:58
>>101
とりあえずうpしといた、あってるかわかんねえけどw
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/278.java
108デフォルトの名無しさん:2008/06/10(火) 08:08:09
>>107
×
if (num >= HIGHT) {hights++;}
else if (num <= LOW) {lows++;}

○:この方が安全
if (num >= HIGHT) {hights++;}
if (num <= LOW) {lows++;}
109デフォルトの名無しさん:2008/06/10(火) 13:44:59
【 課題 】三角形にテクスチャをマッピングする。三角形は2次元あるいは3次元いずれでもよい。テキスチャは任意のパターンでよい。
テキスチャが正しくマッピングされていることを確認するため、スクロールバーあるいはボタン等を用いて回転すること。
【 形態 】Applet
【 期限 】6月17日
【 Ver  】1.5.0
【 補足 】まず三角形の各頂点にテクスチャ座標 (u, v) を設定し、その u, v を頂点間と左右バッファ間で内挿補間をして、
最後に描画する点におけるテクスチャイメージの位置 (ui, vi) の色情報を読み出し、その色で点を打っていけばできるらしいです。
AppletクラスのgetImage(URL)メソッドを使い、Imageとして読み込む方法が奨励されています(MediaTrackerを併用するとさらにいいそうです)。
かなり面倒だと思いますが、よろしくお願いします。
110デフォルトの名無しさん:2008/06/10(火) 13:49:33
すみません、109を書き込んだ者ですが
>>97にも同じのがありましたねww
111デフォルトの名無しさん:2008/06/10(火) 15:33:31
>>108
107じゃないけど…
安全ってどういうこと?
112デフォルトの名無しさん:2008/06/10(火) 15:52:42
【 課題 】10進数483220077を2進数に変換するプログラムを書いて、横長の表にして出力せよ。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】6月10日中
113デフォルトの名無しさん:2008/06/10(火) 15:58:48
>>111
107では、わざわざ定数(条件)を変えられるようにしてあるのに、
「50以上」と「49以下」が重ならないという制約を利用してしまうのは一貫してない。
と、いうことじゃないかな。108じゃないけどw
114デフォルトの名無しさん:2008/06/10(火) 16:11:07
>>113
そういうことか.
サンクス.
115108:2008/06/10(火) 16:48:13
>>111
例えばカルノー図を書くと判るけど、以下はlowに不定部分が出来る。
if (num >= HIGHT) {hights++;}・・・・・条件1
else if (num <= LOW) {lows++;}・・・・・条件2

HIGH、LOWの選び方で動く場合もあるけど、際どい条件になる。
プログラムを修正した場合(例:HIGH、LOWの初期値=最初のnumとするなど)に
際どい条件から外れて動かなくなりやすい。
116デフォルトの名無しさん:2008/06/10(火) 18:15:30
>>112
横長の表にして出力せよ
ってどういうこと?
普通にInteger.toBinaryString(int)じゃだめなん?
117デフォルトの名無しさん:2008/06/10(火) 19:05:11
>>112
アルゴリズムを見出して書き下せってことなんだろうけど、
その出力形式の指定は確かに謎w
11895:2008/06/10(火) 20:34:47
(1)のみでも結構ですので >>95 お願いできませんでしょうか。
119デフォルトの名無しさん:2008/06/10(火) 21:28:06
>>95
要はスレッドに引数を与えて処理完了を待てばいい(結果は戻さず、垂れ流しでいい)ってことでしょ。
import java.util.ArrayList;
...
  final int[][] a = new int[3][3];
  final int[][] b = new int[3][3];
  ... (行列a、bの要素に値を入力) ...
  ArrayList threads = new ArrayList(3 * 3);
  for (int i = 0; i < 3; i++) {
    final int r = i;
    for (int j = 0; j < 3; j++) {
      final int c = j;
      Thread th = new Thread(new Runnable() { // final指定されたa, b, r, cが渡される(参照できる)
        public void run() {
          int ab_rc = 0;
          for (int k = 0; k < 3; k++) ab_rc += a[r][k] * b[k][c]; // こんなんだっけw
          System.out.println("("+ r +","+ c +") : "+ ab_rc); // とか、なんか適当に表示?
        }
      });
      threads.add(th);
    }
  }
  for (Thread thread : threads) thread.join();
...
動作未確認。古くさい部分とかあったらむしろ教えて
120デフォルトの名無しさん:2008/06/10(火) 21:35:42
やべ例外が、、まあいっかw
121デフォルトの名無しさん:2008/06/10(火) 21:36:28
型はdoubleの方がいいかなーと思った。
122デフォルトの名無しさん:2008/06/10(火) 21:36:42
あとstart()してねえww

正直スマンカッタ
123デフォルトの名無しさん:2008/06/10(火) 21:37:54
>>121
ごもっとも
12476:2008/06/10(火) 22:31:07
>>107さん
ご回答ありがとうございました。無事できました!
他にも色々な人も回答して頂きほんと助かりました!ありがとうございました。
125デフォルトの名無しさん:2008/06/10(火) 22:41:38
/* >>112
http://pc11.2ch.net/test/read.cgi/tech/1212085079/112
10進数483220077を2進数に変換するプログラムを書いて、横長の表にして出力せよ。
*/
class binary {
public static void main(String[] args) {
  int i = 483220077;
  int k;
  int[] j = new int[32];
  String a = new String(Integer.toBinaryString(i));
  System.out.println(a);

  for(k=0; k<32; k++) {
    j[k] = i & 1;
    i >>= 1;
  }
  for(k=31; k>=0; k--) {
    System.out.print(Integer.toBinaryString(j[k]));
    if(k==16)
      System.out.print("-");
    else if(k%4 == 0)
      System.out.print(" ");
  }
}
}
126デフォルトの名無しさん:2008/06/10(火) 23:27:57
# java CommandExecuterMain.java
Exception in thread "main" java.lang.NoClassDefFoundError: CommandExecuterMain
というエラーがでます.


CommandExecuterMain.java
は,以下のように記述しています.

class test {

public static void main(String[] args){
try{
Runtime.getRuntime().exec("rm aaa");
System.exit(0);
}catch(Exception e){
System.exit(1);
}
}
}

http://javafaq.jp/S003.html
の(1)を参考に直そうとしても、うまくいきません。

おしえてください。
127デフォルトの名無しさん:2008/06/10(火) 23:30:47
クラス名をCommandExecuterMainにしてごらん。
それからおそらくスレ違い。さようなら。
128デフォルトの名無しさん:2008/06/10(火) 23:55:37
>>95
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/279.zip

【注意】
・課題2の
 > 全てのスレッドが終了後に行列の各要素の値を出力する。
 の部分が未実装なので、Kadai1.java を参考にして Kadai2.java を修正すべし。
・そっちのJavaのバージョンが1.6なので、
 ArrayListを使用している箇所では「ジェネリクス」に対応した書き方をしないといけない かもしれない
 ArrayList<リストに格納するオブジェクトの型> みたいなの。
・添付してるInput.txtとOutput.txtは実行例。
129デフォルトの名無しさん:2008/06/11(水) 00:21:30
>>95
>>128 への追記。
「Kadai2.javaを修正」とは…
 「core.getResultMatrix()」を使って計算結果の正方行列(を表現する二次元配列)を取得して、
 その表示方法は Kadai1.java を参考にしなさい
という意味です。
情報小出しになって申し訳ない。
13095:2008/06/11(水) 01:54:22
>>119
>>128
手間が掛かる問題を本当にありがとうございました。
13159:2008/06/11(水) 08:01:46
>>60 問いAは出来たよ。 問い@はやるつもり無いので、だれか先にやって。
ttp://bal4u.dip.jp/mt/program/archives/2004/09/qtbinarytree.html
ttp://www.bohyoh.com/Books/MeikaiJavaAlgo/download.html

1 □□□□□□E □□□□□□
□□□□□□/□\□□□□□
2 □□□□AS□□□Y □□□□
□□□□□□□□/□\□□□
3 □□□□□□Q □□□□□□
□□□□□□/□\□□□□□
4 □□□I □□□□□U □□□
□□□/□\□□□/□\□□
5 □□□□□O □□T □□□□
□□□□□/□\□□□□□□
6 □□□N □□□□□□□□□
□□□□□□□□□□□□□□
>・木構造を記述する入力ファイルの形式を定義(説明)する。
Lは左の枝 Rは右の枝 +は下る -は上る。(数字)は再帰レベル。
L+ AS (2)
L- E (1)
R+L+L+ I (4)
R+L+ N (6)
L- O (5)
R-L- Q (3)
R+L+ T (5)
L- U (4)
R-L- Y (2)
R-
13259:2008/06/12(木) 06:56:07
>>60 もとい、前レスの修正、且つソース有り。以上
- I (1)+ V (2)
|   |   - P (3)+ Q (4)+ R (5)+ S (6)
|   |   |   - N (4)+ O (5)
|   |   |   |   - L (5)+ M (6)
|   - H (2)
|   |   - A (3)+ E (4)
|   |   |   |   - C (5)

int depth = 1;
//--- nodeを根とする部分木のノードをTREE表示 ---//
private void printSubTree(Node node) {
  if (node == null) return;
  if (depth == 1) System.out.print("-");
  System.out.print( " " + node.key + " " + "(" + depth + ")" );
  if (node.right != null) {
    System.out.print("+");
    depth++;
    printSubTree(node.right);
    depth--;
  } else
    System.out.println();

  if (node.left != null) {
    for(byte a=0; a<depth; a++) System.out.print("|   ");
    System.out.print("-");
    depth++;
    printSubTree(node.left);
    depth--;
  }
}
133デフォルトの名無しさん:2008/06/12(木) 09:08:41
[課題]// 数列を逆順に書く
class Reverse2 {
public static void main(String [] args){
int data[] = new int[10];
int i,x,kosuu;
i=0;
System.out.println("0以上の数を高々10個打ち込め。終りは -1で表わす。");
System.out.print("> ");
x=IO.in.readInt();
while(x >= 0){
if(i>=10) System.out.println("10個を越えたので無視する。");
else { data[i]=x; i++; }
System.out.print("> ");
x=IO.in.readInt();
}
kosuu=i;
//これで読み込み完了

//逆順に書き出し
System.out.println("数列を逆順に書くと以下の通り。");
for(i=kosuu-1; i>=0 ;i--){System.out.println(data[i]);}
}
}






134デフォルトの名無しさん:2008/06/12(木) 09:09:10

上のプログラムReverse2 を書き直して、 配列の中で入れ換えをして逆順にして から、配列の中を最初から順に書き出すことによって、読み込んだデータを逆順に書き出すプログラム Reverse3 を作れ。
つまり、Reverse2の「//これで読み込み完了」まではそのままで、その後に、「配列の中身を逆転する部分」を書き、プログラムの最後のところは、
System.out.println("数列を逆順に書くと以下の通り。");
for(i=0;i<kosuu;i++){System.out.println(data[i]);}
[形態]1,javaアプリケーション
[期限]六月十二日(今日までです、すみません。)
[補足]丸投げですがよろしくおねがいします。
135デフォルトの名無しさん:2008/06/12(木) 10:06:23
>>133-134
>>18と同じ人?
IO.in.readInt() はJavaの標準APIに無いメソッドなので
何処のライブラリか、何をするメソッドかそちらが説明してくれないと
他の人にはわからない
136デフォルトの名無しさん:2008/06/12(木) 10:14:56
【 課題 】ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/280.zip
「課題.txt」に問題文が入ってます
【 形態 】2. Applet?
【 GUI  】制限なし
【 期限 】2008/06/12 朝まで 《必須》
【 Ver  】1.5.0 《必須》
【 補足 】ボタンの処理の内容だけで大丈夫です。よろしくお願いします。
137デフォルトの名無しさん:2008/06/12(木) 13:19:01
>>136 問題テキストの中にあるコメントは何? できたって最初からできてた?
コメント外して、最初のコメント入れる前のを、できればおいて欲しい、一応ルールだから。
138デフォルトの名無しさん:2008/06/12(木) 14:18:34
136です
携帯から失礼します

※マークがついているコメント以外は問題文そのままです
考え方は問題文に書いてあることをそのまま写しました



分かりづらくてすみません
139デフォルトの名無しさん:2008/06/12(木) 14:33:50
139です
あと、書き忘れましたが「できた」というのは
そのプログラムは一回授業ごとに改良していくプログラムなので
「できた」という表現になっています

すみませんでした
140デフォルトの名無しさん:2008/06/12(木) 14:37:23
↑139ではなく136でした

たびたびすみません
141デフォルトの名無しさん:2008/06/12(木) 16:15:36
圧縮せずに載せてください。
怖くて開けません。
142デフォルトの名無しさん:2008/06/12(木) 16:59:55
怖くない人に回答してもらえばええやん
143デフォルトの名無しさん:2008/06/12(木) 17:09:56
>>141
複数のファイルをばらばらにうpされるのも面倒だし、
自分の好みでない問題や依頼のやり方のものに対しては
無理して解答しようとせずに無視してもいいんじゃない?
解くのは義務じゃないんだから。
144デフォルトの名無しさん:2008/06/12(木) 20:56:25
>>136
輝度反転:{
pixel = pixel_b[w * y + x];
alpha = pixel & 0xff000000;
rgb = ~pixel & 0x00ffffff;
pixel_a[w * y + x] = alpha | rgb ;

}
左回転: pixel_a[h * (w-x-1) + y] = pixel_b[w * y + x];

右回転: pixel_a[h * x + (h-y-1)] = pixel_b[w * y + x];
145デフォルトの名無しさん:2008/06/12(木) 22:53:12
>>144さん
ありがとうございます!

助かりました
146デフォルトの名無しさん:2008/06/13(金) 09:32:13
【 課題 】
300円の商品aと160円の商品bを買えるだけ買うことにする。
金額kを入力したとき、それぞれいくつずつ買えばお釣りが最も少なくなるかを計算し、a,bの個数とお釣りを表示せよ。

【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】4. 制限なし
【 期限 】期限:6/14
【 Ver  】1.6.0_05
【 補足 】丸投げです。どうぞよろしくお願いします。
147デフォルトの名無しさん:2008/06/13(金) 12:01:22
>>146
import java.util.*;
public class A {
public static void main(String[] args) {
int ka = 300, kb = 160;
int k = 3000;
Set<Integer> s = new TreeSet<Integer>();
int change = k;
for (int na = k / ka; na >= 0; na--) {
int c = (k - na * ka) % kb;
if (c > change) continue;
if (c < change) {
change = c;
s.clear();
}
s.add(na);
}
for (int na : s) {
System.out.printf("a: %d, b: %d, change: %d%n", na, (k - na * ka) / kb, (k - na * ka) % kb);
}
}
}
148146:2008/06/13(金) 13:33:03
>>147
動作OKでした。
回答ありがとうございました。
149デフォルトの名無しさん:2008/06/13(金) 19:08:59
【課題】txtに記載
【形態】1.Javaアプリケーション
【期限】6/15
【補足】
課題
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/281.txt

ほぼ丸投げです。
自由度の高い課題ですが、レベルの高いものは求めていないので
簡素な改良でもいいのでよろしくお願いします。

プログラムが長くなってスレ汚しになるといけないので一応捨てアド載せておきます。
よければ回答をそちらに送ってもらえればと思います。

[email protected]
150149:2008/06/13(金) 19:12:53
>>149
すいません。形態はappletでした。
151デフォルトの名無しさん:2008/06/14(土) 00:28:23
>>149
具体的にどういう改良がいいか希望を書いたほうがやる人間にとって楽かも
希望に沿うか全然違う部分をいじられるかは回答者次第だとしても
あとテンプレの必須項目を埋めるという意味でjavaのバージョンも
152デフォルトの名無しさん:2008/06/14(土) 01:22:03
【 課題 】
○AWTやSwingなどのGUIを扱うクラスライブラリを用いて、
 以下のどちらかのアプレットを作成しなさい。

@脳を鍛えるゲーム
簡単な計算(足し算、引き算、掛け算)が画面に表示され、その答えを入力し、
正誤を判断して得点などを表示する。

A簡単な計算機
ボタンがGUIで実装され、四則演算やルートなどが計算でき、出力できる。

【 形態 】Applet
【 GUI  】AWT/Swing
【 期限 】6月18日中
【 Ver  】java version "1.6.0_05"
【 補足 】授業ではAWTとSwingについて勉強しました。

宜しければ、作成したアプリケーションの機能、
使用方法なども記載して頂けると嬉しいです。
よろしくお願い致します。
153149:2008/06/14(土) 05:12:32
>>151
バージョンはJ2SE ver1.4 です。
改良はとりあえずまともにブロック崩しが動けばいいです(ボールがブロックに当たればブロックが消えて全部ブロックが無くなれば終わるプログラム)
スコアを導入できてたり、少しずつ速度が上がる機能があればなおよしです。
154デフォルトの名無しさん:2008/06/14(土) 18:14:08
【 課題 】ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/284.txt
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】6/16日深夜5時
【 Ver  】1.5.0
【 補足 】
Javaの授業で概念しか習っていないのに突然記述せよと言われても記法がさっぱりでした。
箱を作るところしか出来ず、その程度なら丸投げの方が良いと思い丸投げします。
捨てアドまで回答宜しくお願いします。
捨てアド snagkh.oアットマークgmail.com
155デフォルトの名無しさん:2008/06/14(土) 18:39:14
>>149
>プログラムが長くなってスレ汚しになるといけないので一応
これはちょっと余計だと思う。いや、悪気はないかもしれないけど。
156デフォルトの名無しさん:2008/06/14(土) 21:09:29
>>60は解決したのか、と心配してみるテスト。
#自分でやらないとダメだよ〜。by N@CB
157デフォルトの名無しさん:2008/06/15(日) 01:32:55
>>154
メールしといたぜ
158デフォルトの名無しさん:2008/06/15(日) 01:36:52
>>154
メモステ値切んなよ
159デフォルトの名無しさん:2008/06/15(日) 02:57:43
>>157
今実行できる環境にないので動作確認出来ませんがありがとうございました。
捨てアドなもので
160149:2008/06/15(日) 03:19:01
>>155
すいません。悪気は無かったんですが…


あと改良できなくてもいいんで
普通にブロック崩しができるようにするだけでもいいんですが
どなたかお願いします
161デフォルトの名無しさん:2008/06/15(日) 12:39:44
【 課題 】自動販売機を表すVendingMachineクラスとそれを実行するmainメソッドを作成せよ
・機能
 ・お金を投入する
 ・金額が十分投入してればジュースを買える。
 ・お金の払い戻しができる
作成したVendingMachineに対しカプセル化を施し意図しない状態に変更されないようにせよ
【 形態 】 Javaアプリケーション(main()で開始)
【 GUI  】 制限なし
【 期限 】提出期限6月16日
162デフォルトの名無しさん:2008/06/15(日) 12:49:31
>>161
マルチ乙
163デフォルトの名無しさん:2008/06/15(日) 13:58:04
【 課題 】JAVAアプレットで動画を再生せよ
・機能
コメントを入力し、テキストファイルへ保存、テキストファイル内コメントを動画の上で流す(某ニコニコ動画仕様)

【 形態 】 Javaアプレット
【 GUI  】 Web
【 期限 】今日の夜12時まで

たすけてくれぇぇぇ

文字コメント流すのはg.drawString(str[0], this.x[0], this.y[0]);でできたが、動画を流す方法がわからない!

お助け願います。
164デフォルトの名無しさん:2008/06/15(日) 14:21:49
165164:2008/06/15(日) 14:33:00
今気がついたけど全消しで終る条件を入れてなかった。
面倒なのでわざと失敗して終らせることにするか、
ブロック数をカウントするインスタンス変数を最初に用意しておいて、
ブロックに当たった時の処理の中でカウントを増やすなり減らすなりして、
全部消えたらゲーム終了にする、にすればいいかな。
166デフォルトの名無しさん:2008/06/15(日) 18:57:56
おkです。
本当にありがとうございました。助かります。
167ume:2008/06/16(月) 03:25:38
>>46 - 1
public class suuretsu {
public static void main(String[] args) {
int n;
float a[]=new float[100];

a[0]=1.5f; n=0;
System.out.println( "a[" + n + "]=" + a[n] );
a[1]=2.0f; n=1;
System.out.println( "a[" + n + "]=" + a[n] );
a[2]=3.0f; n=2;
System.out.println( "a[" + n + "]=" + a[n] );
for(n=3;n<100;n++){
a[n]= - a[n-1] + a[n-2] + a[n-3];
System.out.println( "a[" + n + "]=" + a[n] );
}
}
}
168デフォルトの名無しさん:2008/06/16(月) 08:41:42
【 課題 】(1)下記のプログラムを、valueOfを利用しJAN,・・・,NOV,1,・・・12が入力されたらその月を返すように改変する
(2)同様にJAN,・・・,NOV,1,・・・12が入力されたらJanuary,・・・,Novemberを返すように改変する
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】今日中
【 Ver  】1.6.0_01

public class enums{

public enum MONTH{JAN(31),FEB(28),MAR(31),APR(30),MAY(31),JUN(30),JLY(31),AUG(31),SEP(30),OCT(31),NOV(30),DEC(31);
private final int days;
MONTH(int d){this.days = d;}

public int getDays(){return days;}
}
public static void main(String[] args){
MONTH month = MONTH.FEB;
System.out.println(month.getDays());
for(MONTH m : MONTH.values()){
System.out.println(m + ":" + m.getDays());
}
month = MONTH.valueOf("APR");
System.out.println(month.getDays());
}
}

お願いします
169デフォルトの名無しさん:2008/06/16(月) 20:22:30
>>168
それは課題そのまんまか?
いろいろ解釈できるんだけど・・
しかもクラスenumsってw
170デフォルトの名無しさん:2008/06/16(月) 20:56:48

【 課題 】swingを使って(スレッドを使わないで)3つのボールがウィンドウ内
      を枠に反射しながら動くモノを作れ
【 形態 】すいません。わかりません。
【 GUI  】2. Swing
【 期限 】今日の24時
【 Ver  】すいません。わかりません。
【 用語 】すいません。わかりません。
【 補足 】

自分なりに頑張ったのですが、肝心のボールが表示されません。
html上以外で動かすのが初めてなので、フレームのところなどがかなり怪しいです。
よろしくおねがいします。

ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/285.txt
171デフォルトの名無しさん:2008/06/16(月) 21:58:10
すいません、170ですができました
172デフォルトの名無しさん:2008/06/16(月) 22:44:05
>>169
そのまんまです

クラス名変なんでしょうか?
enumを使ったものだから〜、って意味だと思ってたんですが
173デフォルトの名無しさん:2008/06/16(月) 23:17:01
>>170
MainPanelのstart()を呼んでいないように見えるよ。
(どのタイミングがいいかは不明)
174ume:2008/06/16(月) 23:34:47
>>168 286.java 月が、月の日数とか?>>169
175デフォルトの名無しさん:2008/06/17(火) 11:16:27
>>152
どなたかお願い致します…
176デフォルトの名無しさん:2008/06/17(火) 17:28:45
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/288.java
適当です。
MEMBER_COUNTで項数を変更、PROBLEM_COUNTで問題数変更です。
逆ポーランドの実装まで書きたくなかったので、かなり邪道にいきました。
177デフォルトの名無しさん:2008/06/17(火) 17:29:06
しまったー。>>152の課題です。
178デフォルトの名無しさん:2008/06/17(火) 18:47:01
>>176 289.java だよ、と。これは、135 lineあたりの表示がミリ秒なので秒にした。横槍です。
sb.append(String.format("第%d問 : %s (%.1f 秒)\n"
,i+1,r.correct? "正解":"不正解",r.time/1000f));
// sb.append(String.format("第%d問 : %s (%d ms)\n"
// ,i+1,r.correct? "正解":"不正解",r.time));
---
sb.append(String.format("経過時間 %.1f 秒", time/1000f));
// sb.append(String.format("経過時間 %dms", time));
179152:2008/06/17(火) 21:00:34
ご回答ありがとうございます。
頂いたプログラムをそのままコンパイルしてみたのですが、以下のようなエラーが出てしまい、
上手くいきませんでした。

289.java:23: クラス CalcGame は public であり、ファイル CalcGame.java で宣言
しなければなりません。
public class CalcGame extends JApplet{
^
エラー 1 個

Appletをよく理解できておりませんので、私の方のエラーかもしれませんが、
これは本プログラムとは別にCalcGame.java を準備しなさい。ということでしょうか?
180>>176:2008/06/17(火) 21:07:33
>>178
ご指摘ありがとうございます。
>>179
ファイル名を変えてないのではないでしょうか?
CalcGame.javaに変更してください。
それでコンパイルしたあとで、HTML用意するなり、CalcGame.java内にコメントで書いてappletviewerで実行するなりしてください。
181152:2008/06/17(火) 21:19:48
>>180
実行できました!
度々のご回答本当にありがとうございました。
182デフォルトの名無しさん:2008/06/18(水) 08:33:28
【 課題 】y=x^3-2x^2+3x+1=0をニュートンラフソン法で解を求めよ
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】今日の0時まで
【 Ver 】1.5.0
【 補足 】丸投げです、よろしくお願いします。
183デフォルトの名無しさん:2008/06/18(水) 13:47:00
184デフォルトの名無しさん:2008/06/18(水) 14:53:32
183の収束条件は近似解そのものの差分を指標にしているから
他の関数を試すなら解の大きさに合わせてeも変えないといけない
面倒なら解が0に近づく場合を気をつけながら比率を指標にしてもいいかも
185デフォルトの名無しさん:2008/06/18(水) 15:49:06
【 課題 】(1)textモードで作成されている入力ファイルがある。これに対する英単語の出現リスト表を作り、結果を印字せよ。
印字形式は2段組とする。\コードで始まるLaTeXコードは処理の対象外とする。
印刷形式:
title
word_1 頻度数xx98 wrod_n 頻度数xx46
word_2 頻度数xx97 word_o 頻度数xx45
word_3 頻度数xx96 word_p 頻度数xx44
word_4 頻度数xx95 word_q 頻度数xx43
   ・              ・
   ・              ・
 word_m 頻度数xx47 word_z 頻度数xx01
(2)処理時間測定ができるようにせよ。
注意
1.問題のファイルは、デバッグでは使用できない。
2.処理の条件は以下のとおり:
 あ.複数系、単数形や過去形、過去分詞、現在形などは、異なる用語として集計する。
 い.文頭による大文字表示された文字は、小文字表示に直して処理すること。
 う.\ミ田で始まる語はLaTex用の暗号として無視してよい。
 え.数字だけの語は集計しない。
【 形態 】1. Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】6月24日
【 Ver  】3.2.2
○投げですが、よろしくお願いします。
186デフォルトの名無しさん:2008/06/18(水) 15:56:55
185です。
訂正部分があったので、修正します。スレ汚して申し訳ありません。
【 課題 】(1)textモードで作成されている入力ファイルがある。これに対する英単語の出現リスト表を作り、結果を印字せよ。
印字形式は2段組とする。\コードで始まるLaTeXコードは処理の対象外とする。
印刷形式:
title
word_1 頻度数xx98 wrod_n 頻度数xx46
word_2 頻度数xx97 word_o 頻度数xx45
word_3 頻度数xx96 word_p 頻度数xx44
word_4 頻度数xx95 word_q 頻度数xx43
   ・              ・
   ・              ・
word_m 頻度数xx47 word_z 頻度数xx01
(2)処理時間測定ができるようにせよ。
注意
1.問題のファイルは、デバッグでは使用できない。
2.処理の条件は以下のとおり:
 あ.複数系、単数形や過去形、過去分詞、現在形などは、異なる用語として集計する。
 い.文頭による大文字表示された文字は、小文字表示に直して処理すること。
 う.\コードで始まる語はLaTex用の暗号として無視してよい。
 え.数字だけの語は集計しない。
 お.カッコ内の単語も集計する。なお、カッコは含まない。
【 形態 】1. Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】6月24日
【 Ver  】3.2.2
【 補足 】処理時間はなるべく短くしてください。
よろしくお願いします。
187デフォルトの名無しさん:2008/06/18(水) 16:11:28
185です。たびたび申し訳ありません。
【 補足 】読み込むテキストファイルはこちらになります。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/290.txt
188>>176:2008/06/18(水) 16:45:30
なんか条件多いけど、用は英単語の出現回数をリスト化すればいいんだよね?
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/291.java
これでだめ?
189デフォルトの名無しさん:2008/06/18(水) 16:57:24
以下のものがコンパイルできないのですがどこがおかしいのか指摘してもらえないでしょうか

import java.io.*;


class IDname {
public static void main (String args[]) throws IOException{
int ID[] = {23,45,78,51,9};
String name[] = {"荒川","神田","吉田","渡辺","木村"};
int Key,index;

BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
System.out.println("IDを入力してください");
for (index=0; index<ID.length; index++) {
if(ID[index] == Key) break;
}
if(index<ID.length){
System.out.println("IDが"+Key+"の人は"+name[index]+"さんです");
}
else{
System.out.println("IDが"+Key+"の人はいませんでした");
}
}
}
190デフォルトの名無しさん:2008/06/18(水) 17:03:02
>>188
ありがとうございます。
これでおkです。
大変助かりました。
191187:2008/06/18(水) 17:06:39
>>188
すみません。
ちょっと仕様追加いたします。
申し訳ありません。

使用頻度で高い順から並び替えます。

印刷形式は、2段にします。
印刷形式:

title
word_1 頻度数xx98  wrod_n 頻度数xx46
word_2 頻度数xx97  word_o 頻度数xx45
word_3 頻度数xx96  word_p 頻度数xx44
word_4 頻度数xx95  word_q 頻度数xx43
   ・              ・
   ・              ・
word_m 頻度数xx47  word_z 頻度数xx01

このようになります。
192デフォルトの名無しさん:2008/06/18(水) 17:08:51
出力してませんでした。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/292.java
たぶん出力用に真っ二つにするのが簡単でいいかと・・

>>189
Keyが初期化されてません。
そしてスレが違います。
193デフォルトの名無しさん:2008/06/18(水) 17:11:38
>>192
すみません
ID[ ]をint型の、name[ ]をString型の配列として、キーボードで入力したIDの値から名前を検索するプログラムを作れ。
という宿題だったんでここで聞いてしまいました
やっぱりうまくいきません・・・
194187:2008/06/18(水) 17:12:44
データとして保存しておくのは、辞書形式の並び順に、
表示するときだけ並び替えて、頻度が高い順にお願いします。

たびたびのスレ汚し、申し訳ありません。
195デフォルトの名無しさん:2008/06/18(水) 17:17:54
>>193
宿題としてここで解いてもらいたいなら>>1のテンプレに従ってください
単なる質問なら別に質問スレがあります
196デフォルトの名無しさん:2008/06/18(水) 17:25:39
【 課題 】学生のIDと名前の組のデータを下記のように2つの配列で与える。
ID[ ]をint型の、name[ ]をString型の配列として、キーボードで入力したIDの値から名前を検索するプログラムを作れ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】明日の14時
【 Ver  】1.5.0
【 補足 】途中まではできました、修正をお願いします
import java.io.*;
class IDname {
public static void main (String args[]) throws IOException{
int ID[] = {23,45,78,51,9};
String name[] = {"荒川","神田","吉田","渡辺","木村"};

int Key,index;
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
System.out.println("IDを入力してください");

for (index=0; index<ID.length; index++) {
if(ID[index]==Key) break;
}
if(index<ID.length){
System.out.println("IDが"+Key+"の人は"+name[index]+"さんです");
}
else{
System.out.println("IDが"+Key+"の人はいませんでした");
}
}
}
197デフォルトの名無しさん:2008/06/18(水) 17:29:57
>>194
申し訳ない!こんな感じでいっかってノリで軽くやってしまった。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/293.java
もっと責任もってやるようにするわ・・
198デフォルトの名無しさん:2008/06/18(水) 17:30:33
>>184 24lineあたりの、この変更を御指摘のよう。
  } while (Math.abs(x2 / x1 - 1) > e);
// } while (Math.abs(x2 - x1) > e);
199デフォルトの名無しさん:2008/06/18(水) 17:30:49
>>196
>>192がせっかく正解を言ってくれてるのに無視するとは…
System.out.println("IDを入力してください");
のうしろに
Key = Integer.parseInt(br.readLine());
を入れる
200デフォルトの名無しさん:2008/06/18(水) 17:33:19
>>199
すみません理解しきれていませんでした・・・・
ありがとうございました
201デフォルトの名無しさん:2008/06/18(水) 17:41:57
【 課題 】プロ野球セ.リーグの現在の勝敗表を2次元配列の初期値として与えよ。
コマンドライン引数から2つのチームの順位を入力し、その2チ-ム間のゲーム差を表示させよ。(両チームの貯金(勝ち数−負け数)の差÷2

【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6/20(金)
【 Ver  】1.5.0
【 補足 】実際のゲーム差は、例えば以下のサイトで確認:
http://www.sanspo.com/baseball/score/2008/standings.html
とのことでした、暇がなくて丸投げですみません、お願いします
202187:2008/06/18(水) 17:47:15
>>192
2段目表示なりました。
こちらのほうで、ちょっと手を加えさせていただきました。

あと、高頻度順に並び替えるのですが、

データとして辞書形式の並び順に保存させて、
表示するときだけ高頻度順に並び替える仕様です。
203デフォルトの名無しさん:2008/06/18(水) 17:51:15
>>202
>>197に張りました。
204187:2008/06/18(水) 17:59:36
>>203
ありがとうございます!気づきませんでした・・・。
試してみたのですが・・・。
オーバーライドしてないとeclipseに起こられます・・・・。
205デフォルトの名無しさん:2008/06/18(水) 18:02:09
>>204
一旦@Overrideけして、そのあと気になるなら追加してみて。
verの違いかよくわからんけど、別のeclipseで開くとなるんだよなー
206デフォルトの名無しさん:2008/06/18(水) 18:11:03
>>205
ありがとうございます!!
大変助かりました!!
207デフォルトの名無しさん:2008/06/18(水) 18:19:48
>>201
public class GameResult {
public static void main(String[] args) {
// {{一位の勝ち数,負け数}, ... ,{六位の勝ち数,負け数}}
int[][] winlose = {{34, 17}, {28, 22}, {23, 25}, {25, 28}, {22, 28}, {15, 35}};
if (args.length == 2) {
try {
int teamA = Integer.parseInt(args[0]);
int teamB = Integer.parseInt(args[1]);
if (teamA < 1 || teamA > 6 || teamB < 1 || teamB > 6) throw new NumberFormatException();
if (teamA > teamB) { int tmp = teamA; teamA = teamB; teamB = tmp; }
System.out.println(teamA + "位と" + teamB + "位のゲーム差は" +
((winlose[teamA-1][0] - winlose[teamA-1][1]) - (winlose[teamB-1][0] - winlose[teamB-1][1])) / 2.);
} catch (NumberFormatException e) {
System.err.println("1から6までの整数を指定してください");
return;
}
} else {
System.err.println("usage: java GameResult 順位 順位");
}
}
}
208デフォルトの名無しさん:2008/06/18(水) 22:13:18
>>207
間に合いました、大変ありがとうございました!
209デフォルトの名無しさん:2008/06/18(水) 22:43:28
>>185
mixiの課題丸投げは消したの?
210デフォルトの名無しさん:2008/06/19(木) 11:40:53
【 課題 】
2次元配列を用いて、模様を作成してみよ。□や■は文字(char型)
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6月25日
【 Ver  】1.5.0
【 補足 】コマンドライン引数から入力した行数分だけ表示させよ(列は図のとおり固定)
      どうにも珍妙な宿題ですがお願いします・・・
211デフォルトの名無しさん:2008/06/19(木) 12:01:52
ほんとに珍妙だ。
二次元配列なんて使う必要性が見当たらない。
212デフォルトの名無しさん:2008/06/19(木) 12:26:29
2次元配列をつかう課題なら全く珍妙じゃないし、
後々画像変換(写像)への基礎演習にもなるじゃん
213デフォルトの名無しさん:2008/06/19(木) 12:57:39
>>210
public class Cloth {
public static void main(String[] args) {
char[][] c = new char[Integer.parseInt(args[0])][14];
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
switch (j % 3) {
case 0: c[i][j] = i % 2 == 0 ? '■' : '□'; break;
case 1: c[i][j] = i % 2 == 0 ? '□' : '■'; break;
case 2: c[i][j] = ' '; break;
}
}
}
for (int i = 0; i < c.length; i++) {
for (int j = 0; j < c[i].length; j++) {
System.out.print(c[i][j]);
}
System.out.println();
}
}
}
214デフォルトの名無しさん:2008/06/19(木) 17:34:44
ちょっと手を加えさせていただきます。市松模様。>>213 オス
char[][] c = new char[Integer.parseInt(args[0])][15];
---
case 1: c[i][j] = i % 2 == 0 ? '■' : '□'; break;
case 2: c[i][j] = i % 2 == 0 ? '□' : '■'; break;
case 0: c[i][j] = ' '; break;
215デフォルトの名無しさん:2008/06/19(木) 17:53:03
>>214
うちのビューワだと行頭のスペースは見えなくて行末に1個のスペースが見えるな
そしてread.cgiが吐くhtmlでは行頭に1個、行末に1個か2個のスペースが入ってる
正確な模様の仕様は言葉で説明してもらうかファイルにしてうpしてもらうべきか
216デフォルトの名無しさん:2008/06/19(木) 18:31:02
>>210
final char[][] pattern = {{'■', '□'}, {'□', '■'}};
...
... pattern[i % pattern.length][j % pattern[i].length] ...
こういうのじゃダメなの
217デフォルトの名無しさん:2008/06/19(木) 18:34:29
細かいw
俺はぱっとみて単に白黒の四角を並べればいいだけだと思った。
>>213ですきまにも意味があると解釈すべきだったのかと感心したくらいだ。
218デフォルトの名無しさん:2008/06/19(木) 18:36:29
■□ ■□ ■□ ■□ ■□
□■ □■ □■ □■ □■
ここまで文字列で作って、交互にprintlnするとか
219214:2008/06/19(木) 19:05:26
>>215 多分設問の模様は、これではないだろうか? 進行上私はソースを略す。
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
220210:2008/06/19(木) 19:32:44
えっと、ありがとうございます皆さん。すいませんなんか混乱させてるようでorz
聞いてきましたところ、スペースは無視してもいいとのことでした
221210:2008/06/19(木) 19:47:32
でもキレイですので>>213>>214さんのを組み合わせて見ようと思います。
連投すいません、ありがとうございました
222デフォルトの名無しさん:2008/06/20(金) 00:04:07
swingを使ってボタンをつくりましたそのボタンを押したとき新しいフレームを作ることができたのですが、
そのボタンのあるフレームを閉じるメッソッドわかりません、教えてください。
ボタンが押されたことは認識できるようになっています。
223デフォルトの名無しさん:2008/06/20(金) 03:28:35
>>222
質問は質問スレへどうぞ
224214:2008/06/20(金) 17:00:19
.■□.■□.■□.■□.■□ int lines = Integer.parseInt(args[0]);
□■.□■.□■.□■.□■. int width = 15;
.■□.■□.■□.■□.■□ char[][] a = new char[][] {{' ' ,'■','□'},
□■.□■.□■.□■.□■. {'□','■',' ' }};
.■□.■□.■□.■□.■□ for (int i = 0; i < lines; i++ ) {
□■.□■.□■.□■.□■. for (int j = 0; j < width; j++)
.■□.■□.■□.■□.■□ System.out.print(a[i&1][j%3]);
□■.□■.□■.□■.□■. System.out.println();
.■□.■□.■□.■□.■□ }
225デフォルトの名無しさん:2008/06/21(土) 06:46:09
【 課題 】
複数の図形を表示するプログラムを作成せよ。
尚、複数のボタンを配置し、ボタンによってそれぞれ異なる図形を表示すること。
また、パネルの左上に製作年月日を表示すること。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ
【 期限 】6月30日
【 Ver  】1.6.0

よろしくおねがいします。
226デフォルトの名無しさん:2008/06/21(土) 19:40:26
>>225
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/294.java
あとは適当に追加してください。
227デフォルトの名無しさん:2008/06/21(土) 22:59:05
配列aと同じ長さの配列bを生成する.
配列aの要素を逆順にして配列bに格納する.
配列bの要素を先頭から順に表示する.
という問題なのですが、

public class Exam1_1 {
public static void main(String[] args) {
int[] a = { 1, 2, 3, 4, 5, 6, 7 };
int[] b;
b = new int[a.length];

for(int i=0;i < a.length;i++) {

for(int j=a.length - 1;j >=0;j--) {

b[i] = a[j];

System.out.println("b[" + i + "]: " + b[i]);
}
}
}
}

という結果をb[0]=7,b[1]=6,b[2]=5,b[3]=4,b[2]=3,b[1]=2,b[0]=1と
したいのですが、どのように変更すればよいのでしょうか?
228デフォルトの名無しさん:2008/06/21(土) 23:33:28
気持ちは分からんでもないけど、ループの中にループがあるってことをよく考えてごらん。

for(int i=0;i < a.length;i++) {
 b[i] = a[a.length - j - 1];
}
またはjを使って簡潔に書くなら
for(int i=0,j=a.length-1;i < a.length;i++,j--) {
 b[i] = a[j];
}
こうなるだろうね。

それと、テンプレは守ろうね。
229デフォルトの名無しさん:2008/06/22(日) 00:59:56
この課題は、テンプレが必要ないと思われるので省略しました。
(指定されていません)
何かご不明な点がありましたら、言って下さい。
月曜日に提出したいので、日曜(明日)の夜23:00までにお願いします。

問題
Javaにおいて、ある参照型変数x,y(ただし、String型は除く)を考える。
このxに、yを代入する場合、一般的には次の2通りの方法がある。
1.x=y
2.x=y.clone();
ここで、1は参照値を渡す等と呼ばれ、実際にコピーが行われる事はない。
2は実際にコピーを行う。
(ただし、多くの学生が誤解していたが、これは
ディープコピーではなく、シャローコピーである。)

問T なぜシャローコピーを行うのか、ディープコピーで問題が発生する
   ような例をあげて説明せよ

問U String型において、clone()メソッドは必要ないものとされ、オーバー
   ライドされていない。なぜ、必要ないのか。簡潔に理由を述べよ。
230225:2008/06/22(日) 06:35:30
>>226

ありがとうございました
231デフォルトの名無しさん:2008/06/22(日) 08:36:34
>>229
T パフォーマンスを向上させるため。
ディープコピーの場合、for文で大量にインスタンスを作ったりすると、
OutOfMemoryエラーになったりするかもしれない。
しかし、ディープコピーのほうがコーディングや保守が容易であるので、
一概にどちらが良いとは言えない。
シャローコピーは、内部で保持しているものが共有されるので、
ディープコピーよりも問題視されることが多い。

そもそも問題のx=y.clone();だけではシャローコピーかディープコピーか分からない。

U String型はimmutableなクラスであるから。
Finalクラスとか、不変オブジェクトとも呼ばれる。
232デフォルトの名無しさん:2008/06/22(日) 09:48:48
テンプレを埋めることもできない馬鹿は市ね
233デフォルトの名無しさん:2008/06/22(日) 13:37:44
なあ、動画を再生するPlayerのサイズを変更するときにはどうしたらいんだ?
234デフォルトの名無しさん:2008/06/22(日) 15:44:17
>>233
エスパー回答者希望で、尚且つスレ違いですね わかります
235デフォルトの名無しさん:2008/06/22(日) 17:47:39
【 課題 】じゃんけんプログラムの拡張
       http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/296.zip
zipの中にある課題説明のところにもファイルのURLがありますが
       無視してください<(_ _)>
【 形態 】1. Javaアプリケーション(main()で開始) Eclipseを使用しています
【 期限 】明日 6月23日の朝6時(期限が短くてすみません;)
【 Ver  】1.5.0
【 補足 】期限が短いですがよろしくお願いします。
236デフォルトの名無しさん:2008/06/22(日) 20:17:21
>>235
とりあえず元のソースコードに書き加える形でやった
Eclipseは使ってないし1.6.0でコンパイルしてるけどたぶん大丈夫かと
ダメなら言って
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/298.zip
237デフォルトの名無しさん:2008/06/22(日) 20:44:14
>>236
今動作確認してみたところ正常に動作しました。
お早い回答に感謝しています<(_ _)>
ありがとうございました!
238デフォルトの名無しさん:2008/06/22(日) 22:45:27
【 課題 】次のプログラムの致命的な問題点は?
import java.io.*;
public class FileArrayReader {
public static void main(String[] args) {
String filename = args[0];
String msg[];
try {
FileInputStream fis = new FileInputStream(filename);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);

String tmp[] = new String[100];
int num = 0;
while((tmp[num] = br.readLine())!=null) {
num++;
}
msg = new String[num];
for(int i = 0;i <num;i++) {
msg[i] = tmp[i];
System.out.println(msg[i]);
}
br.close();
isr.close();
fis.close();
} catch(Exception e) {
e.printStackTrace(); 
} }   }

【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】4. 制限なし/
【 期限 】月曜日
【 補足 】文字列の配列変数tmpを用意し、使用しているところがヒントらしいのですが
239デフォルトの名無しさん:2008/06/22(日) 23:01:23
>>238
 while(num<100 && (tmp[num] = br.readLine())!=null) {
// while((tmp[num] = br.readLine())!=null) {
240dango:2008/06/23(月) 00:29:56
【課題提示用テンプレ】
【 課題 】縦スクロールのシューティングです
【 形態 】 4. 携帯(Doja5.1)
【 GUI  】わからないです
【 期限 】23時までにお願いします。
【 Ver  】java.lang.ArrayIndexOutOfBoundsException
at pac.KeyCanvas.paint(+1013)
at com.nttdocomo.ui.Display$1.run(+186)
pac.KeyCanvas
【 用語 】とくにないです
【 補足 】アップローダの299にUPしてます。実行するとすぐ落ちます。キー操作がうまくいってないみたいなので、キー操作のところの関数を書いたクラスのソースを載せてます。
      よろしくお願いします。
241デフォルトの名無しさん:2008/06/23(月) 10:23:07
Versionにエラー貼るなよw
いつの23時だよw
ローダーって、どこのだよwリンク付けろw

ちゃんとしたレスほしければテンプレぐらいまともに書けw
242デフォルトの名無しさん:2008/06/23(月) 11:44:58
>Versionにエラー貼るなよw
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/299.java
243デフォルトの名無しさん:2008/06/23(月) 12:26:53
>>241
うpろだについてツッコミいれる前に>>1くらい嫁
>>1に示された場所以外で推測できない時にこそ文句言えばいい

>>240
paintメソッド中で配列を使用しているところを洗い出して
インデックスが全部正常な範囲に収まっているかチェックしろ
ArrayIndexOutOfBoundsExceptionの後に範囲外のインデックスの値も表示されなかった?
もし表示されていたのならそれも場所を特定する手がかりになる
とてもじゃないが触りたくないソースだからきちんと見てないが
ローカル変数で十分そうなループのカウンタ変数をフィールドにするとかバグ誘発率高そうだ
244デフォルトの名無しさん:2008/06/23(月) 14:37:00
>>243
をいをい、>>1は参考としてロダのurlを出してるだけだろw
課題が長い場合にロダ使うのは良いが、そのurlを提示するのが当たり前
なんで推測しなきゃなんねーんだよ、さすがゆとり思考だなw
245デフォルトの名無しさん:2008/06/23(月) 15:06:13
イミフ
246デフォルトの名無しさん:2008/06/23(月) 16:49:45
このスレを半年ROMっていれば、どこにあげたかなんて簡単に分かるのに、
そういう単純な思考もできない人間を元々ゆとりと揶揄してるんじゃなかったのかね。
247デフォルトの名無しさん:2008/06/23(月) 16:53:06
>>246
分かる分からないの問題でなくうp先リンク付けるのが当たり前だろと言ってるんだが、
それもわからんのかよw
248ぼるじょあ ◆yBEncckFOU :2008/06/23(月) 17:14:23
(・3・)エェー テンプレ無視や気に入らないのはスルーすればいいんだYO!
249デフォルトの名無しさん:2008/06/23(月) 17:24:08
ぼるじょあは巣に帰れw
250デフォルトの名無しさん:2008/06/23(月) 18:09:14
おお、ここにも「ぼるじょあ」がいるのかよ
251使用書無しさん:2008/06/23(月) 23:24:57
javaフリークの皆さん
100%pureJavaのドローイングソフト
http://jdrafter.sakura.ne.jp が登場
javaの帳票設計にも使えるよダウンロードしてね
252使用書無しさん:2008/06/23(月) 23:31:10
javaを批判する馬鹿な厨房これに匹敵するやつ作ってみろばか
253デフォルトの名無しさん:2008/06/24(火) 03:51:53
【課題提示用テンプレ】
【 課題 】

GUIのプログラムで、起動するとフレームがあらわれて

テキストファイルを読み込んで

一行目を真ん中に表示させて

「次を」ボタン的なものがあって一行づつテキストファイルを表示していくというプログラムをお願いします。

【 形態 】

形態は1. Javaアプリケーション(main()で開始)でお願いします。


【 GUI  】

4. 制限なし

【 期限 】

期限は特にありません

【 Ver  】
java version "1.6.0_06"
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)
254デフォルトの名無しさん:2008/06/24(火) 17:27:22
>>253
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/300.java
課題をこなすだけの非常に悪いプログラムです。
255デフォルトの名無しさん:2008/06/24(火) 22:49:14
【 課題 】
カートクラスは商品クラスを持っています。
商品クラスにはカートクラスを持ちません。

このとき、商品クラスのメソッドで、どのカートクラスに
入っているかを知る方法を教えてください。

もちろん商品クラスにカートクラスに持つのはだめです。

【 補足 】
ぜんぜんわかんないよ・・・。
こんなのできんのか?
256デフォルトの名無しさん:2008/06/24(火) 22:58:03
class Cart{
class Goods{
Cart getCart(){
return Cart.this;
}
}
}
こういうことじゃないの?
というかクラスの包含関係上
・カートクラスは商品クラスを持つ
・商品クラスにはカートクラスを持つ
これ同時に満たせないっしょ。
それから、どのカートクラスってカートクラスは一つっしょ?
どのカートクラスのオブジェクトに入っているか、の間違いでね?
よく分からない問題だなぁ。
257デフォルトの名無しさん:2008/06/24(火) 23:08:44
>256
持つといっても実装ではリンクするだけなので・・・
双方向のリンクじゃなくて、1方向でしかリンクしない
にも関わらず、リンクしてない側から、誰からリンク
されてるかを突き止める・・・・という問題です。

カートは複数あってそれぞれに商品がぼこぼこ
入っていきます。

なんでそんなことを?と思うでしょうが、とにかく
そうしないといけないと思ってください。
258デフォルトの名無しさん:2008/06/24(火) 23:24:36
リンクって・・
曖昧なこと並べてないでもっと具体的なこと示すか、ソースでもはっつけてくれんと何とも言えん。
259デフォルトの名無しさん:2008/06/25(水) 00:15:44
>>256
1・Cartクラスには、商品を表すProductクラスの配列が存在。
2・Productクラス内ではCartのインスタンスを識別するためのフィールドを一切(?)持たせない。
・この状態で、とあるProductインスタンスのメソッドから、それを格納している配列を持つCartインスタンスを得る方法を教えて。

☆各クラスの包含関係はこちら☆
・Cartの持ち主Obj
     +- Cart [0]
     |  +- Product []
     +- Cart [1]
     |

とりあえずこんなとこだろうか?
2・の制約(?の部分)が無ければ、Product にCart識別用のintなりbyteなりを持たせるのが簡単だと思うけど。
あとはCartインスタンスの持ち主側からCart側へ問い合わせるとか。
Javaはほとんど触ったこと無いんでJava屋さんの意見を待つか・・・。
260259:2008/06/25(水) 00:17:00
間違えた >>255
261デフォルトの名無しさん:2008/06/25(水) 00:24:04
【 課題 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/301.txt
【 期限 】今日の朝まで
【 補足 】丸投げです。期限がギリギリですがよければ。。
262デフォルトの名無しさん:2008/06/25(水) 07:45:10
//print,save,reverse,sort,deleteが使えるようにソースコードを埋めよ.(前問までに関するところも空白であるので注意すること)
>>261コメントの極端に少ないソースで、穴埋めって言われても。前問は無いですか。
263デフォルトの名無しさん:2008/06/25(水) 09:40:05
>>255 >>256のインプリメント:実現
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/302.java
ご意見下さい
264デフォルトの名無しさん:2008/06/25(水) 14:41:50
テンプレ無視、単発質問は質問スレへのルールも無視には回答しないw
265デフォルトの名無しさん:2008/06/25(水) 14:49:33
266デフォルトの名無しさん:2008/06/25(水) 15:08:57
仕様もないのに実装しろって言われてもry
コメントが全くないから出題者が何を期待してるかも分からんし。

できるわけねーだろ屑講師!で良いと思うよ。
267255:2008/06/25(水) 20:48:16
>263
わかりづらくてすみません。
やりたいのは、まさに>259が書いてくれた通りなんです。
268デフォルトの名無しさん:2008/06/25(水) 20:52:55
>>264
日本語ヘンじゃね?
269angel452:2008/06/25(水) 22:28:27
【 課題 】FTPクライアントの作成
【 期限 】2週間以内
【 補足 】

はじめまして
javaで、ネットワークダウンロードをするFTPクライアントソフトを作成しようとしているのですが、
比較的簡単に行うには、どうしたらいいのでしょうか?

もちろんアドレス、IPなどはプログラム内に書き込んで、実行するだけで
その指定した、バイナリファイルをダウンロードして、保存するという
だけのプログラムなんですが。

JAVAでFTPクライアントだと、commons.netというクラスライブラリを見つけたのですが、
それを上手く使う方法がわかりません。。。

宜しければプログラミングか、アドバイスをいただけたらと思います。。。。

レベル的にはどうでしょうか?
一応つくりはじめてはいるのですが・・・
270angel452:2008/06/25(水) 22:36:10
ちなみにプロトコルはFTPで、TCP/IP利用です。
サーバも自作しまして、LinuxのFedora上でapacheです。(こちらは既に完成。)

よくあるアップロードするFTPクライアントではなく、
ダウンロードだけできるFTPでよいのですが。

ソケットの扱いなどが全然わかりません…。
先が見えてこない状況です。。。
271angel452:2008/06/25(水) 22:43:11
訂正

サーバはapacheではなく、vsftpでした。。。
自作したvsftpによるFTPサーバからLANを通じて、
自作したFTPダウンロードクライアントで特定のファイルのダウンロード・保存をしたいのです。
272デフォルトの名無しさん:2008/06/26(木) 02:38:50
>>268
句読点もわからんのかよw
273263:2008/06/26(木) 03:25:19
>>267 設計レベルのその回答で、もう満足したのか。
274デフォルトの名無しさん:2008/06/26(木) 09:26:54
>>269
【初心者】Java質問・相談スレッド116【歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1213347130/
275デフォルトの名無しさん:2008/06/26(木) 12:58:00
【課題】オブジェクトの持つ int の値の属性で並び替えるプログラムを作成しなさい。
用いるアルゴリズムは単純選択ソート (バブルソート) の最初のサンプルプログラムのものでかまわないが、違うアルゴリズムでもよい。
main メソッドのあるクラスのクラス名は MusicSortByRating とする。

リストの要素は Music クラスのオブジェクトとし、 Music クラスの属性 rating の降順でソートするものとする。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/305.java
【形態】1. Javaアプリケーション(main()で開始)
【期限】6月30日 23:59
【Ver】1.5.0.11
【補足】丸投げです。宜しくお願いします
276デフォルトの名無しさん:2008/06/26(木) 15:14:23
>>275
一部
private static void sort(ArrayList<Music> list) {
for(int i=1; i<list.size(); ++i)
for(int j=list.size()-1; j>=i; --j)
if(list.get(j-1).getRating() < list.get(j).getRating()) swap(list, j-1, j);
}
private static void swap(ArrayList<Music> list, int index1, int index2) {
list.set(index2, list.set(index1, list.get(index2)));
}
277デフォルトの名無しさん:2008/06/26(木) 16:11:50
【 課題 】以下のようなプログラムを作り,提出してください.
入力した数に応じて,1回目には正方形を1個描き,正方形の頂点に辺の長さが1/2の正方形を,遇数回目には全ての頂点に,奇数回目には上の2頂点に,所定の回数を描くプログラムを再帰を使って書きなさい.
色はなんでもいい
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】6月27日
【 補足 】クラスは Problem4,ソースコード名は Problem4.java,HTMLファイルは Problem4.html とすること.
      クラス Problem4 は前回の授業で示した DrawCircle7 を継承すること.
      コンパイル,実行するには,DrawCircle7.class,DrawCircle2.class,DrawCircle2$ActionAdp.class が必要である.      

278277:2008/06/26(木) 16:14:07
プログラム DrawCircle7.javaは
/* DrawCircle7.java
円の中に一定比率で縮小された異なる色の同心円を指定された回数だけ
描くプログラム. */

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class DrawCircle7 extends DrawCircle2 { // DrawCircle2 を継承

public void paint(Graphics g) {

int x = 200; // 円の中心のX座標
int y = 200; // 円の中心のY座標
int radius = 150; // 円の半径 (初期値)
int times = 0; // 繰り返した回数のカウント

while (times < number) { // number は繰り返し回数

setColor(g, times); // 色を設定するメソッド
g.fillOval(x - radius, y - radius, radius * 2, radius * 2);
// 円の塗りつぶし

times++; // 描画回数を1増やす
radius = radius * 4 / 5; // 半径を 4/5 にする
}
}
279277:2008/06/26(木) 16:14:50
/* 色の設定メソッド
引数の説明:
第1引数: 色を設定する Graphics クラスのオブジェクト
第2引数: 色指定をするインデックス */

void setColor(Graphics g, int count) {

int index = count % 5; // count % 5 はcountの5による剰余

if (index == 0) { // 剰余が0の場合
g.setColor(Color.blue);
} else if (index == 1) { // 剰余が1の場合
g.setColor(Color.green);
} else if (index == 2) { // 剰余が2の場合
g.setColor(Color.yellow);
} else if (index == 3) { // 剰余が3の場合
g.setColor(Color.pink);
} else if (index == 4) { // 剰余が4の場合
g.setColor(Color.magenta);
} else {
g.setColor(Color.blue);
}
}
}
です
どなたかお願いします
280デフォルトの名無しさん:2008/06/26(木) 16:19:16
>>277
DrawCircle2.java も提示してください。
形態がアプリケーションなのに HTML ファイル名が指定されているのはなぜ?
281デフォルトの名無しさん:2008/06/27(金) 12:41:33
関係ないが、ひでえコメントのソースだなw
282使用書無しさん:2008/06/27(金) 22:22:56
>>281 同感
ばあさんに老眼鏡なしで新聞読めてなもんだ
283rai1994:2008/06/28(土) 04:07:19
【 課題 】以下の文字列をハッシュ値に変換するCプログラムをJavaで書き直せ。
【 形態 】1. Javaアプリケーション
【 期限 】2週間以内。
【 Ver  】java version "1.6.0_03"
      Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
      Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)
【 補足 】ただ単にJavaで書き直せだそうです。

// 入力引数: *key : ハッシュするキー
// size : アドレス空間の大きさ
// 戻り値 hv : ハッシュ値
unsigned int hash(char *key, unsigned int size) {
unsigned int h = 0 , //
hv , // ハッシュ値
g ; //
int i ; //
for(i = 0; key[i] != '\0'; i++) {
h = (h << 4) + key[i] ;
g = h & 0xf0000000 ;
if (g != 0) {
h = h ^ (g >> 24) ;
h = h ^ g ;
}
}
hv = h % size ;
return hv ;
}
284デフォルトの名無しさん:2008/06/28(土) 13:43:43
>>283 仕様の場合だけに限定すると、文字コードは何でもOKとして
char * は、ANK以外の2バイト文字の場合はJavaだとどう入ってるの?
char *a_cpp = "abcdあいう"; // 7文字、10バイト

String a_java = "abcdあいう"; // 7文字、14バイト
か、または
String b_java = "abcd\60\102\60\103\60\104"; // 10文字、20バイト
か、または
String c_java = "\60542\25444あいう"; // 5文字、10バイト
285rai1994:2008/06/28(土) 13:53:57
デフォルトの名無しさん>

拡張ハッシュ法に使うものでして。char *keyには,文字列英単語が入ってきます。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htmに出した最新の課題も見てもらえると
うれしんですが。よろしくお願いします。

286284:2008/06/28(土) 14:29:45
今のところ出来たの、上げておきます。
C/C++の結果と比較してないのでDEBUG PRINT付き。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm 307.java
306.txt はモジュールが足りないようです。
287rai1994:2008/06/28(土) 15:13:32
284さん

どうもありがとうございます。
モジュールがたりないってどういうことですか??
288284:2008/06/28(土) 16:40:56
>"hash_extend.h"と"hash_extend.c"に入ってるやつもJavaにしなくてはならないのですが
これ、モジュールが足りないという意味です。
289rai1994:2008/06/28(土) 17:01:18
分りました。その中身もアップします。よろしくお願いいたします。
290rai1994:2008/06/28(土) 17:11:58
そのなかに、文字列をハッシュ値に変換するCプログラムも入っています。
291デフォルトの名無しさん:2008/06/29(日) 00:33:47
【 課題 】
<要求仕様>
・パラメータから年・月を受け取り、
 その「前月」「当月」「次月」の3ヶ月をコンソールに
 出力するカレンダーを作成してください。
(要するに、2008、5と入力したら、4月、5月、6月の3か月分を出力する)

<条件>
・パラメータチェックメソッドを実装すること
 ただし、同メソッド内にtry/catch句を記述してはいけない。
 (自前で数値チェックを実装する)

・mainメソッドはControllerとしてのみ使用すること。
 (実際の作成/出力処理は別メソッドに実装すること)
【 形態 】Javaアプリケーション
【 GUI  】制限なし
【 期限 】7/2(火)AM10:00
【 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)
【 補足 】一応私が作った1ヶ月だけのカレンダーソースをアップローダーに配置します。

よろしくお願い致します!
292デフォルトの名無しさん:2008/06/29(日) 02:41:33
【 課題 】swingを使用しての図形表示や保存(補足のtxtに詳細を載せました)
【 形態 】Javaアプリケーション
【 GUI  】2.Swing
【 期限 】7/2(火)AM9:00
【 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)
【 補足 】 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/315.txt
      (i)までは理解できるのですが、(ii)以降がまったく分かりません。
      どのように考えるべきなのかなどもイメージが湧かず、
      非常に参っております……

よろしくお願い致します。
293デフォルトの名無しさん:2008/06/29(日) 15:04:49
>>292
(i)が理解できるということは、(i)のプログラムはできてるのかな?
どんな感じで作ってるか知りたいから、できたらそれも見せてくれないかな
294デフォルトの名無しさん:2008/06/29(日) 15:54:23
>>293
申し訳ございません。何となくイメージできる程度にしか理解できておりません。
現在、どのように書けばいいか試行錯誤中です……
295デフォルトの名無しさん:2008/06/29(日) 17:35:47
【 課題 】簡単なゲームにファイル機能を(補足のtxtに詳細を載せました)
【 形態 】Javaアプリケーション
【 GUI  】特に制限は課されていません
【 期限 】7/2(火)AM10:00
【 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)
【 補足 】 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm 316.txt
      問題の1から分からず、丸投げ状態です。
      宜しく御願い致します。
296デフォルトの名無しさん:2008/06/29(日) 19:44:40
297デフォルトの名無しさん:2008/06/29(日) 21:40:02
298デフォルトの名無しさん:2008/06/29(日) 22:16:30
>>276
返答が遅くなってしまいました、すみません。
有難うございました
299291:2008/06/29(日) 22:33:49
>>297
素晴らしいです!!!
本当にありがとうございました!!!
300292:2008/06/29(日) 22:56:21
>>296
そのような形です。まさにそれっといった感じです!

Vectorクラスなどを使うのですね。すごく参考になります。
for(シェイプ情報 s : シェイプス)はどういった意味を指すのでしょうか?
「java for コロン」などで検索してもよく理解できませんでした。
301デフォルトの名無しさん:2008/06/29(日) 22:57:46
拡張forループ
302デフォルトの名無しさん:2008/06/29(日) 23:02:03
>>301
ありがとうございます! 
303デフォルトの名無しさん:2008/06/29(日) 23:13:54
http://www.objectstart.com/downloads.html
にある下から2番目のClick here to access a
Zip file containing the Java 1.5.x version
of source code for the second edition of BJO.
(This version of source code will not compile
with Java 1.4.x or earlier compilers.)
のファイルにあるCh14のCourse Person Professor
ShedcleOfClasses Section
Student Transcript TranscripEntry
のクラス図を教えてください

期限は明後日です。
クラス図がさっぱりわかりません
304デフォルトの名無しさん:2008/06/30(月) 05:30:34
305デフォルトの名無しさん:2008/06/30(月) 05:49:33
>>304
セーブの前に「決定」をしないとイメージがずれてしまうので修正。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/321.zip
306デフォルトの名無しさん:2008/06/30(月) 05:57:50
【 課題 】
Swingを使った簡易ドローエディタ
色・図形選択のできるボタンがあり、マウスをウィンドウ内でドラッグすると
選ばれている色で選ばれている図形を描画する。以前に描画した図形は描画したまま。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】
現状:javax.swing.*、java.awt.*、java.awt.event.*、java.util.*をimport
特に制限はないと思います。

【 期限 】提出期限:本日16時
【 Ver  】
学内のLinuxパソコン:おそらく1.6.0
今は自宅のWindowsマシン、Eclipse(IDE for Java Developers)で実行中

【 補足 】
↓今自分が作っている最中のソースコードです。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/320.txt
今は押すごとに色が赤→緑→青と順次変わるボタンと
押すごとに描画図形が四角形⇔楕円と変わるボタンがついただけの状態です

追加・変更したい要素は、
1.描画図形の種類に直線と中が塗りつぶされている四角形を追加
2.色・図形の選択をボタンでなくJComboboxやJColorChooserで実装
このうち1番が必須で、2番は可能であればという感じです。
307デフォルトの名無しさん:2008/06/30(月) 11:12:30
>>306
2の図形選択と1の直線追加の手抜き差分。
直線のクラス LineFigure は直してないが、座標計算要修正。
class DrawApplication に以下を追加:
 private String figureMode;
 public void setFigureMode(String figureMode) {
  this.figureMode = figureMode;
 }
同クラス内メソッド void createFigure(int x, int y) を修正:
 //Figure f = oval ? new OvalFigure(x, y, 0, 0, currentColor): new RectangleFigure(x, y, 0, 0, currentColor);
 Figure f = null;
 if(figureMode.equals("Oval")) {
  f = new OvalFigure(x, y, 0, 0, currentColor);
 } else if(figureMode.equals("Rectangle")) {
  f = new RectangleFigure(x, y, 0, 0, currentColor);
 } else {
  f = new LineFigure(x, y, 0, 0, currentColor);
 }
class DrawMain の void main(String argv[]) を修正:
 //final JButton fc = new JButton("図形変更");
 final JComboBox fc = new JComboBox(new String[]{"Oval","Rectangle","Line"});
 fc.addActionListener(new ActionListener(){
  public void actionPerformed(ActionEvent e){
   app.setFigureMode((String)fc.getSelectedItem());
   }
  });
 fc.setSelectedItem("Oval");
308307:2008/06/30(月) 11:17:40
ごめん、ソース部分に全角スペースでインデント入ってしまった。
コピペするとき消しといて。
309デフォルトの名無しさん:2008/06/30(月) 12:43:37
>>308 ぜんぜん問題無い
310デフォルトの名無しさん:2008/06/30(月) 14:32:49
>>275の問題の続きです

【課題】問題1のプログラムをもとに、 Music クラスに Comparable インタフェースを実装し、
それを利用してソートをするようにプログラムを変更しなさい。
ただし、rating の降順でソートすることは変わらないものとする。

ソートのアルゴリズムは問題1と同じでよい。

main メソッドのあるクラスのクラス名は ComparableMusicSortByRating とする。

【形態】1. Javaアプリケーション(main()で開始)
【期限】6月30日 23:59
【Ver】1.5.0.11
【補足】Comparableインターフェースを作成していちおうソートはできたのですが
問題1のソートアルゴリズムを全く使用していないものになってしまいました。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/322.java
どうしたら先のソートアルゴリズムを利用できるかが分からない部分です。
よろしくお願いします
311デフォルトの名無しさん:2008/06/30(月) 15:16:47
>>310
ArrayListをCollections.sort()にかけてやればよいのでは?
312デフォルトの名無しさん:2008/06/30(月) 18:04:37
[1] 授業単元:オペレーティングシステム
[2] 問題文(含コード&リンク):
プログラム
step1: a = x + y;
step2: b = z + 1;
step3: c = a ? b;
step4: w = c + 1;
に関し、http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/323.txt
を完成させて、
step1とstep2を並列実行させるプログラムを作成せよ。
但し、x,y,zはプロンプトにしたがって入力するとする。
正しく動作したか?結果を考察せよ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限:7/3 23:00まで
313デフォルトの名無しさん:2008/06/30(月) 18:07:03
>>312
落ち着いてスレタイを嫁
314276:2008/06/30(月) 18:09:02
>>310
Music が Comparable#compareTo() を実装する利点は、sort() が Music クラスを知らなくて済むことなんだが…。
ジェネリックスの書き方が自信ないのでそのまま。

// Music オブジェクトのリストをソート
private static void sort(ArrayList<Music> list)
{
for(int i=1; i<list.size(); ++i)
for(int j=list.size()-1; j>=i; --j)
//if(list.get(j-1).getRating() < list.get(j).getRating())
if(list.get(j-1).compareTo(list.get(j)) > 0)
swap(list, j-1, j);
}

あ、
Collections.sort(list);

sort(list);
にするのを忘れないよーに。
315312:2008/06/30(月) 18:10:00
誤爆った。
スレ汚しスマソ
316デフォルトの名無しさん:2008/06/30(月) 20:35:30
>>314
たまに見るんだけどforの増加値の所を++iと描くのは何か意味があるのかな?
私はi++って描くんだが

なんとなくバブルソート置いておきます・・
private static void sort(ArrayList<Music> list) {
 for(int i=0; i<list.size()-1; i++)
  for(int j=i+1; j<list.size(); j++)
   if(list.get(i).compareTo(list.get(j)) > 0)
    swap(list, i, j);
}
317デフォルトの名無しさん:2008/06/30(月) 21:07:26
>>316
>  for(int i=0; i<list.size()-1; i++)
上記例では++iでも結果は同じ。

++i : +1してからiを評価
i++ : iを評価後に+1

よって (if i++ > 10) と (if ++i > 10) とは結果が違う。
318デフォルトの名無しさん:2008/06/30(月) 21:27:02
>>317
すまん・・それは知ってるんだけどforの増減値の所は
i++が普通だと思っててなんとなく気になったんだよ
319デフォルトの名無しさん:2008/06/30(月) 22:43:21
package java_center_test;
public class six {
public static void main(String[] args)
{
//以下のswitch文をif文で書き換えてください。
/*
switch(n)
{
case 90;
case 80;
System.out.println("A");
break;
case 70;
System.out.println("B");
break;
case 60;
System.out.println("C");
break;
default;
System.out.println("D");
break;
*/
【 課題 】以下のswitch文をif文で書き換えてください。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】 5. その他(意味がわかりません)
【 期限 】一週間後です。
【 Ver  】1.5.0
【 用語 】
【 補足 】動かないので /* と */ で囲ってあります.Eclipse というソフトを使っています。OS は MacOSX の 10.4 です。このサイトは先輩から教えてもらいました。初めての利用です。よろしくお願いします。
320デフォルトの名無しさん:2008/06/30(月) 23:04:28
>>319
case の後ろは ; ではなく、 : が正しい。
switchを閉じる } が無い。

その先輩に直接聞いた方が、早かったのでは?
321639:2008/06/30(月) 23:48:56
>>319

package java_center_test;
public class six {
public static void main(String[] args)
{

if(n == 90 || n == 80){
System.out.println("A");
}else if(n == 70){
System.out.println("B");
}else if (n == 60){
System.out.println("C");
}else{
System.out.println("D");
}
322デフォルトの名無しさん:2008/07/01(火) 02:21:36
>>316
プログラミング言語C(K&R) が ++i って書いてあるからそれの影響じゃないかな?
323322:2008/07/01(火) 02:40:50
今確認したらK&Rも i++ だった.スレ汚しスマソ.
324デフォルトの名無しさん:2008/07/01(火) 02:47:31
【 課題 】1.線型リストの要素数を返すメソッド int listLength(ListNode head) を作成しなさい.
2.線形リストの要素を逆順に並べかえるメソッド ListNode listRev(ListNode head) を作成しなさい.
再帰的メソッドと,繰り返し制御を用いた非再帰的なものを作成しなさい.
非再帰的なメソッドの名前はlistRevとし,再帰的メソッドの名前はlistRev2として,
1つのプログラム中に両方の定義を書き,正しく実行できるかが示せればよい.
3. 線型リストの要素を大きさの順(辞書式順序)に並べ替えるメソッド ListNode listSort(ListNode head) を作成しなさい.
【 形態 】1. Javaアプリケーション
【 期限 】7/3 17:00
【 Ver  】1.5.0_15
【 補足 】条件は,next欄を書き換えることで要素の並び方を変更するのであり,単に逆順に表示するのではない.
すなわち,「ポインタを付けなおす」ことに相当するので, new演算子を使わずにリストのnext欄の値を書き換えることで並べかえること.
任意の長さ(要素数)の線形リストに対して動作すること.
すなわち,要素数が1つの線形リストや,要素数が0(空リストnull)のものに対しても正しく動作するか確認しなさい.
となっています.
また,グローバル変数は使えず,listSortではint compareTo(String anotherString)メソッドを使用するように言われています.

課題2の再帰的なメソッドlistRev2と,課題3がうまくいきません.
各メソッドの定義はttp://www.ed.noda.tus.ac.jp/j-takeda/list.htmlにあります.
よろしくお願い致します.
325デフォルトの名無しさん:2008/07/01(火) 17:33:31
>>320 の方
アドバイスありがとうございます!
本当ですね。> ";" でなく ":" が正しい
問題用紙をじっくり見たら確かにでした。そして画面で見たら分からなかったです。
ちなみに先輩は規則正しい生活なので帰られてました。>夜11時

>>321 の方
ありがとうございます!
動くことも確認しました。ありがとうございました。

あと、期限なのですが、来週と思っていたら、明後日の朝でした。
何でも持ち込みして良いとのことなので、この掲示板のお力も借りられればと思っています。
326デフォルトの名無しさん:2008/07/01(火) 19:40:24
>>316
実装の問題じゃね?
インクリメントを実装するときに、後置だとインクリメントする前の値を返す必要があるから、変数をバックアップした後に+1してバックアップをreturn。
でも前置なら+1した変数をそのままreturnすればいいので、後置にするよりローコストになる。
でも、正直intとかのネイティブならコンパイラの最適化対象になりそうなんで、コンパイルしてみるとどっちでも同じというオチ。
327デフォルトの名無しさん:2008/07/01(火) 19:50:41
328319:2008/07/01(火) 20:17:07
丸投げで申し訳ないのですがよろしくお願いします。

問題
次のように画面に出力されるプログラムを作成せよ。
ただし作成するプログラムに反復構造を含めること。
-----------------------------------------------------------------
12345
1234
123
12
1
-----------------------------------------------------------------
329319:2008/07/01(火) 20:18:10
問題
次のように画面に出力するプログラムを作成せよ。
ただし作成するプログラムに反復構造を含めること。
-----------------------------------------------------------------
12345
1234
123
12
1
12
123
1234
12345
-----------------------------------------------------------------
330319:2008/07/01(火) 20:22:31
問題
2006年現在の日本の人口は127,700,000人です。
年率0.5%の割合で人口が減少した場合、2007年の人口は何人になるかを計算して、以下のように表示するプログラムを作成せよ。
-----------------------------------------------------------------
2007年の日本の人口はXXXXXXX人になる。
-----------------------------------------------------------------
331319:2008/07/01(火) 20:23:35
問題
2006年現在の日本の人口は127,700,000人です。
年率0.5%の割合で人口が減少した場合、2030年の人口は何人になるかを計算して、以下のように表示するプログラムを作成せよ。
-----------------------------------------------------------------
2030年の日本の人口はXXXXXXX人になる。
-----------------------------------------------------------------
332319:2008/07/01(火) 20:28:41
package java_center_test;

public class exam107 {

//次のプログラムを実行したときの出力を示せ。
//また各 ans を求めた計算過程を説明せよ。
//(説明例)x=3, y=2 のとき ans=x+y=3+2=5

public static void main(String[] args){
int x=3, y=3, ans=1;
ans = x-- * ++y;
System.out.println(ans);
ans += x++ * --y;
System.out.print(ans);

//初期状態:x=3,y=3,ans=1
//次の状態:x=2,y=4,ans=2*4=8 ???
//最後状態:y=3,y=3,(ansは12)←これに足し算するので ans=15 ???

//ゴメンなさい。コンソールでは 次,最後が 12,18 になっています。
//なぜでしょうか?

}
}
333319:2008/07/01(火) 20:35:00
package java_center_test;

public class exam108 {

//以下のプログラムを実行したときの出力結果を示せ。
//さらにこのプログラムを for-loop 文で書き直せ。

public static void main(String[] args){
int num =0, i=1;
while((num=23*i)<100){
System.out.println(num);
i++;
}

//出力結果は得られて理解は出来たのですが、
// for-loop 文の書き直しがちっとも頭に浮かびません。

}
}
334デフォルトの名無しさん:2008/07/01(火) 20:39:35
335319:2008/07/01(火) 20:49:26
package java_center_test;public class exam114 {
//各学生の合計を計算し、配列 goukei に格納する。そして各学生の平均点を表示するプログラムを完成させなさい。なお、配列の要素数の情報は length を用いること。
//
//配列 ten
//
//    英語 数学  社会 理科    合計
//学生A  60  50  80  80  →
//学生B  70  80  70  90  →
//学生C  40  90  60  70  →

public static void main(String[] args){
int ten[][]={{60,50,80,80},
{70,80,70,90},
{40,90,60,70}};
int goukei[]=new int[ten.length];
//学生ごとの合計点数の集計
for(int i=0; i< 「Q.1」; i++){
「Q.2」=0; //配列 goukei の初期化
for(int j=0; j<「Q.3」; j++){
goukei[i]=goukei[i]+「Q.4」; } }
//平均点の表示
for (int i=0; i< goukei.length; i++){
System.out.println(goukei[i] /「Q.5」);}}}
336デフォルトの名無しさん:2008/07/01(火) 21:03:05
319の未来が心配だ・・この調子だと毎回丸投げしそうで怖いぞ
>>328とか
1
12
123
1234
12345
を表示するプログラムは授業でやってるとかじゃないのか?
337319:2008/07/01(火) 21:23:48
>>336
自分でも未来が心配です・・
>>328とか
おそらく
System.out.println("1");
System.out.println("12");
System.out.println("123");
System.out.println("1234";)
System.out.println("12345";)
を for 文で書くので、おそらく 12345 を数字でなくて、
文字列として書けば良いのだと思って今のところ String ary[] = 12345
みたいな感じで for 文 ループを回そうとしています。
授業で文字列の最後だけ消して行くような内容はやったかどうか分かりません。
338319:2008/07/01(火) 21:28:03
今は
>>332
ではまっています。
以前に i++ と ++i の違いについての書き込みがあったので、
それを読みながら試行錯誤しています。

int x=3, y=3, ans=1;
ans = x-- * ++y;
System.out.println(ans);
ans += x++ * --y;
System.out.print(ans);

//初期状態:x=3,y=3,ans=1
//次の状態:x=2,y=4,ans=2*4=8 ???
//最後状態:y=3,y=3,(ansは12)←これに足し算するので ans=15 ???
339デフォルトの名無しさん:2008/07/01(火) 21:36:55
>>338
とりあえず、この辺りからじゃね?

int x=3;
System.out.println( x--);
x=3;
System.out.println( --x);
340319:2008/07/01(火) 21:49:09
自己解決したような気がします。
>>332
//日本語になっているのか怪しいけれどメモしておきます。
// int の次の行では x は ++ される前に ans に行くので、
// x は初期状態のままの 3 。そして y は ans に行く前に ++ されるので、
// y は初期状態から1つ足した値の 4 になる。
// 3*4 = 12 という答えが出てくる。
//最後のところは先ず x が int の次の行で -- されているので、
// x は 2 なのだけど、++ は ans に行く後なので、ここでは x は 2 のままで考えて、
// y は上のところと同様に y の前に -- があるから、こっちは -- されて 3 である。
// 3*2 = 6 となって、これが ans に入ってた 12 と足し算になるので合計 18 になる。
//一応、自己解決しました。
341319:2008/07/01(火) 21:53:44
>>339
ありがとうございます。まさに、その辺りでした。> --x と x--
何の意味があるのかわからないのですが、そういうものだと丸暗記して次に進みます。
実は public static void main(String[] args) の意味も理解してません。
とはいえ授業の配布資料のメモにも「丸暗記」と書いてありますし、悩むだけの時間も与えられてないので・・
342デフォルトの名無しさん:2008/07/01(火) 21:57:35
>>341
そこは暗記で良いよ。
public static void main(String[] args)からプログラムが始まるってことでいい。
次は>>330かな・・・
343319:2008/07/01(火) 22:16:59
>>342
そう断言して頂けると安心して次に進めます。
「位置についてよーいドン」の訳語とでも丸暗記しておきます。
>>330ですか。>>333の書き換え問題で悩んでいるので、少し放置して330にチャレンジしてみたいと思います。
実は書き込んだ順と与えられた問題の順番が違っていて、手元の試験問題対策プリントだと、>>332,>>333,>>328,>>329,>>330,>>331,>>335 の順番に並んでいます。
344デフォルトの名無しさん:2008/07/01(火) 22:36:54
これは>319が自分で解けるように誘導する流れなのか?
345639:2008/07/01(火) 22:41:35
>>343
普通にその順番でやっていったほうがいいと思う。
>>330以降の問題も>>333の問題ができないとできない。(whileでもできんことはないけどめんどくさい)

forは
for(初期値;継続条件;増分){
処理内容
}

>>330の問題を直すと
int i,num=0;
for(i=1;(num=23*i)<100;i++){
System.out.println(num);
}
346639:2008/07/01(火) 22:47:50
俺なんで名前>>639にしてたんだwww

>>328

int i,j;

for(i=0;i<5;i++){
for(j=1;j=5-i;j++){
System.out.print(j);
}
System.out.println();
}
347319:2008/07/01(火) 22:51:43
>>344
ここは「丸投げ」のスレッドという認識を持ってしまっているのですが、それはあまりに皆様に失礼な気もしまして・・
>>328>>329について、もしかしたら>>18の三角形の問題が役立つかなと思って>>21の解答例を見たら知らない単語が並んでいて自分には役立たないことが分かりました。
別スレッドに「14: 【初心者】Java質問・相談スレッド116【歓迎】 (***)」というのがあるのも知っているのですが、いきなり質問を投げても経緯を説明しないことには回答者の方も大変かなと思いまして。
Java そのものより Exlipse というソフトウェアの使い方も掴みきれていないような状況ですが、英語とかの課題も平行してプログラミングを勉強しています。
今日は目が痛くなってきたので、そろそろ Java のテキストの読み込みの方に移ろうかなと考えているところです。
348324:2008/07/01(火) 22:58:05
>>327
こんなに早く答えていただきありがとうございます。
大変助かりました。
参考にさせていただきます。
349319:2008/07/01(火) 23:04:06
>>345
書き換え問題ありがとうございます。
確かに同じ結果が出ますね。スゴいです。
どうして for 文と while 文とがあるのでしょうか? while でも出来るけどめんどくさいというのは直感でわかるものなのでしょうか?

>>346
for 文の入れ子構造ですか!?
ちょっとガンバって当てはめてみたいと思います。
「型の不一致: int から boolean には変換できません」と言われてしまいました。
もはや何を言っているのかわからないので今日は画面を消したいと思います。
ありがとうございました。
350デフォルトの名無しさん:2008/07/02(水) 06:26:09
>>319
>>1
基本的にテンプレ無視にはレスしない
長い課題でロダ使わずレス消費するのはマナーいくない
351319:2008/07/02(水) 13:08:19
【 課題 】
package java_center_test;public class exam114 {
//各学生の合計を計算し、配列 goukei に格納する。そして各学生の平均点を表示するプログラムを完成させなさい。なお、配列の要素数の情報は length を用いること。
//配列 ten
//    英語 数学  社会 理科    合計
//学生A  60  50  80  80  →
//学生B  70  80  70  90  →
//学生C  40  90  60  70  →
public static void main(String[] args){
int ten[][]={{60,50,80,80},
     {70,80,70,90},
     {40,90,60,70}};
int goukei[]=new int[ten.length];
//学生ごとの合計点数の集計
for(int i=0; i< 「Q.1」; i++){
「Q.2」=0; //配列 goukei の初期化
for(int j=0; j<「Q.3」; j++){
goukei[i]=goukei[i]+「Q.4」; } }
//平均点の表示
for (int i=0; i< goukei.length; i++){
System.out.println(goukei[i] /「Q.5」);}}}

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】GUI の問題ではないと思います。使用しているのはコマンドプロンプトなので。
【 期限 】明日の午前8時頃でお願いしたいです。
【 Ver  】1.5.0
【 用語 】
【 補足 】>>328 解決、>>329 解決、>>330 解決、>>331 解決、>>332 解決 >>333 解決
      >>345>>346 ありがとうございました。
      本問題(>>335と同じ)は急にレベルが上がった気がします。
      >>350 確かにマナー良くなかったです。ご指摘ありがとうございました。
352デフォルトの名無しさん:2008/07/02(水) 14:54:39
>>351
public class exam114 {
public static void main(String[] args) {
int ten[][] = {
{60,50,80,80},
{70,80,70,90},
{40,90,60,70},
};
int goukei[] = new int[ten.length];
for(int i=0; i<ten.length; i++) {
goukei[i] = 0;
for(int j=0; j<ten[i].length; j++) {
goukei[i] = goukei[i] + ten[i][j];
}
}
for(int i=0; i<goukei.length; i++) {
System.out.println(goukei[i]/ten[i].length);
}
}
}
353デフォルトの名無しさん:2008/07/02(水) 16:48:22
【 課題 】
スレッドの作成に関する、何か,自前のスーパークラスを継承し,かつRunnable Interface を実装したアプリケーションを作成せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】明日の 7/3 19:00まで
【 Ver  】1.6.0
【 補足 】
凝ったものが良いらしいです、ゲームではじゃんけんなど。
よろしくお願いします。
354デフォルトの名無しさん:2008/07/02(水) 17:04:31
355デフォルトの名無しさん:2008/07/02(水) 23:53:05
【 課題 】カウントダウンタイマーを作る
【 形態 】1. Javaアプリケーション(mainLoop()で開始
【 期限 】7月3日 13:00まで
【 Ver  】1.6.0
【 補足 】下記のようにしたのですが秒数がカウントされません。
Date d = new Date();
int seconds = d.getSeconds();
int countdown=20;
int starttime=0;
int i=0;
if(i==0){
starttime=seconds;
i=1;
}
countdown=countdown-(seconds-starttime);
System.out.println(countdown);
356デフォルトの名無しさん:2008/07/03(木) 00:30:37
>>292
この質問をした者ではないのですが、>>296の方がやっていただいたプログラムを
(ii)が完成した状態にしていだだけないでしょうか?
357デフォルトの名無しさん:2008/07/03(木) 00:50:05
>>356
はて?
なにが出来ていないかな?
358デフォルトの名無しさん:2008/07/03(木) 00:58:46
>>357
完成はしていると思いますが(iii)の機能が付いた状態ではなく
(i)と(ii)の機能が付いただけのものが見たかったもので・・・・・・
359デフォルトの名無しさん:2008/07/03(木) 01:12:11
【 課題 】
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/326.txt
上記のソースの簡易webブラウザに
"戻る" というボタンを付け,ホームページの閲覧履歴を遡れるように実装する。

【 形態 】Applet
【 GUI  】制限なし
【 期限 】本日 7/3 20:00まで
【 Ver  】1.6.0
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】丸投げです。よろしくお願いします。
360デフォルトの名無しさん:2008/07/03(木) 01:17:04
>>358
(iii)の関連部分を削ってみた。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/327.java

ただ、(i)の出来上がりとしては、毎回、前の図を消去しないといけないと思う。
361デフォルトの名無しさん:2008/07/03(木) 01:37:42
>>360
横からでしたありがとうございます
(i)は補足がありそれでできましたので大丈夫です
362デフォルトの名無しさん:2008/07/03(木) 07:10:31
>>355
sleepを使えば、こう。
int countdown = 20;
while(0<=countdown){
System.out.println(countdown--);
try{
Thread.sleep(1000);
}catch(Exception ex){
ex.printStackTrace();
}
}
363デフォルトの名無しさん:2008/07/03(木) 08:05:35
それきもい。
364デフォルトの名無しさん:2008/07/03(木) 08:17:53
【課題】クラスA、B、C、Dがある。クラスAはBを継承し、クラスCはBを継承し、クラスDはクラスCを継承する。

【形態】1. Javaアプリケーション(main()で開始)
【期限】7月9日
【Ver】1.5.0
【補足】
365デフォルトの名無しさん:2008/07/03(木) 08:25:14
【課題】クラスA、B、C、Dがある。クラスAはBを継承し、クラスCはBを継承し、クラスDはクラスCを継承する。
クラスBにはint型の変数bが定義されており、コンストラクタB(int B)も定義されているとする。クラスA、C、Dは
すべて親のクラスを継承し、自分のクラスの中に独立した変数の定義はないものとする。すべてのクラスとコンストラクタを定義せよ。
mainを含むクラスはTestInheritanceとしクラスDの変数yをコンストラクタD(13)で生成し、y.bを印字せよ。
【形態】1. Javaアプリケーション(main()で開始)
【Ver】1.5.0
class B {
int b;
B(int b){
this.b=b;
}
}
class A extends B {
A(int b){
}
}
class C extends B {
C(int b){
}
}
class D extends C {
D(int b){
}
}
class TestInheritance {
public static void main (String args[]){
D y = new D(13);
System.out.println("y.b = " + y.b);
}
}
ここまで書いてみたのですがうまくいきません。どこか違うのでしょうか?よろしくお願いします
366355:2008/07/03(木) 08:26:35
>>362
ありがとうございます。
先ほど実行したのですが、
カウントダウンはできているのですがアプレット(MainLoop?)の中で実行できませんでした。
説明不足ですみません。
一回スレッドを使ってやろうとしたのですがうまくいかなかったので
Dateクラスを使って作ってみたのですがよくわかりません。
どなたか良い方法あればよろしくお願いします
367デフォルトの名無しさん:2008/07/03(木) 08:39:01
>>366
>>355では「Javaアプリケーション」と書いてるけど・・・

いずれにせよ、init()に書き込めば、コンソールに表示されるのでは?
368デフォルトの名無しさん:2008/07/03(木) 08:58:32
>>365
super(b)とか書けってことでは?
369365:2008/07/03(木) 09:05:59
>>368
どのように書けばいいのでしょうか??
370365:2008/07/03(木) 09:24:22
自己解決しました
どうもお騒がせしてすみませんありがとうございました
371デフォルトの名無しさん:2008/07/03(木) 14:10:40
どなたか>>359をお願いします。
372デフォルトの名無しさん:2008/07/03(木) 17:07:28
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/328.java
【 課題 】画像を読み込み、読み込んだ画像をグレースケール化した後名前をつけて保存する。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】7月4日
【 Ver  】1.6.0 Eclipse仕様
【 補足 】
1.実行すると無限にでるウィンドウの処理を直したい。
displayPanel = new MousePaint();
をコメント文にすると無限にでなくなるのだが、その原因がわからない。

2.マウスリスナーのアクションを無くしてメニューからOpenでファイルを読み込み
ウィンドウにすぐ画像を表示させたい。

3.読み込んだ画像をグレースケール化したい。←初心者のためここが一番わからない^^;
373デフォルトの名無しさん:2008/07/03(木) 17:32:47
>>372
1.→コンストラクタの中で無条件に同じコンストラクタを呼び出しているのだから、無限に呼び出されて当然。
374372:2008/07/03(木) 17:41:38
>>373
どうすれば呼び出されないようにすればいいでしょうか?
375デフォルトの名無しさん:2008/07/03(木) 18:22:08
【課題】
アルゴリズムの作成

(x,y,z,w)に代入されている数字が(1.2.4.8)→(1,2,8,4)→(1,4,2,8)→(1,4,8,2)→(1,8,2,4)→・・→(8,4,2,1)
と4!通りのパターンが順番に代入されていく様子をprintlnで表示するコードを作成すること

【形態】 Javaアプリケーション(main()で開始)
【Ver】 1.6.0
【補足】 代入アルゴリズム部分だけでも大丈夫です よろしくお願いします。
376デフォルトの名無しさん:2008/07/03(木) 19:08:26
【課題】平面に5つの座標を考える。5つの座標(x,y)を二次元配列に入力し、すべての座標間の距離を計算せよ。
【形態】Javaアプリケーション(main()で開始)
【期限】7月4日
【ver】1.6.0
【補足】わからないのでおねがいします
377デフォルトの名無しさん:2008/07/03(木) 19:18:38
>>374
1.displayPanel自体いらないので削除してみた。
2.主旨が分からなかったのでパス。
3.中に入っていたロジックをペーストして、ちょちょっと。

ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/331.java
378デフォルトの名無しさん:2008/07/03(木) 20:11:34
>>375
public static void main(String[] args) {
int[] alphabet = {1,2,4,8};
int[] lngTemp = new int[0];
hoge(alphabet,lngTemp);

}
public static void hoge(int[] candi,int[] patt){
if(candi.length==0){
for(int i=0;i<patt.length;i++)System.out.print(patt[i]);
System.out.println();
}else{
for(int i = 0;i<candi.length;i++){
int[] c = new int[candi.length-1];
int index = 0;
for(int j = 0;j<candi.length;j++){
if(j!=i)c[index++]=candi[j];
}
int[] p = new int[patt.length+1];
for(int j = 0;j<patt.length;j++){
p[j]=patt[j];
}
p[patt.length]=candi[i];
hoge(c,p);
}
}
}
379デフォルトの名無しさん:2008/07/03(木) 20:13:12
>>376
二次元配列という注文が、理解しがたい。
380デフォルトの名無しさん:2008/07/03(木) 21:10:05
>>376
とりあえずint[5][2]と判断
public static void main(String[] args) {
int[][] point = new int[5][2];
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 2; j++) {
point[i][j] = (int) (Math.random() * 10);
}
}
for (int i = 0; i < point.length; i++) {
System.out.println(i + 1 + ":("+point[i][0] + "," + point[i][1]+")");
}
System.out.println();
for (int i = 0; i < point.length - 1; i++) {
for (int j = i + 1; j < point.length; j++) {
System.out.print((i+1) + "-" + (j+1) + ":");
System.out.println(distance(point[i], point[j]));
}
}
}
static double distance(int[] point1, int[] point2) {
return Math.sqrt(Math.pow((point2[0] - point1[0]),2.0) + Math.pow((point2[1] - point1[1]),2.0));
}
381355:2008/07/03(木) 21:13:51
>>367
お返事遅くなって申し訳ありません
違う方法ですが無事解決できました。ありがとうございました。
382372:2008/07/03(木) 22:55:12
>>377
ありがとうございます。
これを参考に自分なりにアレンジして作ってみたいと思います。
383デフォルトの名無しさん:2008/07/04(金) 10:54:17
htmlのフォームのボタンを押す動作などをJavaで実現したいのですが、
何かそういったことのためのクラス・メソッドは無いでしょうか?
HttpURLConnectionでUserAgent入れてソース落とすのはできるのですが、
そこから先のFormの処理がわかりません・・・。

よろしくお願いします。
384デフォルトの名無しさん:2008/07/04(金) 11:02:20
フォームについて少し勉強するといいよ
385デフォルトの名無しさん:2008/07/04(金) 12:46:16
>>383
全然言葉が足りないが、ダウンロードした HTML に含まれる form を Java で実行しようとしているのか?
宿題なら >>1 を参照してちょ。
んで、思っているのと違うかも知れんが、
http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/JEditorPane.html
386255:2008/07/04(金) 22:35:57
座標A(X1,Y1)〜座標B(X2,Y2)までの直線Eと
座標B(X3,Y3)〜座標C(X4,Y4)までの直線Fが
交差しているかどうか判定したいです。

どういうコードになりますか?
387デフォルトの名無しさん:2008/07/04(金) 23:06:25
>>386
>>1テンプレを
388デフォルトの名無しさん:2008/07/05(土) 04:54:06
>>386
質問だけならこっち行けばいい

【初心者】Java質問・相談スレッド116【歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1213347130/
389デフォルトの名無しさん:2008/07/05(土) 23:09:27
【 課題 】配列を用いて点数57,78,91,61,42,77点の合計点と平均点、60点以上の人数と
      平均点以下の人数を求めるプログラムを作成せよ。
【 形態 】1. Javaアプリケーション
【 期限 】7/9
【 補足 】学校で配列の所を勉強した時に課題としてでました。丸投げですが宜しくお願いします。


390デフォルトの名無しさん:2008/07/05(土) 23:30:39
>>389
public class Test{
public static void main(String[] args){
int[] score = {57,78,91,61,42,77};
int sum, avr, u60, lavr;

sum = 0;
for(int i = 0; i < score.length; i++){
sum += score[i];
}
avr = sum / score.length;

u60 = 0;
lavr = 0;
for(int i = 0; i < score.length; i++){
if(score[i] >= 60)
u60++;
if(score[i] <= avr)
lavr++;
}

System.out.println("合計点:" + sum);
System.out.println("平均点:" + avr);
System.out.println("60点以上:" + u60);
System.out.println("平均以下:" + lavr);
}
}
391デフォルトの名無しさん:2008/07/06(日) 13:14:18
【 課題 】
四桁の数字をコンソール上でキーボードから入力し、それを出力せよ。
同時に、その数字が素数であるかどうかを判定し、その判定結果を出力せよ。
さらに、その数字より小さい自然数で最大の素数を求め、出力するようにせよ。
上記の内容を実行するプログラムをJAVAで作成せよ。
ただし、以下のポイントを考慮すること。
ポイント:素数でない場合は、判定結果と合わせて、その最大の約数(1とその数自身を除く)も出力する。

【 形態 】1. Javaアプリケーション(main()で開始)

【 期限 】7/8

【 補足 】丸投げです。よろしくお願いします。
392389:2008/07/06(日) 14:37:34
>>390
すぐに回答して頂きありがとうございました。
ホント助かりましたm(__)m
393デフォルトの名無しさん:2008/07/06(日) 15:21:59
>>391
public class ThePrime {
public static void main(String[] args) throws IOException {
System.out.println("4桁の整数を入力:");
Scanner sc = new Scanner(System.in);
int value = sc.nextInt();
if(isPrime(value)) {
System.out.println(value+"は素数");
} else {
System.out.println(value+"は素数ではない");
System.out.println("最大の約数:"+getMaxDivisor(value));
}
for(int lastPrime=value-1; lastPrime>=3; lastPrime--) {
if(isPrime(lastPrime)) {
System.out.println(value+"より小さい素数:"+lastPrime);
break;
}}}
private static boolean isPrime(int value) {
if((value%2) == 0) return false;
for(int i=3; i<value/2; i+=2) if((value%i) == 0) return false;
return true;
}
private static int getMaxDivisor(int value) {
if((value%2) == 0) return value / 2;
int divisor = value;
for(int i=3; i<value; i+=2) if((value%i) == 0) divisor = i;
return divisor;
}}
//エラー無視 & すまん、素数の求め方もあってるか分からんwwwww
394デフォルトの名無しさん:2008/07/06(日) 15:37:44
エラトステネスのふるい涙目ww
まぁ4桁ぐらいなら余裕かw
395デフォルトの名無しさん:2008/07/06(日) 15:59:55
【 課題 】GUI設計に基づき、簡易電卓を設計せよ。ただし以下の条件を満たすように。
      @0から9のボタン入力式でテキストフィールドに出力する
      A四則演算は+−×÷のボタン、小数計算は . のボタン、
      結果は=のボタンで行うようにする。
      B数字のクリアはCで行うように。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】2.Swing
【 期限 】7/9
【 補足 】このプログラムはNetBeansIDE6.1でGUI設計してからプログラム
      を書いていくという手順でやっています。
      あと0から9のボタンや+−×÷のボタンが押された時の
      ActionPerformedはそれぞれ個別にで定義するのではなく
      まとめて定義したいんですが、上手くいかないんです。
      そこら辺の定義の仕方も詳しくして頂けるとありがたいです。
396デフォルトの名無しさん:2008/07/06(日) 16:37:58
>>395
NetBeans 使ってないので操作方法だったら分からんが、作りかけでもあるなら出したほうがいい。
>ActionPerformedはそれぞれ個別にで定義するのではなくまとめて定義したい
というのが ActionListener をボタン毎に別のインスタンスにするのでは無く
一つのインスタンスでっていうことなら、各ボタンの AddActionListener に
同じ ActionListener インスタンスを渡すだけだ。
でその ActionPerformed 内で ActionEvent#getSource なり getCommand なりで
どのボタンのイベントかを判別して処理分け。
397デフォルトの名無しさん:2008/07/06(日) 17:09:54
>>396
返信ありがとうございます。

package dentaku;

import java.awt.event.*;
import javax.swing.*;

public class dentakuFrame extends javax.swing.JFrame {

public dentakuFrame() {
initComponents();
}

------------------------------------------------------------------------------------------
ここにボタンの位置などの設定がデフォルトで入っている。
------------------------------------------------------------------------------------------

public void appendResult(String c) {
result.setText(result.getText() + c);
}

public class NumberButton extends JButton implements ActionListener {

public NumberButton(String key) {
super(key); //JButtonクラスのコンストラクタを呼び出す
this.addActionListener(this); //このボタンにアクションイベントのリスナを設定
}

398デフォルトの名無しさん:2008/07/06(日) 17:11:58
public void actionPerformed(ActionEvent evt) {
String keyNumber = this.getText(); //ボタンの名前を取り出す
appendResult(keyNumber); //ボタンの名前をテキストフィールドにつなげる
}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new dentakuFrame().setVisible(true);
} }); }
private javax.swing.JButton Button0;
private javax.swing.JButton Button1;
private javax.swing.JButton Button2;
private javax.swing.JButton Button3;
private javax.swing.JButton Button4;
private javax.swing.JButton Button5;
private javax.swing.JButton Button6;
private javax.swing.JButton Button7;
private javax.swing.JButton Button8;
private javax.swing.JButton Button9;
private javax.swing.JButton divButton;
private javax.swing.JButton minusButton;
private javax.swing.JButton mulButton;
private javax.swing.JButton plusButton;
private javax.swing.JButton pointButton;
private javax.swing.JButton resetButton;
private javax.swing.JTextField result;
private javax.swing.JButton resultButton;
}
これが現在の状況です。Actionに反応して値を受け渡したり、
演算子に応じる設定がどうしたらよいのかがわかりません。
よろしくお願いします。
399デフォルトの名無しさん:2008/07/06(日) 17:23:16
補足
0から9のボタンはButton0からButton9に
小数点はpointButtonに
四則演算はplusButton,minusButton,mulButton,divButtonに
クリアはresetButton、=はresultButtonに
数値表示テキストはresultに設定しています。
400デフォルトの名無しさん:2008/07/06(日) 17:25:15
>>397-399
>>1
省略しないで全部ろだ2等にアップ
401デフォルトの名無しさん:2008/07/06(日) 17:47:59
ろだ2の336.javaにupしました。お願いします。
402デフォルトの名無しさん:2008/07/06(日) 18:15:34
NumberButton使ってないね・・
403デフォルトの名無しさん:2008/07/06(日) 19:17:59
NumberButtonと言うことは、数字以外のActionPerformedはまとめなくて良いのだろうか、
それとも、すべてのActionPerformedを一つにしたいのだろうか。

そもそも、ActionPerformedをまとめると言うのは出された課題ではないようだけど・・・
404デフォルトの名無しさん:2008/07/06(日) 19:36:10
>>401
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/337.java
全部一個のリスナ(dentakuFrame)にしてみた。
initComponents も弄ると危なそうなので弄らない方向で。
ときどき例外出ることがあるのはご愛嬌(!)
405デフォルトの名無しさん:2008/07/06(日) 21:22:14
>>404
回答ありがとうございます。複雑なプログラムを提示してしま
って申し訳ないです。実際に動かしてみてまた何かあったら
質問します。本当にありがとうございました。
406デフォルトの名無しさん:2008/07/06(日) 23:07:46
たびたびで恐縮なんですが、>>404 のプログラム中で
actionPerformedの定義の部分が理解できないんですが、
解説して頂けないでしょうか。プログラムの意味を
理解しようとしたんですけど初めてみるメソッドなどが多く
て困っています。
特にpushとpop、Stack、peek()、getPriorityなどの意味と
このプログラムにおける使用の仕方などを詳しく解説して
頂けるとありがたいです。
あとBigDecimalで何を行っているかなどもできればお願いします。
407404:2008/07/07(月) 01:15:27
>>406
StackはスタックというLIFO構造で、pushで入れたモノがpopで取り出せる。
peekは取り出さすことなく最後に入れたモノを得る。
Operator#getPropertyは、掛け算割り算を足し算引き算より優先して実行するために入れてある。
1+2*3と入力しようとしたとき、1+2*と入力した場合、最後の*を押した時に1+2を実行「しない」。
1+2+と入力した場合は最後の+を押した時に1+2を「実行し」3を表示する。
BigDecimalは大きな/小さな数値を表現する場合に限界や誤差などを「あまり」気にせずに使うためのクラス。
Javaのドキュメントと「Java BigDecimal」で検索などしてみて。
ちなみにときどき例外が…というのはこのBigDecimalのdivideらしぃ^^;
408404:2008/07/07(月) 01:21:21
よく見たらStack#pushをStack#addにしちゃってるとこばかりだな。
一応Stack#addはpushと同じだから動いてるみたいだが。
409404:2008/07/07(月) 04:05:47
>>406
divideの例外回避とかStack#add→pushとか変数名変えたりとか動作中のスタックイメージコメントなども入れてみた。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/338.java
410デフォルトの名無しさん:2008/07/07(月) 06:24:06
なんか某アスキーの逆ポーランドの解説を思い出した。
411デフォルトの名無しさん:2008/07/07(月) 23:17:27
>409
例外回避から詳しい説明まで感謝の限りです。実際に動かしてみて
動作も正常に行われました。説明を読んでpopやpush、getPriority
などの使い方、プログラムの動作もよくわかりました。今度使って
みようと思います。

最後に0で割った時のエラーメッセージを出力しようと
try-catch構文でArithmeticExceptionは回避させたんですけど、
java.util.EmptyStackExceptionのほうが割り算のoperatorに
try-catchで組み込んでもうまくいかないのですが、どうすれば
よいのでしょうか。たびたび質問ですみませんがお願いします。
412409:2008/07/08(火) 00:09:02
>>411
まず、状況を説明するならその元となるモノ(409が変更した結果のソース)をアプしたり
どう「うまくいかない」のか、想像していたことと実際起きたことを明記しないと分からん。
というわけで想像だが、
values.push(a.divide(b,5,BigDecimal.ROUND_HALF_EVEN));
を丸ごと try{ }catch(ArithmeticException e) に入れてしまうと、
values への push がされず、以降の計算を進めるための values が
足りなくなってしまうだろな。
0割が発生した場合は式全体を消して初期状態に戻してしまうのが普通かもしれない。
divideOperator#operateではなく、式全体を計算してるactionPerformedで処理する。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/339.java
413409:2008/07/08(火) 00:17:22
>409が変更した結果のソース
→ 411が変更した〜
スマン。
謝りついでも恐縮だが、長々サシ状態にしてしまってご免>スレ利用者各位
414デフォルトの名無しさん:2008/07/08(火) 00:40:39
>>412
upの件はすみません。
でも無事解決しました。設定する場所が違っていたんで
すね。今回の質問で得るものが多かったです。これを活かして
精進しようと思います。>>409 さん、本当にありがとうございました。
415デフォルトの名無しさん:2008/07/08(火) 15:59:10
【 課題 】java3Dを用いてx,y,zの三次元のパラメータを持つ20個程度のデータを三次元上にプロットし
      プロットされたデータをマウスクリックするとプロットの色が変化するようにしなさい  
【 形態 】2. Applet/
【 GUI  】4. 制限なし/
【 期限 】7月15日
【 補足 】java3Dを今回初めて触ってみてまだサンプルプログラムを使って箱が回転できる程度です
      座標やマウスリスナーの座標指定の仕方について現在調べていこうと考えています
      アドバイス宜しくお願い致します
416デフォルトの名無しさん:2008/07/08(火) 21:58:39
【 課題 】ABC0703_111_Billiards.javaのpaint methodの繰り返し部分を
      for文を用いて書き換えよ。
      ただし、繰り返しは300回行われるようにせよ。
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】不明
【 Ver  】java version "1.6.0"
【 期限 】8月まで
【 補足 】ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/340.java
      ↑がABC0703_111_Billiards.javaの中身です。
      丸投げで申し訳ありませんが、よろしくお願いします。
417デフォルトの名無しさん:2008/07/08(火) 23:02:53
>>416
すでにfor文になってるじゃん・・・?

paintメソッドの(1)〜(4)にある
for(int n=0; n<100; n++)を
for(int n=0; n<300; n++)
にすればいいだけかと。
418デフォルトの名無しさん:2008/07/08(火) 23:32:29
【 課題 】drawOval(50,50,300,300)の円と、その円が内接する正方形つまり
      drawRect(50,50,300,300)を描き、チェックボックスによりその円と
      正方形を切り替えて表示できるようにせよ。
【 形態 】2. Applet
【 GUI  】2. Swing
【 期限 】7/10
【 補足 】丸投げですが、よろしくお願いします。
419デフォルトの名無しさん:2008/07/08(火) 23:40:30
>>415
ネット上で拾ったサンプルを切り貼りしてみた。
当方も本日初めてjava3Dを触ったので、参考までにて。

ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/341.java
420デフォルトの名無しさん:2008/07/09(水) 02:04:23
>>417
その(1)〜(4)が同じっぽいから、つまり二重ループにしろってことじゃ?
繰り返し300回ってのがどっちのことか分からないが。
421デフォルトの名無しさん:2008/07/09(水) 02:08:25
422デフォルトの名無しさん:2008/07/09(水) 12:17:11
>>420
300回、線を引いてみることにした。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/343.java
423デフォルトの名無しさん:2008/07/09(水) 13:35:26
>>419
書き忘れていた細かい部分まで実装されていて
大変参考になりました。ありがとうございます。
余裕が出来たのでこれから自分なりに色々いじってみたいと
思います。本当にありがとうございました。
424デフォルトの名無しさん:2008/07/09(水) 14:07:01
[1] 授業単元:オペレーティングシステム
[2] 問題文(含コード&リンク):
pipe3.cを完成させて、親子プロセス間で交互にメッセージを交換するプログラムを作成せよ。
pipe3.cはこちらになります↓
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7291.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C言語
[4] 期限:7/9 23:59まで

どうかよろしくお願いします。
425424:2008/07/09(水) 14:07:55
誤爆しました。申し訳ありません。
426416:2008/07/10(木) 07:37:03
質問に答えてくださった皆さん、ありがとうございました
教授の言った限りでは>>422で良かったようです
427418:2008/07/10(木) 11:47:16
>>421
すぐに教えて頂きありがとうございました。
無事間に合わせることができました。
428デフォルトの名無しさん:2008/07/10(木) 16:44:26
現在、swingを利用したGUIプログラムを作成しています。
catchブロックで例外を捕らえた場合は、
そのエラー内容を表示しろとのことなのですが、
これはJOptionPane.showMessageDialogで表示したほうがよいのか、
System.out.printlnで表示したほうがよいのか、
一体どちらなのでしょうか。
System.out.printlnだと、開発環境から起動しなかった場合に、
内容を確認できないと思っています。
429デフォルトの名無しさん:2008/07/10(木) 17:03:49
ただの質問は質問スレへ
430デフォルトの名無しさん:2008/07/13(日) 15:40:59
【 課題 】ttp://issoft17.is.noda.tus.ac.jp/~takeda/Java/delete.jpg
線形リストにおいて、指定されたn番目をリストから省くメソッドの作成(再帰的)ただし、n番目が要素数を上回っていた場合はリストをそのまま返す。
課題ページは上記URLです。
【 形態 】1. Javaアプリケーション
【 Ver  】1.5.0_15
【 期限 】7月14日17:00
【 補足 】リストの処理においてword欄を書き換えたり、メソッドの外でグローバル変数を使用するのはNGです。
現段階で非再帰的に処理を行うメソッドは作成済みですが、再帰的な処理の方が全くアルゴリズムが思い浮かばず
丸投げ状態です。締切まで時間がありませんが、もし可能な方がいましたら宜しくお願い致します。
参考URL:ttp://www.ed.noda.tus.ac.jp/j-takeda/list.html
431デフォルトの名無しさん:2008/07/13(日) 16:44:47
【 課題 】 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/345.txt
【 形態 】 Javaアプリケーション(main()で開始)
【 期限 】 2008/07/20 23:00
【 Ver  】 1.4.2_12
【 補足 】 課題の丸投げです。
       .javaファイルを1ファイルで作成して欲しいです。
       できるだけ初心者にも理解し易く、単純な形で記述して頂けると助かります。
       [email protected]までソースファイルをお送り下さい。
       宜しくお願いします。
432デフォルトの名無しさん:2008/07/13(日) 17:05:01
【課題提示用テンプレ】
【 課題 】「Java言語」を用いて、フラクタルを取り入れた自由作品を作りなさい
【 形態 】2. Applet
【 期限 】7月16日(水)
【 補足 】丸投げですが、何卒よろしくお願いいたします。
433デフォルトの名無しさん:2008/07/13(日) 17:29:33
>>430
自分でもよく分かってないけど・・・間違ってたらすまん
public static ListNode delete(ListNode head, int n) {
if(head != null) {
if(--n==0) {
head = head.next;
} else {
head.next = delete(head.next, n);
}
}
return head;
}
434430:2008/07/13(日) 17:39:45
>>431
今書いて頂いたメソッドを組み込んで動作確認をしたところ、課題通りに正しい結果が返されました。
おかげで無事に提出期間に間に合いそうです。
迅速な回答本当に有難うございました。
435430:2008/07/13(日) 17:41:40
レス番間違え。正しくは
>>433様宛てでした。度々失礼致しました。
436デフォルトの名無しさん:2008/07/13(日) 17:47:44
【 課題 】3つの正の整数a、b、c ( c ≧ b ≧ a )が直角三角形になるa、b、c
の組合せを20個出力するプログラムを作れ(while 文を使うこと)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/14まで
【 Ver  】1.6.0
【 補足 】丸投げです。お願いします。
437デフォルトの名無しさん:2008/07/13(日) 17:49:29
【 課題 】年月日を入力したい。
      存在しない年月日を入力したらエラーメッセージを出力し再入力促

       閏年の判定を行うこと。
           1. 西暦年が4で割り切れる年は閏年
           2. ただし、西暦年が100で割り切れる年は平年
           3. ただし、西暦年が400で割り切れる年は閏年
       存在する年月日であればそれを表示せよ
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】7月14日まで
【 Ver  】1.6.0
【 補足 】学校の宿題です。お願いします。
438デフォルトの名無しさん:2008/07/13(日) 17:58:01
【 課題 】3行3列の行列Aと行列Bの各要素をキーボードから入力し、AB(行列
の掛け算)の結果を出力するプログラムを書け。行列A、Bは2次元配列で表すこと。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/14
【 Ver  】1.6.0
【 補足 】明日までなのでよろしくお願いします。
439デフォルトの名無しさん:2008/07/13(日) 17:58:50
【 課題 】0〜2の乱数(整数)を作り、キーボードから0〜2を入力して、両者が
同じ数字なら「当たり!」、違う数字なら「はずれ!」と以下のように出力せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7月14日 《必須》
【 Ver  】1.6.0
【 補足 】丸投げです。わからないのでよろしくお願いします。
440デフォルトの名無しさん:2008/07/13(日) 18:26:19
【課題】欧文を入力すると、そこで使われている全単語の使用回数(出現頻度)を数え、
一覧表示するプログラムを作成しなさい。 HashMap を使うこと。
欧文は、単語と単語の間が空白で区切られているものとする。
Scanner クラスのメソッド next() を使うと、 1単語ずつ読み込むことができる。
main メソッドのあるクラスのクラス名は WordCounter とする。


System.out.println("欧文を入力してください(終了: Ctrl-d)");
Scanner scanner = new Scanner(System.in);

while(scanner.hasNext()) {
String word = scanner.next();

....

}

【形態】1. Javaアプリケーション(main()で開始)
【期限】7月14日 20;00
【Ver】1.5.0.11
【補足】丸投げです。宜しくお願いします
441デフォルトの名無しさん:2008/07/13(日) 18:30:00
なんか急に増えたな・・

>>431
1. Stack を固定長配列を使って定義しなさい。
とりあえずこれはこんな感じだと。メールは面倒だわ・・
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/346.java

>>432
そのへんはググればいくらでもソース見つかると思うからそうした方が・・
442432:2008/07/13(日) 18:48:26
>>441
講師「はぁ?何お前?ググってコピペする気?言っとッけど俺マジパネェよ?ググって提出した課題全部分かっちゃうよ?」
生徒「・・・・・・」

いや、無理ならスルーしてくれても構わないんだ
アドバイスありがとう
443デフォルトの名無しさん:2008/07/13(日) 20:28:08
>>442
人に頼んだり、まして、ネットでもらった回答がバレない理由なんて無いんじゃね?
444デフォルトの名無しさん:2008/07/13(日) 20:36:22
>>443
うん、それを言われちゃあ返す言葉もない
445デフォルトの名無しさん:2008/07/13(日) 21:33:52
>>440
Scanner って ctrl-d で終わるんだっけ? そんな風には動かないんだが。
ま、いいかw
import java.util.*;
public class WordCounter {
public static void main(String[] args) {
System.out.println("欧文を入力してください(終了: Ctrl-d)");
Scanner scanner = new Scanner(System.in);
HashMap<String,Integer> wordMap = new HashMap<String,Integer>();
while(scanner.hasNext()) {
String word = scanner.next();
if(wordMap.containsKey(word)) {
wordMap.put(word, wordMap.get(word).intValue() + 1);
} else {
wordMap.put(word, 1);
}
}
System.out.println("---- 単語数: "+wordMap.size());
for(Map.Entry<String,Integer> entry : wordMap.entrySet()) {
System.out.println(entry.getKey()+": "+entry.getValue());
}
}
}
446デフォルトの名無しさん:2008/07/13(日) 21:36:44
>>439
>以下のように出力せよ。
って何
447デフォルトの名無しさん:2008/07/13(日) 22:00:32
>>436
式知らないので参考URLとともにむりやりwhile。
// ttp://atsugi5761455.fc2web.com/calking14.html
public class ピタゴラスの三角形 {
public static void main(String[] args) {
int n = 1;
int i = 1;
int n2 = n * n;
int k = 1;
while(i <= 20) {
int m = n + k;
int m2 = m * m;
int a = m2 + n2;
int b = m2 - n2;
int c = 2 * m * n;
System.out.println(i+": a="+a+",b="+b+",c="+c);
i ++;
k += 2;
}
}
}
448447:2008/07/13(日) 22:04:27
ああ、
> c ≧ b ≧ a
を満たしてないし。数値入れ替えるだけじゃだめ?w
449デフォルトの名無しさん:2008/07/13(日) 22:22:30
>>441
回答ありがとうございます。
しかし、それだと問題1しか解けていないと思うのですが・・・
問題は1〜5まであります。
どうか宜しくお願いします。
450デフォルトの名無しさん:2008/07/13(日) 22:29:26
>>437
import java.util.*;
public class Uruu {
static final int[] daysOfMonth = new int[]{31,29,31,30,31,30,31,31,30,31,30,31};
public static void main(String[] args) {
while(true) {
System.out.println("yyyy mm dd");
Scanner in = new Scanner(System.in);
int y = Integer.parseInt(in.next());
int m = Integer.parseInt(in.next());
int d = Integer.parseInt(in.next());
if(y < 1583 || m < 1 || m > 12 || d < 1 || d > daysOfMonth[m-1]) {
System.out.println("err.");
continue;
} else if(m == 2 && !isUruu(y) && d > 28) {
System.out.println("URUU-day err.");
continue;
}
System.out.println("y="+y+",m="+m+",d="+d);
break;
}
}
static boolean isUruu(int y) {
if((y % 400) == 0) return true;
if((y % 100) == 0) return false;
return ((y % 4) == 0);
}
}
自分で書いといてヒドイ書き方だと思う…
451446:2008/07/13(日) 22:44:54
>>439
とりあえず
import java.util.*;
public class RndNum {
public static void main(String[] args) {
Random random = new Random();
int num = random.nextInt(3);
System.out.println(num);
System.out.println("input 0-2");
Scanner scanner= new Scanner(System.in);
int input = scanner.nextInt();
if(input == num) {
System.out.println("当たり!");
} else {
System.out.println("はずれ!");
}
}
}
452デフォルトの名無しさん:2008/07/13(日) 23:29:47
453デフォルトの名無しさん:2008/07/13(日) 23:34:28
>>441
週末向けに宿題だされたけど結局やらずに駆け込みってことかねぇ。
暇つぶしには適当にばらけてくれたほうがいいんだが。
454デフォルトの名無しさん:2008/07/14(月) 01:18:18
>>431
3 の Cell を使うと
>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。
ちゅうのをどう表現するか決めかねるんだが。

3.
>>441 のを修正して
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/348.java
4.
大きさチェックなし
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/349.java

メールでレス貰おうなんざ面倒くさ杉
455デフォルトの名無しさん:2008/07/14(月) 07:29:10
メールの場合ノーチェックになるからな
ここにレスするかうpろだだとこのスレの他の人のチェックはいるから
変なプログラムはめちゃ叩かれるw
456デフォルトの名無しさん:2008/07/14(月) 12:53:50
【 課題 】じゃんけんゲームを作成せよ。完成版は、反復構造により続けてゲームができるようにし、0で終了させて最後に勝ち負けの集計(勝率も計算させる)が表示できるようにせよ。
なお、プログラムは
 あなたの手の入力の処理
 コンピュータの手の生成
 勝ち負けの判定
 勝率の計算
の4つの処理を行うメソッドを定義し、これを利用して作成すること。
【 形態 】1. Javaアプリケーション(main()で開始
【 期限 】7月31日まで
【 補足 】単位かかってます。
457デフォルトの名無しさん:2008/07/14(月) 14:14:14
>>456
こういうの見ると、
"必ず勝つ(or負ける)ようにしとけば判定とか率とか表示1行で済んで楽だ"
と思うんだが、そするとやっぱり単位とやらが貰えないのだろうか。
閑話休題。
>完成版は、
とあるが、未完成版はあるのか? もしくは未完成版でもいいのか?
>0 で終了させて
というのは、手の入力には何か規則があるのか?
458デフォルトの名無しさん:2008/07/14(月) 14:22:55
【 課題 】コマンドライン引数から西暦を受け取り、うるう年であるかを判定するプログラム
report3.javaを作成しなさい。うるう年の条件は次のとおりである。
 ・4で割り切れる年はうるう年である
 ・100で割り切れる年はうるう年ではない
 ・400で割り切れる年はうるう年である

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/15
【 補足 】どうしても結果が被ってしまいます。お願いします。
public class report3 {
public static void main(String[] args) {

int x = Integer.parseInt(args[0]);

if(0 == x%4 || 0 == x%400) {
if(0 != x%100) {
System.out.println(x + "年はうるう年です");
}
}
if(0 == x%100) {
System.out.println(x + "年はうるう年ではありません");
}
else {
System.out.println(x + "年はうるう年ではありません");
}

}
}
459デフォルトの名無しさん:2008/07/14(月) 14:42:40
>>458
>>450 を参考にせんか?
460デフォルトの名無しさん:2008/07/14(月) 14:52:51
>>458
public class report3 {
public static void main(String[] args) {
int x = Integer.parseInt(args[0]);
if((0 == x%4 && 0 != x%100) || 0 == x%400) {
System.out.println(x + "年はうるう年です");
} else {
System.out.println(x + "年はうるう年ではありません");
}
}
}
動かしてないからそのつもりで。
しかし = の前に 0 があるのって私には違和感あるなぁ。
461デフォルトの名無しさん:2008/07/14(月) 15:14:32
【 課題 】キーボードから5回整数の入力を受け取り、
それらの合計値と平均値を計算して表示するプログラムを作成しなさい。
462デフォルトの名無しさん:2008/07/14(月) 15:17:34
>>460
ありがとうございます
カッコで区切るんですね

爆発しそうな脳みそがやっと縮みました
463デフォルトの名無しさん:2008/07/14(月) 16:04:16
>>458
x にどんな値をいれたらどの順にどの行が実行されるのかを一つ一つ追ってみるといい。
ちなみに、途中でプログラムを強制終了させるなら System.exit() というのがあってだな…。
464デフォルトの名無しさん:2008/07/14(月) 16:07:29
【課題提示用テンプレ】
【 課題 】
整数nを入力して、1からnまでの整数を、それぞれ素因数分解した結果を返すプログラムを作る。
条件として、2つのスレッドを用いる。Thread の起動方法は、thread.start() を用いよ。
2つのスレッドは、共通のAtomicInteger のカウンタから、getAndIncrement()として得た整数に対して、素因数分解を行う。
得られた整数がnを超えたらスレッドを終了する。
素因数分解の結果は、ConcurrentHashMap<Integer>, List<Integer>>に格納する。
キーのInteger が素因数分解の対象の整数であり、値のList<Integer>が素因数分解した結果の整数群である。
全ての素因数分解が終了したのち、メインスレッドで、整数1からnまでの全ての結果を「12: 2 2 3」のように表示させよ。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver  】3.2.2


465デフォルトの名無しさん:2008/07/14(月) 16:09:38
【課題提示用テンプレ】
【 課題 】
整数 n を入力し、1からnまでの素数を List<Integer> にまとめて返却するメソッドを作成せよ。
また、このメソッドを利用し、整数1000に対して、求めた素数を1行にひとつずつ画面に表示するプログラムを作成し、動作確認せよ。
表示した素数は桁合わせされていること。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver  】3.2.2
466デフォルトの名無しさん:2008/07/14(月) 16:10:28
【 課題 】
1京(10000000000000000)、2京、3京、4京のそれぞれより大きい最初の素数を計算せよ。これを計算する上では、スレッドを利用すること。FixedThreadPool を用いて、スレッド数2にして、上記の4つのタスクを並行実行して、結果を求めよ
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 18:00まで
【 Ver  】3.2.2
467464-466:2008/07/14(月) 16:11:04
課題丸投げですが、よろしくお願いします。
468デフォルトの名無しさん:2008/07/14(月) 17:04:36
469464:2008/07/14(月) 17:14:36
>>468
ありがとうございます!
470デフォルトの名無しさん:2008/07/14(月) 17:20:16
471デフォルトの名無しさん:2008/07/14(月) 17:21:55
>>464 - >>466
時間無さ杉w
472464:2008/07/14(月) 17:26:01
スマソwww急に演習課題とか始まって\(^o^)/オワタ
473デフォルトの名無しさん:2008/07/14(月) 17:30:53
>>472
リアルタイムかい。
で、オワタ?466はもういいのか?
474464:2008/07/14(月) 17:33:40
すみません。人生的な意味で終わってるってことですw
466もお願いします!
475デフォルトの名無しさん:2008/07/14(月) 18:02:51
>>466
まにあわなかったか?
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/352.java
でかすぎてテストしきれてないぞ
476466:2008/07/14(月) 18:09:45
>>475
ありがとうございます!
みんなできていないようなので、レポートという形になりそうです。
さらに問題が追加されましたww
近々またお世話になるかもしれません。
お忙しい中、本当にありがとうございます。
477デフォルトの名無しさん:2008/07/14(月) 18:16:51
>>475
でかすぎですねwwww
プログラムテストできませんw
478464:2008/07/14(月) 18:40:06
追加された問題たちです。

【 課題 】
初期化時に文字列引数を持つ Enum 型 Fruit を作成し、
APPLE, ORANGE, GRAPE, CHERRY, PEACH のそれぞれの要素を、
日本語名を引数にして初期化せよ。
そして、この Enum 型から全ての要素を取出し、英語名でアルファベット順にソートして、
「英語名: 日本語名」の形で、アルファベット順に表示せよ。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 24:00まで
【 Ver  】3.2.2
479デフォルトの名無しさん:2008/07/14(月) 18:45:16
Javaにもenumってあったのか
480475:2008/07/14(月) 18:46:10
まぁなにしろ間に合うかどうか優先で全然速さを考えてないからなw
素因数分解をBigDecimal対応にするだけで面倒くさかった。
時間できたらなんとかの篩でもなんでもやってくれぃ。
481デフォルトの名無しさん:2008/07/14(月) 18:47:22
【 課題 】
キャプチャーしてzipでうpしました。
お手数おかけします。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/353.zip
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/14 24:00まで
【 Ver  】3.2.2
482デフォルトの名無しさん:2008/07/14(月) 18:49:25
>>480
ありがとうございます。
なんとかやってみます!
先生が理不尽で、困ります(><)
483デフォルトの名無しさん:2008/07/14(月) 18:51:20
>>481
ワシそゆのダメ、素で読めんw
484デフォルトの名無しさん:2008/07/14(月) 18:55:43
>>483
すみません。
そうですよね〜。さすがにこれはわけがわからないです。
なにをどうすればいいのかさっぱりです。
485デフォルトの名無しさん:2008/07/14(月) 19:05:49
>>479
1.5から追加になった。
486デフォルトの名無しさん:2008/07/14(月) 19:11:48
>>481
こんな感じだろうか
int k=0;
while(true) {
if(Math.PIの小数点第8位までの値 == (1/無限小数の式)の小数点第8位までの値) break;
}
k+1回がループ数
487478&481:2008/07/14(月) 19:26:23
すみません!
友達がやってくれました!
みなさんありがとうございました!
488デフォルトの名無しさん:2008/07/14(月) 19:31:51
>>487
じゃあ結局467は何もやってないのかw
>>478
とりあえずやってみたのでうp
import java.util.*;
public class K478 {
public static void main(String[] args) {
Fluit[] fluits = Fluit.values();
Arrays.sort(fluits, new Comparator<Fluit>() {
public int compare(Fluit o1, Fluit o2) {
return o1.toString().compareTo(o2.toString());
}
});
for(Fluit fluit : fluits) {
System.out.println(fluit.toString()+": "+fluit.getJapanese());
}
}
static enum Fluit {
APPLE("リンゴ"),
ORANGE("オレンジ"),
GRAPE("ブドウ"),
CHERRY("サクランボ"),
PEACH("モモ");
private String japanese;
Fluit(String japanese) {
this.japanese = japanese;
}
public String getJapanese() { return japanese; }
}
}
489デフォルトの名無しさん:2008/07/14(月) 22:31:12
/*
手持ちのお金の枚数と買い物の合計金額から,お釣りの枚数が最も少なくなる支払い方を計算するプログラム.
*/
import java.io.*;
public class MinimalChanges {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println("手持ちのお金の枚数を入力してください.");
System.out.print("一万円札:");
String line = reader.readLine();
int man = Integer.parseInt(line);
System.out.print("五千円札:");
line = reader.readLine();
int gosen = Integer.parseInt(line);
System.out.print("千円札:");
line = reader.readLine();
int sen = Integer.parseInt(line);
System.out.print("五百円玉:");
line = reader.readLine();
int gohyaku = Integer.parseInt(line);
System.out.print("百円玉:");
line = reader.readLine();
int hyaku = Integer.parseInt(line);
System.out.print("五十円玉:");
line = reader.readLine();
int goju = Integer.parseInt(line);
System.out.print("十円玉:");
line = reader.readLine();
int ju = Integer.parseInt(line);
490デフォルトの名無しさん:2008/07/14(月) 22:32:40
続き
System.out.print("五円玉:");
line = reader.readLine();
int go = Integer.parseInt(line);
System.out.print("一円玉:");
line = reader.readLine();
int ichi = Integer.parseInt(line);
System.out.print("");
System.out.println("買い物の合計金額を入力して下さい.");
line = reader.readLine();
int sum = Integer.parseInt(line);
int p = sum % 10;
System.out.println("");
int pay1 = one(p, ichi);
p = p - pay1;
int pay5 = five(p, go);
if (p <= (pay5 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay10 = one(p, ju);
p = p - pay10;
int pay50 = five(p, goju);
if (p <= (pay50 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
491デフォルトの名無しさん:2008/07/14(月) 22:34:07
int pay100 = one(p, hyaku);
p = p - pay100;
int pay500 = five(p, gohyaku);
if (p <= (pay500 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay1000 = one(p, sen);
p = p - pay1000;
int pay5000 = five(p, gosen);
if (p <= (pay5000 * 5)) {
sum = sum / 10;
} else {
sum = (sum / 10) + 1;
}
p = sum % 10;
int pay10000;
if (man >= p) {
pay10000 = p;
System.out.println("一万円札" + pay10000 + "枚");
System.out.println("五千円札:" + pay5000 + "枚");
System.out.println("千円札:" + pay1000 + "枚");
System.out.println("五百円玉:" + pay500 + "枚");
System.out.println("百円玉:" + pay100 + "枚");
System.out.println("五十円玉:" + pay50 + "枚");
System.out.println("十円玉:" + pay10 + "枚");
System.out.println("五円玉:" + pay5 + "枚");
System.out.println("一円玉:" + pay1 + "枚");
492デフォルトの名無しさん:2008/07/14(月) 22:34:55
System.out.println("で支払ってください.");
System.out.println("");
} else {
System.out.println("お金が足りません.");
}
} catch (IOException e) {
System.out.println(e);
} catch (NumberFormatException e) {
System.out.println(e);
}
}
public static int one(int p, int ichi) {
if (p > 5) {
if ((p - 5) <= ichi) {
return p - 5;
} else {
return 0;
}
} else if (p <= ichi) {
return p;
} else {
return 0;
}
}
493デフォルトの名無しさん:2008/07/14(月) 22:37:12
public static int five(int p, int go) {
if (p != 0) {
if ((p <= 5) && (go != 0)) {
return 1;
} else {
return 0;
}
} else {
return 0;
}
}
}
これで終わりなのですが、手持ちのお金と,買い物の金額を入力すると,
お釣りの枚数が最も少なくなる支払い方を教えてくれるプログラムです.
例えば1000円札1枚,100円玉2枚,10円玉4枚持っていて,買い物の合計が625円の時,
プログラムを実行させると1000円札1枚,100円玉1枚,10円玉3枚で支払うように指示します.
ただしこのプログラムでは,1000円札,100円玉,10円玉,1円玉に関しては4枚以内,
5000円札,500円玉,50円玉,5円玉に関しては1枚以内しか持っていないという前提になっているため,
例えば1円玉のみ100枚持っているときに,100円の買い物をしようとしても「お金が足りません」と出力されてしまいます.
この、問題をどんな形でも良いので解消してください。
494デフォルトの名無しさん:2008/07/14(月) 22:47:55
>>493
>>1くらい読め
495デフォルトの名無しさん:2008/07/14(月) 23:05:01
【 課題 】手持ちのお金と,買い物の金額を入力すると,お釣りの枚数が最も少なくなる支払い方を教えてくれるプログラムです.
例えば1000円札1枚,100円玉2枚,10円玉4枚持っていて,買い物の合計が625円の時,
プログラムを実行させると1000円札1枚,100円玉1枚,10円玉3枚で支払うように指示します.
ただしこのプログラムでは,1000円札,100円玉,10円玉,1円玉に関しては4枚以内,
5000円札,500円玉,50円玉,5円玉に関しては1枚以内しか持っていないという前提になっているため,
例えば1円玉のみ100枚持っているときに,100円の買い物をしようとしても「お金が足りません」と出力されてしまいます.
この問題を直しなさい。

【 形態 】Javaアプリケーション(main()で開始)
【 GUI  】制限なし
【 期限 】明日のAM6時
【 Ver  】1.6.0_07
【 補足 】スレ汚してしまってすいません。
      http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/354.java
496デフォルトの名無しさん:2008/07/15(火) 00:57:36

【 課題 】キーボードから5回整数の入力を受け取り、
それらの合計値と平均値を計算して表示するプログラムを作成しなさい。
for文またはwhile文による繰り返しを使うこと。
平均値も整数とし、小数点以下が表示されなくてもよい。
キーボードから入力した文字列が制すうちに変換されないときの例外処理はしなくてよい。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/16 18:00まで
【 Ver  】3.2.2


よろしくお願いします。
497デフォルトの名無しさん:2008/07/15(火) 01:59:57
>>496
public static void main(String args[])
{
Scanner kbd=new Scanner(System.in);
int sum=0;
for(int i=0;i<5;i++){
sum+=kbd.nextInt();
}
System.out.println("合計値:"+sum);
System.out.println("平均値:"+sum/5);
}
498デフォルトの名無しさん:2008/07/15(火) 11:28:23
本日の課題プログラムを参考にして、じゃんけんゲームを完成させよ。完成版は、反復構造により続けてゲームができるようにし、0で終了させて最後に勝ち負けの集計(勝率も計算させる)が表示できるようにせよ。
なお、プログラムは
 あなたの手の入力の処理
 コンピュータの手の生成
 勝ち負けの判定
 勝率の計算
の4つの処理を行うメソッドを定義し、これを利用して作成すること。
実行例:
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
1
あなたの手はグーです。
コンピュータの手はチョキです。
あなたの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
2
あなたの手はチョキです。
コンピュータの手はグーです。
コンピュータの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
2
あなたの手はチョキです。
コンピュータの手はグーです。
コンピュータの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
0
終了
あなたは3試合中、1勝2敗0分け(勝率:3割3分3厘)です。
499デフォルトの名無しさん:2008/07/15(火) 11:59:42
>>498
>>1くらいよめ
500デフォルトの名無しさん:2008/07/15(火) 13:26:40
501デフォルトの名無しさん:2008/07/15(火) 13:32:39
>>498
んで、「本日の課題プログラム」とやらはどこにある?
502デフォルトの名無しさん:2008/07/15(火) 15:02:26
>>497さんありがとうございます。

【 課題 】キーボードから2個の小数点の入力を受け取り、
それらを底辺と高さとする三角形の面積を計算して表示する
プログラムを作成しなさい。
・三角形をオブジェクトとして考え、三角形オブジェクトを作成するTriangleクラスを宣言して使うこと。
・Triangleクラスのメンバには、底辺と高さの値をあらわすインスタンス変数、面積を計算するためのインスタンスメソッドを含むこと。
・キーボードから入力された文字列が数値に変換できないときの例外処理はしなくてよい。
【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。
【 期限 】7/17 18:00まで
【 Ver  】3.2.2

追加でよろしくお願いします。
503デフォルトの名無しさん:2008/07/15(火) 15:19:58
テンプレを勘違いのまま使ってるな。
【Ver】は Eclipse のバージョンじゃなくて Java のバージョンだぞ。
504デフォルトの名無しさん:2008/07/15(火) 15:31:10
>>502
import java.util.Scanner;
public class Triangle {
private double 底辺, 高さ;
public Triangle(double 底辺, double 高さ) { this.底辺 = 底辺; this.高さ = 高さ; }
public double 面積() { return 底辺 * 高さ / 2; }
public static void main(String[] args) {
System.out.println("三角形の底辺と高さを入力(スペース区切り):");
Scanner scanner = new Scanner(System.in);
double 底辺 = scanner.nextDouble();
double 高さ = scanner.nextDouble();
Triangle 三角形 = new Triangle(底辺, 高さ);
System.out.println("面積="+三角形.面積());
}
}
505デフォルトの名無しさん:2008/07/15(火) 15:32:14
>>502
小数点とは、『.』のことだぞ?
506431:2008/07/16(水) 01:21:23
>>454
回答ありがとうございます。
>3 の Cell を使うと
>>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。
>ちゅうのをどう表現するか決めかねるんだが。
問題文は原文のままですのでなんとも言えないのですが・・・
TestStack.classファイルが今日配布されましたので、もし修正して頂けるなら参考にして下さい。
問題1〜2、3〜4でどういうソースを書けば良いのか参考になると思います。
以下にzipファイルのURLと説明を書きます。

ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/355.zip
TestProgram11_1フォルダ内のTestStack.classファイルは、Stack.classと共にsrc/Problem11/Answer3に格納して実行してみて下さい。
TestProgram11_2フォルダ内のTestStack.classファイルは、Stack.class、Cell.classと共にsrc/Problem11/Answer4に格納して実行してみて下さい。
パッケージの宣言(?)をそれぞれProblem11.Answer3、Problem11.Answer4にすれば良いようです。
そもそもProblem11.Answer1、Problem11.Answer2でTestStack.classファイルを作成して配布していれば良いと思うのですが、
こういう部分に問題文の作りの甘さが表れていると思います…
507431:2008/07/16(水) 01:21:57

問題1に関しては>>441で回答して頂いたファイルの一部分を
void push (Object anObject) {
// スタックの最後の位置を増やす
top++;
// スタックに要素追加
stack[top] = anObject;
}
に直したら正常動作しました。ありがとうございます。

問題2はまだ回答して頂いておらず、上にアップロードしたTestProgram11_1フォルダ内のTestStack.classを実行した際に動作するようなソースを書いて頂けないでしょうか。

問題4の
>import java.io.ByteArrayOutputStream;
>import java.io.PrintStream;
の記述がよくわかりません。コンパイルでもエラーが出ました。
現在コンパイルしてエラーを表示できる環境にないので、今はエラーの詳細を貼ることは出来ませんが…
後ほど貼ります。
問題3、問題4に関しても上記のファイルのTestProgram11_2フォルダ内のTestStack.classの動作に添うようにソースを書いて頂けないでしょうか。

色々文句をつけてしまいすみません。
自力では解けませんのでなんとか宜しくお願いします。
508468:2008/07/16(水) 01:27:36
>>464
すまぬ〜、さっき知ったんだが、
>AtomicInteger
って java.util.concurrent.atomic.AtomicInteger なんだな。手前勝手に作っちまった。
クラス宣言消して import 追加して生成してるとこでパラメータに 1 を指定する、のが
正解ってことで。
509デフォルトの名無しさん:2008/07/16(水) 02:13:12
【 課題 】コンパイルせよ。エラーが出たら原因を考えて修正せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ(だと思います)
【 期限 】今週金曜日
【 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)

プログラムをコンパイルすると
Ex5c.java:28: 警告:[unchecked] raw 型 java.util.ArrayList のメンバとしての add(E
) への無検査呼び出しです。
list.add(new AnalogClock());
というエラーが出るのですが、直し方がよくわかりません

AnalogClock aClock;
aClock = new AnalogClock();
ArrayList list = new ArrayList();
ググったら↑を書き換える必要があるらしいのですが、どう書き変えたらいいのかわかりません。
お願いします。
510デフォルトの名無しさん:2008/07/16(水) 02:22:19
>>509
警告だから、別に直さなくても良いけど、

ArrayList<AnalogClock> list = new ArrayList<AnalogClock>();

とか書けば消えるんじゃね?
511454:2008/07/16(水) 03:27:27
>>506>>507
なんだか変な話になってきそうだが、問題2/問題4の
>Stack が要求を満たしていることをテストするプログラムTestStack を定義しなさい。
というのは、その配布された TestStack.class のソースを再現しろということなのか?
そもそも、1と3で作成した Stack は指示されたインターフェースを満たすようにつくって
いるのだから、UnitTest ならともかくそのレベルのテストは同じものになるはずだが。
ちなみに
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/348.java
は4つのテスト全てで
>テスト結果 = true
と表示されたが、これでいいのか?
512デフォルトの名無しさん:2008/07/16(水) 04:11:37
>>506
jad という逆コンパイルツールを探してきて TestStack.class と同じ
フォルダに展開して、
 jad -8 TestStack.class
とやると TestStack.jad というファイルが出来るから、
TestStack.java に変名してそれぞれの Stack と一緒に出したらどうだい。
それ見てたら作者がタコに思えてきて弄る気力無くなった…。
513デフォルトの名無しさん:2008/07/16(水) 14:51:55
>>510
ありがとうございます!やっとコンパイル通りました!
514デフォルトの名無しさん:2008/07/16(水) 15:10:42
>>513
いや、別に、警告は出てても実行は出来るよ。
515デフォルトの名無しさん:2008/07/16(水) 15:57:41
>>514
元に戻してやってみたら通りましたorz
ファイル名を入力し間違えてたみたいですorzorz
516デフォルトの名無しさん:2008/07/17(木) 00:36:03
いま暇だ。
残ってる宿題リストくれ
517デフォルトの名無しさん:2008/07/17(木) 00:56:43
「1〜1000までの足し算を行うプログラムを書け。」
簡単かもしれませんがお願いします。
518デフォルトの名無しさん:2008/07/17(木) 01:27:37
>>516
期限が切れてるのばかり・・・

>>495の金種計算と
>>466も現実的な時間で算出できる方法かな
519デフォルトの名無しさん:2008/07/17(木) 01:36:47
>>517
n=1000; として、
for(i=1,sum=0; i<=n; i++) sum+=i; または n*(n+1)/2;
520デフォルトの名無しさん:2008/07/17(木) 01:51:31
>>466
なにこのベンチマークw
521デフォルトの名無しさん:2008/07/17(木) 02:47:45
>>431 は一応まだ期限内なんだが。
問題1,3はともかく、問題2,4の出題者の意図がイマイチ分からん。
そのもののクラスファイルを >>506 で出題者から提供されたが、
んじゃ問題2,4では何を作るのかと。
>>512 ではjadで終わりってことにしたな。
522デフォルトの名無しさん:2008/07/17(木) 10:10:12
>>466 を実装するには、まずBigDecimalのsqrtを実装しないといけないよね。チェックの回数を減らさないと。
523デフォルトの名無しさん:2008/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のデータは定義されていません。自分で何か文字列入れて動作確認せよとのことです.
524431:2008/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が実行できた場合は教師が指定したスタックの条件は満たせているぞ、という意味なのだと思います。
525431:2008/07/17(木) 18:27:35
問題2と4に関しては、作成したスタックが教師の条件に沿っていることを確認するものが作れれば良いと思います。

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

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

そして、どちらも問題文で指定されている
>ただし、show メソッドにより、
>スタックが空の場合には
>スタックは空です!
>と表示し、
>“a”,”b”,”c”の順序にスタックにつまれている場合にはスタックの内容を
>c <-- b <-- a
>と表示するようにする。
という部分は守る必要があると思います。
526431:2008/07/17(木) 18:28:14
私は「import〜」など、少し複雑になったソースでさえ理解することが出来ませんので、
もし良かったら、上のようなプログラムで、より単純なソースで作って頂けると助かります…
問題2に関しては単純にpush(Object anObject),pop(),top()を実行するプログラムを書けば良いので自分でなんとかなりますが、
問題4に関しては問題3で作成して頂いたソースのコンパイルすら通っておらず、そのソースの構造がどうなっているのか理解することが出来ていないのでメソッドをどう実行したら良いのか分かりません。
問題4も単純に要素を何個か積んで、表示して、取りだしていって、要素が無くなったら要素がないことを表示するようなソースを、メソッドを繰り返し使うことで実現するようなプログラム(?)を書いて頂けると助かります。

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

>>521
恐らく私が今書いたようなことだと思います。
配布されたTestStack.class自体を再現する必要はないと思いますが、
それを再現出来れば動作の確認自体が出来ると思うので、それを再現してもいいのかもしれません。
527431:2008/07/17(木) 18:44:42
そして、前回の課題に合わせて追課題が出てしまいました・・・

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

       私は動作確認できていませんが、
       もしかしたら
       ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/346.javaの一部分を
        void push (Object anObject) {
         // スタックの最後の位置を増やす
         top++;
         // スタックに要素追加
         stack[top] = anObject;
        }
       に書き換えたものと、
       ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/348.java
       を利用して解けるかもしれません。
       
       >>431の課題も作成して頂いている途中なので作成をお願いするのが申し訳ないのですが、
       そんなことに構っていられないほど色々な課題や勉強が増えてきておりまして、
       図々しいことは承知の上で回答お願いします。
       できるだけ初心者にも理解し易く、単純な形で記述して頂けると助かります。
       コンストラクタ、メソッド、インスタンス、オーバーロード、合成、継承、オーバーライド、ポリモルフィズム、
       アップキャスト・ダウンキャスト、equalsのオーバーライド、インターフェース、
       程度しか教わっていないようなレベルです。
       宜しくお願いします。
528デフォルトの名無しさん:2008/07/17(木) 18:55:31
>>527
>        ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/346.javaの一部分を
>         void push (Object anObject) {
>          // スタックの最後の位置を増やす
>          top++;
>          // スタックに要素追加
>          stack[top] = anObject;
>         }
>        に書き換えたものと、
それは何処が書き換わってるの?
529431:2008/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デフォルトの名無しさん:2008/07/17(木) 19:45:27
>>527
この問題コンストラクタ、メソッド、インスタンス以外使ってないんだが・・
531デフォルトの名無しさん:2008/07/17(木) 23:35:59
作成する側がって意味だろ
532デフォルトの名無しさん:2008/07/18(金) 01:17:02
だれか 1.4.2_12 の環境ある超暇な人、
>import java.io.ByteArrayOutputStream;
>import java.io.PrintStream;
でコンパイルエラーになるか確認してくれないか。
533デフォルトの名無しさん:2008/07/18(金) 01:26:12
ごちゃごちゃ想像してないで、課題2と課題4とTestStack.classを
どうしろというのか直に教師に確認してきなさいよ・・・
534デフォルトの名無しさん:2008/07/18(金) 02:31:14
>>533
実行してみろとしか言われてないって書いてあるだろ
課題自体は431なんだろ
535デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/18(金) 13:03:44
【 課題 】適当なフレーム(正方形が望ましい)をつくり、その中心にdrawRectで正方形を描画する。
       その後、その正方形に内接する円を描き、正方形の中だけにランダムに
       点を描画することにより円周率πの近似値を求めるプログラムを作成せよ。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ
【 期限 】7/22(火) 13:00
【 Ver  】java version "1.5.0_11"
【 補足 】モンテカルロ法を再現するのだと思いますが、その部分の計算方法がよく分かりません。
       丸投げにしてすいませんがお願いします。
538デフォルトの名無しさん:2008/07/18(金) 15:04:04
>>537
> モンテカルロ法を再現するのだと思いますが、その部分の計算方法がよく分かりません。
正方形の一辺の長さを a とすると、その面積は a × a になる。
この正方形に内接する円の面積は π × a × a ÷ 4 。
正方形内に一様にばらまいた点が内接円の内部に存在する割合は、
正方形の面積に対する内接円の面積の比、すなわち π ÷ 4 。
つまり、ばらまいた点の総数で内接円内の点の数を割ったものの4倍がπの近似値になる。
点が内接円の内部か外部かの判定は、
正方形の重心=円の中心から点までの距離と円の半径 a ÷ 2 との比較で行える。
カルテシアン座標で点の座標を発生させているのなら、
平方根計算が必要な距離そのものでなく、その2乗値と a × a ÷ 4 とを比較してもいい。
539デフォルトの名無しさん:2008/07/18(金) 18:59:26
【課題】Music クラスのオブジェクトを要素とするリストの中から、指定された曲名を持つオブジェクトを線形探索で探すプログラムを作成する。
今回は番兵法を使って作成しなさい。main メソッドのあるクラスのクラス名は SequentialSearchSentinel とする。

http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/359.java
【形態】1. Javaアプリケーション(main()で開始)
【期限】7月21日 23:59
【Ver】1.5.0.11
【補足】丸投げです。宜しくお願いします
540デフォルトの名無しさん:2008/07/18(金) 22:14:05
>>537
>正方形が望ましい
uN以外で正方形以外のフレームの作り方教えてくれw

>>539
ちょっとまて、それとあるruby本で同じ問題あったぞw
541デフォルトの名無しさん:2008/07/18(金) 22:18:55
>>540
フレームの形は一般に長方形で、正方形とは限らないのでは?
542デフォルトの名無しさん:2008/07/18(金) 22:19:43
【 課題 】
□実行時に2つの数値を受け取るプログラムを作成しなさい。
□受け取った2つの数値の前1つを「月」、残りの1つを「日」として表示のみさせなさい。
□前出の月・日に対して、その曜日を表示するプログラムを作成しなさい。
【 形態 】1. Javaアプリケーション
【 期限 】7月23日
【 Ver 】1.6.0.06
【 補足 】丸投げです。基本的なことかもしれませんがよろしくお願いします。
543デフォルトの名無しさん:2008/07/18(金) 22:25:39
>>542
どうやって「受け取る」のか、
曜日といっても、何年の曜日なのか・・・
544デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/18(金) 22:44:32
>>544さん、ありがとうございます。
いろいろ説明不足ですみません。
546デフォルトの名無しさん:2008/07/18(金) 22:49:16
【 課題 】
□1から100までの乱数を発生させるプログラムを作成しなさい。
□上で発生させた乱数が50より大きい場合には「BIG」、50以下である場合には「SMALL」と表示させるプログラムを作成しなさい。
【 形態 】1. Javaアプリケーション
【 期限 】7月23日
【 Ver 】1.6.0.06
【 補足 】Math.random()メソッドを利用します。

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

547デフォルトの名無しさん:2008/07/18(金) 22:55:49
>>546
double d = Math.random()*100+1;
System.out.println(d>50? "BIG":"SMALL");
これぐらいで躓いてたら・・・まぁいいけど。
548デフォルトの名無しさん:2008/07/18(金) 23:15:01
>>547さん、ありがとうございます。
549デフォルトの名無しさん:2008/07/19(土) 03:43:52
>>509で質問したものです。続きの課題でこけました。よろしくお願いします。

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

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ(だと思います)
【 期限 】日曜日
550デフォルトの名無しさん:2008/07/19(土) 09:51:02
>>549
引数無しのコンストラクタも作ったらいいんじゃね?
551デフォルトの名無しさん:2008/07/19(土) 09:56:31
>>549
AbstractWorldClock.java も up してくれないと、list.add 〜 を消しても
コンパイルできんじゃないかw
552デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/19(土) 11:05:51
>>552
シンボルを見つけられません
場所;SequentialSearchSentinelのクラス

if(music[i].getTitle().equals(songName))
  ^
とコンパイルエラーがでてしまうのですがどうすれば良いのでしょうか?
554デフォルトの名無しさん:2008/07/19(土) 11:13:01
>>553
ああ、すまん。
if(music[i] 〜
じゃなくて
if(list[i]〜
か。
555デフォルトの名無しさん:2008/07/19(土) 11:21:44
>>539
for(Music m:list){
if(m.getTitle().equals(songName)){
if(m!=sentinel){
result=m;
}
break;
}
}
556デフォルトの名無しさん:2008/07/19(土) 11:31:24
>>554 >>555

コンパイルできました。ありがとうございます
557デフォルトの名無しさん:2008/07/19(土) 14:12:38
>>554
うひゃあ、まだバグってるじゃん。
result = music;
じゃなくて
result = list[i];
だし・・・ダメだ俺
558549:2008/07/19(土) 14:42:41
>>551
すいません、AbstractWorldClock.javaは↓です;
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/362.java
559デフォルトの名無しさん:2008/07/19(土) 14:53:36
>>558
>>550でなにか不都合でもあるのか?
560デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/19(土) 16:49:07
神IDキター!!

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

必要だ。
--- 以下スレ情報 ---
 ¥¥¥ 現代音楽に税金を使うな ¥¥¥  (351)
http://music8.2ch.net/test/read.cgi/contemporary/1115567684/
562549:2008/07/19(土) 18:45:42
>>550>>580
回答ありがとうございます&すみませんでした;
「引数無しのコンストラクタ」の意味がわかってなかったので、
558に一緒に書きこんだつもりだったのですが書けてなかったようです;
560の説明で、意味がわかりました。


>>560
回答ありがとうございます。
ご説明いただいたことはわかりました!が、
>super(c, o) を明示的に呼ぶようにする
の方法がわかりません…
563デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/19(土) 19:25:08
ArrayIndexOutOfBoundsExceptionがコンパイル時に投げられる・・・
お手上げっす(わらい)
565デフォルトの名無しさん:2008/07/19(土) 19:31:43
>>563
質問は質問スレへ
566デフォルトの名無しさん:2008/07/19(土) 19:33:26
【初心者】Java質問・相談スレッド117【歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1215574326/

そもそも、部分だけ書かれても回答が付かないだろ。
567デフォルトの名無しさん:2008/07/19(土) 20:10:22
>>563
まぁ、
最初のファイルに2行以上あって、どの行にも thesaurus の文字列が無かったらどうなるか
ってことだ。
568デフォルトの名無しさん:2008/07/19(土) 21:49:38
562です
自己解決しました。
どうもありがとうございました。
569431:2008/07/20(日) 01:57:41
作成して頂いたプログラムですが、コンパイルと実行に成功しました。
何か変な手順を踏んでいたのかもしれません。
回答ありがとうございます。

>>431の問題5と>>527(>>529で一部訂正)の回答お願いします。
570デフォルトの名無しさん:2008/07/20(日) 16:08:45

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


ごめんなさい丸投げです・・・。
私に救いの手を〜><。
571デフォルトの名無しさん:2008/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);
572570:2008/07/20(日) 17:32:03
は、はやい!!
ありがとうございます!!
573デフォルトの名無しさん:2008/07/20(日) 21:08:47
【 課題 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/364.txt
【 形態 】1. Javaアプリケーション(main()で開始)/
【 GUI  】不明
【 期限 】7/22 午前9時
【 Ver  】java version "1.6.0_06"
【 補足 】コメントが必要とのことです、よろしくお願いします。
574デフォルトの名無しさん:2008/07/21(月) 13:20:35
【 課題 】
csvに書いてある3択問題を管理するシステムを作る。
1,問題が記されているファイル名はmondai.csvにすること。
2,入力した答えが一致すれば『正解』不一致ならば『正解は〜です。』と出力せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/25まで
【 Ver  】1.6.0
【 補足 】
ようは3択クイズのjavaを組めということらしいです。
ランダムで出題する必要はなく、csvの上から下までの問題を出して終わり、
というものでいいそうです。
丸投げですが、お願いします。
575デフォルトの名無しさん:2008/07/21(月) 17:28:07
問題csvぐらい考えろやw
576デフォルトの名無しさん:2008/07/21(月) 18:11:21
こういう場合に教員が言うCSVって、引用符とか一切考慮していないよね。
577デフォルトの名無しさん:2008/07/21(月) 18:22:07
【 課題 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/365.java
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/23 (水)
【 Ver  】jdk1.6.0_10
【 補足 】丸投げです。一応、概要を書いたんですが、これで大丈夫ですかね?
適当な場所にテキストファイルを作って、readさせる。
enumにあるコマンドを入力することで、いろいろ編集させる。
お願いします。
578デフォルトの名無しさん:2008/07/21(月) 20:08:40
CSVはこれでいいだろ
\G(?:^,|,)(?:"((?>[^"]*+)(?>""[^"]*+)*+)"|([^",]*+))
579デフォルトの名無しさん:2008/07/21(月) 20:36:11
つまり、こうか。>>578
\G(?:^, | ,) (?: "((?>[^"]*+) (?>""[^"]*+)*+)" | ([^",]*+))

先頭が,で始まって、又は、,から始まって、
"で始まって "で終わる文字列か、又は、"と,以外が続く文字列。
"と"の間は、"以外が続いた後、("2個連続を前に置いて、"以外が続く)の繰り返し
580デフォルトの名無しさん:2008/07/21(月) 20:57:00
宿題なら単にカンマをSplitする程度でよくね?
581デフォルトの名無しさん:2008/07/21(月) 21:13:36
>>580
どうせ教員の考えているCSVなんてそれのことだろうけど・・・
582デフォルトの名無しさん:2008/07/22(火) 02:00:14
【 課題 】ラインエディタ作成
【 形態 】1. Javaアプリケーション(main()で開始) 使用しているのはEclipseです
【 期限 】提出期限 7月28日夜まで
【 Ver  】3.2.2 
【 補足 】ラインエディタを作ります
実装される命令と実行例はkadai.txtに書いてあります
穴埋め問題です
○投げでしかも長いのですがよろしくお願いします

ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/366.zip
583デフォルトの名無しさん:2008/07/22(火) 02:39:37
【 課題 】次のA〜Dを解き、ユーザから与えられた式の値を計算してグラフを描画するプログラムを作成せよ。
      A)中置記法で書かれた数式を後置記法(Reverse Polish Notation)に変換するプログラム
      B)後置記法で書かれた式の値を計算するプログラム
      C) 与えられた数値データのグラフを描くプログラム
      D)mainプログラム
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】25日まで
【 Ver  】1.6.0 
【 補足 】どう工夫したか考察もいるみたいです…
丸投げで申し訳ありませんが、どうかよろしくお願いします。
584デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/22(火) 06:40:36
【 課題 】一枚のビットマップ画像を読み込み、任意の位置で左右に2分割し
それぞれ名前をつけて(↓画像参照)保存するプログラムを作成せよ
ttp://www.uploda.org/uporg1558637.jpg
【 形態 】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デフォルトの名無しさん:2008/07/22(火) 11:14:01
>>585
アプレットってことは無いだろうとおもうので、こんな。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/367.java
587デフォルトの名無しさん:2008/07/22(火) 20:50:12
TextSS
588デフォルトの名無しさん:2008/07/23(水) 03:30:16
>>582
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/370.java

既に埋めてある部分も直す必要があった。
addf と insertf は仕様が分からんので適当に作った。必要なら直せ。
ついでに、read が2回以上やったときの読み込み行数表示がバグってるが
直せるけども直してない。
589588:2008/07/23(水) 03:39:20
まちがった。
>>582 じゃなくて >>577
590588:2008/07/23(水) 03:44:19
なんだ、>>582>>577 は同じかwww
591585:2008/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デフォルトの名無しさん:2008/07/23(水) 08:50:24
>>591
src.bmp
593デフォルトの名無しさん:2008/07/23(水) 09:26:33
>>591
ソース内のファイル名の方を調整して欲しい。
594591:2008/07/23(水) 10:12:29
画像ファイルがsrc.bmpという名でも同じエラー文が出てしまいます
画像のサイズとか場所とか・・・関係ありませんよね(場所はclassファイルと同じフォルダです)
595デフォルトの名無しさん:2008/07/23(水) 10:33:44
>>594
src.bmpをおいている位置では?
コマンドプロンプトから起動しているなら、カレントディレクトリを見ているはず。
eclipseから起動なら、.projectがあるディレクトリ。
596デフォルトの名無しさん:2008/07/23(水) 10:34:31
>>594
絶対パスで指定してみるのも。
597577:2008/07/23(水) 11:54:20
>>588-590
すべての動作確認しました。
ありがとうございます。

582が全部なんですけど、さすがに多すぎてやってもらえないだろうと思って
現段階でわからないのを書きました。
598594:2008/07/23(水) 11:56:02
>>595
>>596
m(;__)m大変もうしわけありません、お手数をおかけしました
画像データの名前を「scr.bmp」としていました(正しくはsrc.bmp)馬鹿です、ハイ。
そして実行してみたところうまくいきました、任意の位置で分割できました。
有難うございました
599デフォルトの名無しさん:2008/07/23(水) 15:01:07
600デフォルトの名無しさん:2008/07/23(水) 15:01:39
bmpではなく、jpegやpngで画像分割できると、フリーソフトとして使い勝手があるかもしれない
601デフォルトの名無しさん:2008/07/23(水) 15:05:51
>>600
よく分からんがsrc=ImageIO.read(new File("src.bmp"));のbmpをjpgやpngに変えればいいんじゃないんか
そんな単純な話じゃない? 
d
602598:2008/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デフォルトの名無しさん:2008/07/23(水) 21:59:05
604574:2008/07/23(水) 23:49:35
>>584
ありがとうございました。
それで大丈夫でした。感謝します。
605602:2008/07/24(木) 11:47:24
>>603
このようなコンパイルエラーが出てしまいました。 
自分なりに調べてみたのですが解決方法が分かりません、どのように直せばよいのでしょうか

MainPanel.java:68:メソッドはそのスーパークラスのメソッドをオーバーライドしません。
@Override
 ^
MainPanel.java:77:メソッドはそのスーパークラスのメソッドをオーバーライドしません。
@Override
 ^
606デフォルトの名無しさん:2008/07/24(木) 12:09:26
>>605
手元ではエラーにならないので気にしてなかったけど・・・
@Overrideを取っ払ってください。
607ヘルプミー:2008/07/24(木) 15:00:36
java swing で万年カレンダーを作りたいのですが、まったくわかりません。
誰か助けてください。
608605:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/24(木) 15:32:41
>>608
プログラミング以前の問題
javaコマンドを使ったことがないのならまずその使い方を勉強すべきだな
エラーメッセージはMainPanelパッケージのclassクラスがないと言っている
611デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/24(木) 15:57:07
あ、Swing か。
JTextArea に一万行(ry
613デフォルトの名無しさん:2008/07/24(木) 16:00:27
>>611
それだと万日カレンダーな気がw

>>607
>>1を読んでテンプレを埋めて依頼すればそれなりにレスがあると思うが
それにぐぐればサンプルはウエブ上に結構ある
614デフォルトの名無しさん:2008/07/24(木) 16:00:44
>>607
JXDatePickerじゃだめ?
615ヘルプミー:2008/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デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/24(木) 16:04:16
>>605
>>585ではバージョン1.6を要求しているのに1.5でコンパイルしようとしていない?
1.6ではインタフェースで求められているメソッドを実装する時に@Overrideを付けてもエラーにならないけれど、
1.5での@Overrideは文字通りスーパークラスのメソッドをオーバーライドしているときだけに付ける。
618デフォルトの名無しさん:2008/07/24(木) 16:04:38
>>609 >>573
実は少しやろうかと思ったのだが、任意の4点からなる四角形の面積を求める式が分からなくて
出来なかった orz
619デフォルトの名無しさん:2008/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ヘルプミー:2008/07/24(木) 16:11:11
  >>614さん
  申し訳ありません。JXDatePickerのこと分からないです。
  >>613さん
  サンプルを見てみたのですが、実力不足で理解できなかったです・・・
【 課題 】万年 カレンダーを作ること
【 形態 】Javaアプリケーション
【 期限 】7/28
【 Ver  】?
【 GUI  】swing
【 補足 】中途半端に作ってますので、やりづらいかもしれませんがよろしくお願いいたします。
どうか一つお力添えをお願いいたします。
621ヘルプミー:2008/07/24(木) 16:16:04
ごめんなさい。期日を間違えましたorz
期日は明日です・・・・
622デフォルトの名無しさん:2008/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だったと思う
ということでがんばってくれ
623608:2008/07/24(木) 16:26:05
>>610
何がなんだか分かりませんが使い方が間違っているんですね
ちょっと調べてみます

>>617
何がなんだか・・・素人なのでよく分からないとです
624デフォルトの名無しさん:2008/07/24(木) 16:26:40
625デフォルトの名無しさん:2008/07/24(木) 16:33:50
>>623
java MainPanel.class
じゃなく、

java MainPanel
だよ・・・
626デフォルトの名無しさん:2008/07/24(木) 16:37:56
>>624
ちょと噴いたw
627623:2008/07/24(木) 16:41:14
>>625
ありがとうございましたorz
長い質問になりましたがこれで完璧だと思います、お世話になりました
628ヘルプミー:2008/07/24(木) 16:45:43
>>624
ありがとうございます。
こんな感じので、なおかつ月と年を変更したら日付も変わるようにしたいのですが
どうしたらいいんでしょうか?
後、日にちが動かないようにするにはどうしたら・・・
629618:2008/07/24(木) 16:48:42
>>622 thx.
がしかし、今は自分ので手一杯だw
630デフォルトの名無しさん:2008/07/24(木) 16:55:46
>>628
やれやれ、若人は万年カレンダーを見たことが無いんじゃないのか・・・
ttp://www.kandai.ne.jp/cgi/sdirect/shopping/itemphoto/2007072108a.jpg

冗談はさて置き、カレンダーじゃなくて万年カレンダーと言うところは本当に気にしなくて大丈夫なのか?
631ヘルプミー:2008/07/24(木) 17:02:09
>>630
ここ十年くらいの変更ができればいいんですが・・・・
どうしたらいいんでしょうか
632デフォルトの名無しさん:2008/07/24(木) 17:10:24
>>631
>>291このへんか?
633デフォルトの名無しさん:2008/07/24(木) 17:15:10
>>630
確かに本来の万年カレンダーはそういう手動で曜日を合わせるものなんだけど
紙などに年月固定の暦を印刷するカレンダーに対して電子的な手段などで
任意の年月のカレンダーを表示できる可変的なものを万年カレンダーと称しているらしい

>>631
ということで見かけは普通の月単位のカレンダーで
与えられた年と月に合わせて表示するカレンダーの意でいい?
634ヘルプミー:2008/07/24(木) 17:16:01
>>632
こんな感じです。
それの一ヶ月づつので、なおかつ月に応じて1〜31日が変化するようにしたいのですが
635ヘルプミー:2008/07/24(木) 17:27:16
>>633
はい。よろしくお願いします。
万年カレンダーがそんなものだとは知りませんでした。
勉強になりました。ありがとうございます。
636デフォルトの名無しさん:2008/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デフォルトの名無しさん:2008/07/24(木) 23:21:52
【 課題 】「さんさんのんはさらんさらん」という文字列から「ん」を削除して、「ささのはさらさら」を表示する
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7/25まで
【 Ver  】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》
【 補足 】「ん」って文字列を空白で置換、だと「さ さ の はさら さら 」になっちゃうし…
ごめんなさい丸投げです。文字ってけっこう難しいです…
638デフォルトの名無しさん:2008/07/24(木) 23:36:10
String#replaceAll("ん","");
でいいんじゃないの?
639デフォルトの名無しさん:2008/07/24(木) 23:48:30
>>638
難しく考えていました。わー恥ずかしい。
ありがとうございました。
640デフォルトの名無しさん:2008/07/25(金) 01:13:04
641ヘルプミー:2008/07/25(金) 08:17:52
>>640
おお!ありがとうございます〜<(--)>
おかげで単位落とさずに済みました。
感謝いたしております。
642デフォルトの名無しさん:2008/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);
  }

長いので、二つに分けます
643デフォルトの名無しさん:2008/07/25(金) 18:34:26
>>642
>>1くらい読め
644642:2008/07/25(金) 18:36:31
// 表示
public void paint(Graphics g) {
  int i;
  g.drawImage(back, 0, 0, this);
  for(i = 0; i < n; i++) {
 g.drawImage(img, x[i]-22, y[i]-22, this);
  }
}
// クリック時の処理
public void mouseClicked(MouseEvent e) {
  int mx = e.getX();
  int my = e.getY();
  x[p] = mx;
  y[p] = my;
  p = (p + 1) % 5;
  if(n < 5) {
  n++;
  }
 repaint();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}


すいません、どなたかご説明お願いします。
645642:2008/07/25(金) 18:42:58
>>643
これは失礼(´・ω・`)焦り過ぎてますた
【 課題 】>>642・644のとおりで「プログラムを作成し、それを適切に説明せよ」
【 形態 】2. Applet
【 GUI  】5. その他「GUIがわかりません(´・ω・`)」
【 期限 】土曜(明日)
【 Ver  】java version 1.5.0_05

646デフォルトの名無しさん:2008/07/25(金) 21:44:57
>>645
この手のスレで質問する課題ではないな。
来年また頑張りましょう。
647デフォルトの名無しさん:2008/07/26(土) 01:10:46
>>645
ぐぐったり、JavaのAPI見たりすればいけると思うけどなー。
648デフォルトの名無しさん:2008/07/26(土) 01:25:50
>>642
明日っていうから、切羽詰まってるんだろうな。
ケチケチせずに教えてやろうぜ。

まずはimportが何を意味するか考えてだな、
次にclassの部分、
そしてコメント部分、うーん、ていうか、コメントに答えがあるんじゃ?
649デフォルトの名無しさん:2008/07/26(土) 02:01:16
【 課題 】LZW圧縮されたGIFを入力ストリームに読み込んで解凍してバイト配列で返す
【 形態 】Javaアプリケーション
【 GUI  】
【 期限 】7月31日
【 Ver  】1.5.0
650デフォルトの名無しさん:2008/07/26(土) 02:11:45
>>649
試してないけど、ImageIO.read()でよみこんで、それのDataBuffer取得して・・・じゃだめかね?w
651642:2008/07/26(土) 03:58:56
とりあえず、バイトから帰ってきてグーグル先生に聞いてはみたけど、分からないです(´・ω・`)どうにか助けて下さい
652642:2008/07/26(土) 04:04:19
一応自力で調べてみた結果です。抜けてるトコ、助言お願いします

import java.applet.*;   //ウィンドウ関連ツール(Abstract Window Toolkit)を使う
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);
  }
653642:2008/07/26(土) 04:09:36
//表示
public void paint(Graphics g) {    //paint() は、起動時には init(),やstart() に続いて自動的に実行されるメソッド
  int i;
  g.drawImage(back, 0, 0, this);
  for(i = 0; i < n; i++) {
 g.drawImage(img, x[i]-22, y[i]-22, this);
  }
}
// クリック時の処理
public void mouseClicked(MouseEvent e) {
  int mx = e.getX();
  int my = e.getY();
  x[p] = mx;
  y[p] = my;
  p = (p + 1) % 5;
  if(n < 5) {
  n++;
  }
 repaint();
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
654デフォルトの名無しさん:2008/07/26(土) 11:10:30
>>642
中にコメントの付いていない paint() と mouseClicked() が肝心な部分だなw

初期表示時、paint() では n=0 の為に背景のみが描画される。
任意の位置をクリックすると mouseClicked() が呼ばれ、座標を配列x[],y[] の p の位置に保存、
p を移動させ n を最大 5 までの間増加させて、repaint() により paint() を実行させる。
クリック後の paint() では背景描画後、n が 1 以上になっているので、x[],y[] に保存されている
各位置(から-22した位置を左上とした位置)に n 個((x[0],y[0])〜(x[n-1],y[n-1]))顔を描画する。

ミソは p の移動の p=(p+1)%5 か。これによって p は
0,1,2,3,4,0,1,2,3,4,0,1,…
とクリックする度に 0〜4 の範囲で循環するため、5回以上クリックした場合は最後にクリックした位置の
x[],y[] が上書きされることになるので、顔の描画も最後の位置が最新の位置に入れ替わる形になる。
但し描画の順は常に x[0],y[0] からなので、顔画像の重なりはクリック順と関係ない。
655デフォルトの名無しさん:2008/07/26(土) 18:21:04
【 課題 】 以下のプログラムのフローチャートおよびJavaソースプログラムを作成して提出のこと。学籍番号および氏名のないもの、提出期限を過ぎたレポートは採点の対象としない。
本日の課題プログラムを参考にして、じゃんけんゲームを完成させよ。反復構造により続けてゲームができるようにし、0で終了させて最後に勝ち負けの集計(勝率も計算させる)が表示できるようにせよ。
なお、プログラムは
あなたの手の入力の処理 コンピュータの手の生成 勝ち負けの判定 勝率の計算
の4つの処理を行うメソッドを定義し、これを利用して作成すること。
実行例:
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
1
あなたの手はグーです。
コンピュータの手はチョキです。
あなたの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
2
あなたの手はチョキです。
コンピュータの手はグーです。
コンピュータの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
2
あなたの手はチョキです。
コンピュータの手はグーです。
コンピュータの勝ちです。
あなたの手を入力して下さい。(1:グー, 2:チョキ, 3:パー, 0:終了)?
0
終了
あなたは3試合中、1勝2敗0分け(勝率:3割3分3厘)です。》
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】7月30日(提出期限)
【 Ver  】1.6.0
【 補足 】同じ質問をされた方がいますが別人です。
      勝率計算がうまくいかなかったのでソースもお願いします。
656デフォルトの名無しさん:2008/07/26(土) 18:30:29
657デフォルトの名無しさん:2008/07/26(土) 18:44:11
>>655
勝率計算がうまくいかなかったソースをお願いします
658デフォルトの名無しさん:2008/07/26(土) 18:49:41
>>656
すみません余計な文を消すのを忘れていました
本日の課題プログラムは前回のレポートのことでそれをヒントに。ということです
659デフォルトの名無しさん:2008/07/26(土) 18:53:05
>>657
説明不足ですみません
勝ち負けの判定 勝率の計算 が全く分からずソースすら書けません
660デフォルトの名無しさん:2008/07/26(土) 19:50:55
>>658
前回のレポートだろうが何だろうが参考にしろというものがあるのならそれを出さないと。
出てきたプログラムが前回のレポートとやらと噛み合わないものだと困るんじゃないの?
それとも実行例のような動作をするゲームでさえあればどんなものでも構わないの?
661642:2008/07/26(土) 19:54:44
>>654
ありがとうございましたギリギリで間に合いました。これでなんとか単位は大丈夫そうです。
アナタに幸あれc⌒っ*・ω・)っ 
662デフォルトの名無しさん:2008/07/26(土) 20:16:38
663デフォルトの名無しさん:2008/07/26(土) 20:48:45
>>660
頭悪くてすみません。やり方もいろいろあるという事を忘れていました
ただ前回の課題はじゃんけんの手を入力し勝ったか負けたかを表示するだけの
ものだったので
>>662
ありがとうございます。ですが習っていない物ばかりなので参考というふうにさせていただきます
664デフォルトの名無しさん:2008/07/26(土) 21:09:37
【 課題 】足し算、引き算、掛け算、割り算に対応した100マス計算をexe形式で提出せよ。
      3×3や5×5などレベル設定も選択可能にせよ。
      タイマーを連動せよ。
      数字は乱数などを用い、ランダムで配置するものとする。
【 形態 】Javaアプリケーション
【 GUI  】制限なし
【 期限 】7/27
【 Ver  】java version "1.5.0_06"
【 補足 】丸投げでお願いします。いろいろな意見がいただけると助かります。
665デフォルトの名無しさん:2008/07/26(土) 21:10:38
>>664
exe形式ってラップしろってこと?
666デフォルトの名無しさん:2008/07/26(土) 21:15:22
動きがみれるものと、ソースを見たいそうです。
667デフォルトの名無しさん:2008/07/26(土) 21:57:06
>>666
けっきょく、exeってのは勘違いなのか?
668デフォルトの名無しさん:2008/07/26(土) 22:28:07
>>664
いろんな意見てなんだ?
669デフォルトの名無しさん:2008/07/27(日) 00:19:58
課題プリントうつしただけなんで気にせずお願いしますw
いろんな意見も無視で。
670デフォルトの名無しさん:2008/07/27(日) 01:48:15
ソースをWindows用の自己解凍ファイルにアーカイブしてやればいいんじゃないか
その場合自己解凍ファイルはこっそり危険にしておくとか考えないように
671デフォルトの名無しさん:2008/07/27(日) 02:46:44
>>669
じゃあ、意見はいらんわけだ
672デフォルトの名無しさん:2008/07/27(日) 11:04:10
【 課題 】足し算、引き算、掛け算、割り算に対応した100マス計算を作成
      3×3や5×5などレベル設定も選択可能にせよ。
      タイマーを連動せよ。
      数字は乱数などを用い、ランダムで配置するものとする。
【 形態 】Javaアプリケーション
【 GUI  】制限なし
【 期限 】7/27
【 Ver  】java version "1.5.0_06"
【 補足 】丸投げでお願いします。

こういうことで・・・。
673デフォルトの名無しさん:2008/07/27(日) 11:23:24
>>672
タイマー連動ってなにすんの?
674デフォルトの名無しさん:2008/07/27(日) 12:48:59
>>672
課題がよくわからん。

1.アプリを実行すると、「100マス計算」ゲームの問題が表示される。
  ※問題のマス数はパラメータで3×3、5×5等に変更可能。
  ※問題の数字は乱数生成したランダムな数字を設定。

2.ユーザーがゲームj開始、回答を入力する。→タイマー開始

3.ユーザーが回答を入力し終えた場合、または制限時間に達した場合、ゲーム終了。

4.採点結果が表示される。

こんな感じのアプリを作れと言ってる?
675655:2008/07/27(日) 17:37:44
昨日はすみません
どうしても分からなかったので再度お願いします
参考対象の 本日の課題 というものがこれです。説明不足な所があればご指摘お願いします

 じゃんけんげーむの作成
利用者が自分の手を入力してその手を画面表示させた後、
乱数で生成したコンピュータの手を画面に表示させるようにせよ。
また、あいこや勝ち負けも表示できるようにせよ
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/375.java
676デフォルトの名無しさん:2008/07/27(日) 17:42:12
【 課題 】
(1) y=x^2,y=sinxの二つの関数を表示せよ。また、用いた関数式も表示させよ。
(2) 表示したグラフに対してx軸、y軸を表示せよ。
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ
【 期限 】7/29
【 補足 】丸投げです、よろしくお願いします
677デフォルトの名無しさん:2008/07/27(日) 18:22:09
>>675
で、この課題に書いていることは全て理解してるんだな?
>>655 で必要な反復構造やメソッド(引数や返値)それにフィールドについては
どの程度知ってるんだ。
678デフォルトの名無しさん:2008/07/27(日) 18:22:36
679デフォルトの名無しさん:2008/07/27(日) 18:32:22
>>676
グラフの表示範囲はこちらで適当に決めていいの?
680655:2008/07/27(日) 18:48:59
>>678
ありがとうございました
クラブで何回か授業抜けて俄仕込みの知識しかなかったので助かります
教科書を見ながらでないと何も出来ないレベルです
今回は説明が悪くてすみません。勝率計算についての式が分からなかったんです
なんか場違いな感じだったと思っております。本当にすみません
681デフォルトの名無しさん:2008/07/27(日) 19:03:30
>>680
>>657 が言ってたように、そこだけ空けた状態で作ったのをうpすりゃ良かったんだよ
682676:2008/07/27(日) 20:29:15
>>679
表示範囲は適当でおkです
画面サイズは800*600程度でお願いします
683デフォルトの名無しさん:2008/07/27(日) 23:56:02
>>674
そんな感じです。
684デフォルトの名無しさん:2008/07/28(月) 10:14:05
>>609お願いします
685デフォルトの名無しさん:2008/07/28(月) 14:18:31
686デフォルトの名無しさん:2008/07/28(月) 14:39:11
【 課題 】ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/377.zip
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】7/29 16:00まで
【 Ver  】1.6.0_05
【 補足 】pptで課題の説明がしてある問題です
687デフォルトの名無しさん:2008/07/28(月) 15:30:23
688676:2008/07/28(月) 16:02:35
>>685
ありがとうございました。
689デフォルトの名無しさん:2008/07/28(月) 16:25:02
>>686
せめて簡単な概要くらい示してくれないとzipなんて落とす気にもならないぞ?
690デフォルトの名無しさん:2008/07/28(月) 16:25:11
既に夏バテでOOoを起動する気力もねえ
691デフォルトの名無しさん:2008/07/28(月) 18:07:33
>>686
レポートの一部だけ。
分からないところ:
 配列のインデックスを「要素」と呼んでいる事に気づいた。
 ワケが分からない。
 「引数」を「返り値」と呼んでいるようなものなので、死ねばいいと思った。
692デフォルトの名無しさん:2008/07/28(月) 19:29:23
693デフォルトの名無しさん:2008/07/28(月) 22:15:49
OOoすら入れてないわい
694デフォルトの名無しさん:2008/07/29(火) 00:37:36
>>687
本当にありがとうございました
695デフォルトの名無しさん:2008/07/29(火) 09:04:01
>>692
ありがとう。説明少なかったかなと思ったけど助かりました
696デフォルトの名無しさん:2008/07/29(火) 22:41:28
【 課題 】F(x)=(x-3)(x-2)(x-1)=x^3-6x^2+11x-6

@ 上の関数を返すクラスを作成し、
A さらに二分法よりf(x)=0の解を求めよ。
ただし、初期値は(x1,x2)=(0.5,1.5),(1.5,2.5),(2.5,3.5)とする。
【 形態 】1。Java application main()で開始
【 GUI  】1.AWTのみ
【 期限 】7月31日まで






697デフォルトの名無しさん:2008/07/29(火) 22:44:02
↑の書き込みをした者です。
丸投げで申し訳ありません。
よろしくお願いします。
698デフォルトの名無しさん:2008/07/29(火) 22:46:27
>>696
「関数を返す」ってなんだろな。
Javaのメソッドは「関数」とは呼ばないし。
699デフォルトの名無しさん:2008/07/29(火) 23:25:59
>>696

高階関数?
700デフォルトの名無しさん:2008/07/29(火) 23:30:47
701デフォルトの名無しさん:2008/07/30(水) 13:44:47
クラスを何でも良いので自分で考えて,1つ作る。
それを使った main含みのclassも作る。
クラスは別ソースファイル。
フィールドは,4つ以上使用する。
メソッドは,3つ以上使用する。(除くコンストラクタ)
コンストラクタは,1つ以上使用する。
クラスは1つ

だれか助けて下さい・・・。
702デフォルトの名無しさん:2008/07/30(水) 14:23:12
>>701
>>1を読んでテンプレを埋める。
703デフォルトの名無しさん:2008/07/30(水) 14:41:11
【課題提示用テンプレ】
【 課題 】
クラスを何でも良いので自分で考えて,1つ作る。
それを使った main含みのclassも作る。
クラスは別ソースファイル。
フィールドは,4つ以上使用する。
メソッドは,3つ以上使用する。(除くコンストラクタ)
コンストラクタは,1つ以上使用する。
クラスは1つ。
【 形態 】javaファイルのソースそのまま提出
【 CGI  】
【 期限 】期日は今日の24:00まで
【 Ver  】1.6.07_07
【 補足 】特にないです。

すいません。あせって読むの忘れてました。もうしわけない
704デフォルトの名無しさん:2008/07/30(水) 14:54:38
>>703
アップローダにあがってるのを見繕って提出すれば?
705デフォルトの名無しさん:2008/07/30(水) 15:06:25
>>704
ちょっと仕様事態があまりよくわからないので、だれかに
参考になるプログラムを書いてほしいのですが・・・。
706デフォルトの名無しさん:2008/07/30(水) 15:15:02
>>703 仕様も含めて課題の疑問点は普通は先生に聞くものだと思うよ
// Nonsense.java
public class Nonsense {
private int i;
private int j;
private int k;
private int l;
public Nonsense(int i, int j, int k, int l) {
this.i = i;
this.j = j;
this.k = k;
this.l = l;
}
public int add() {
return i + j + k + l;
}
public int mul() {
return i * j * k * l;
}
public String concat() {
return "" + i + j + k + l;
}
}
// NonsenseUser.java
public class NonsenseUser {
public static void main(String[] args) {
Nonsense nonsense = new Nonsense(1, 2, 3, 4);
System.out.println("add: " + nonsense.add() + ", mul: " + nonsense.mul() + ", concat: " + nonsense.concat());
}
}
707デフォルトの名無しさん:2008/07/30(水) 15:22:42
>>706
ありがとうございます。

コンパイルエラー

Nonsense.java:23: クラス NonsenseUser は public であり、ファイル NonsenseUser.ja
va で宣言しなければなりません。
public class NonsenseUser {
^
エラー 1 個
708デフォルトの名無しさん:2008/07/30(水) 15:24:12
>>707
> クラスは別ソースファイル。
いったい何のためにコメントを書いているのか
709デフォルトの名無しさん:2008/07/30(水) 15:25:04
>>708

あ、すいません。そういうことですか。

もうしわけないです
710デフォルトの名無しさん:2008/07/30(水) 15:29:18
【 課題 】ウィンドウアプリケーションを使った○×問題を作る
【 形態 】1. Javaアプリケーション
【 GUI  】2. Swing
【 期限 】今週金曜日まで
【 Ver  】1.6.0_05
【 補足 】丸投げでお願いします
711デフォルトの名無しさん:2008/07/30(水) 15:48:05
>>710
いくら丸投げするにしても仕様が荒すぎないかw
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class MaruBatsu {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
final JLabel label = new JLabel(" ", JLabel.CENTER);
JButton button1 = new JButton("カリグラ");
JButton button2 = new JButton("ネロ");
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { label.setText("○"); }
});
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { label.setText("×"); }
});
frame.add(button1, BorderLayout.WEST);
frame.add(button2, BorderLayout.EAST);
frame.add(new Label("第3代ローマ皇帝は?"), BorderLayout.NORTH);
frame.add(label, BorderLayout.SOUTH);
frame.pack();
frame.setVisible(true);
}
});
}
}
712デフォルトの名無しさん:2008/07/30(水) 15:52:25
あ、○×問題だから問題の出し方が変だった
...
JButton button1 = new JButton("○");
JButton button2 = new JButton("×");
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { label.setText("間違い"); }
});
button2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { label.setText("正解"); }
});
frame.add(button1, BorderLayout.WEST);
frame.add(button2, BorderLayout.EAST);
frame.add(new Label("第3代ローマ皇帝はネロである"), BorderLayout.NORTH);
...
こんな感じか
713デフォルトの名無しさん:2008/07/30(水) 21:28:40
JAVAの課題ができません。

Math.random()で0〜9の乱数を発生させ、どの数が何回出たかを配列に記録するクラス「RdmRecord」を作れ。
RdmRecordオブジェクトを動作させるためのmainメソッドを持つクラス「RdmRecordTest」を作れ。
Math.random()が、各数字を均等に発生させているか否かを確認せよ。

こういう課題ですできる方はソースを見せてください。お願いします。

714デフォルトの名無しさん:2008/07/30(水) 21:36:36
715デフォルトの名無しさん:2008/07/30(水) 23:08:57
【 課題 】100と200の間の素数をすべて探し出すプログラムを作成しなさい。
【 形態 】1. Javaアプリケーション(main()で開始)。
【 期限 】特になし。
【 Ver  】1.6.0_07

public class Prime{
public static void main(String[] args) {
int count = 0;
for (int i = 100; i <= 200; i++){
for (int j = i; j > 0; j--){
if (0 == i % j)
count++;
}
if (count == 2){
System.out.println(i);
count = 0;
}
}
}

}

【 補足 】割り切れる数が何個あるかカウントし、割り切れた数と1とで、
      合計2個なら素数。っていうふうに書いたんですが、これを実
行すると
716デフォルトの名無しさん:2008/07/30(水) 23:10:28
途中で送信してしまったorz。

実行すると、何も表示されずに終了してしまうのですがなぜでしょうか?
717デフォルトの名無しさん:2008/07/30(水) 23:27:26
素数じゃないときにcountが初期化されていない
718デフォルトの名無しさん:2008/07/31(木) 00:07:52
助言のおかげで出来ました。ありがとうございます。
719デフォルトの名無しさん:2008/07/31(木) 01:24:41
>>711
ありがとうございます!
自分では皆目見当もつかなかったので、教えていただいたのを参考に頑張ります
720デフォルトの名無しさん:2008/07/31(木) 01:33:20
GUIのSwingでオセロをつくりたいんですがどうしたらいいですか?
だいたい何を使えばいいかだけでもいいので教えてください
721デフォルトの名無しさん:2008/07/31(木) 01:47:03
>>720
そんなコンポーネントはないから自分で一から作るもよし、ラベルをGridLayoutで敷き詰めてやるもよし。
722デフォルトの名無しさん:2008/07/31(木) 02:07:28
>>721
すいません、GridLayoutってなんですか?
GUIほんとに初心者なんです
723デフォルトの名無しさん:2008/07/31(木) 02:08:24
ここは質問するスレではありません
質問は質問スレへ
724デフォルトの名無しさん:2008/07/31(木) 03:43:07
>700さん
696のレスの課題をここに貼った者です。本当にありがとうございました。

ただこの課題について補足問題がもう一問出題されまして、
試行錯誤を重ねましたが解けませんでした。
木曜日12時までです。よろしくお願いします。

補足課題:上で求めたプログラムを改良し、
キーボードによって入力される任意の初期値に対して、自動的に
3つの解が算出されるようにせよ。
725デフォルトの名無しさん:2008/07/31(木) 03:49:36
>>713
動作確認済み。
java歴2週間だから不満なところは自分で修正して。

import java.io.*;
public class RdmRecordTest{
public static void main(String args[])throws IOException{
while(true){
System.out.println("ランダム数値の発生回数を指定(0入力で終了) : ");
BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine());
if(cnt == 0)break;
RdmRecord Rdm = new RdmRecord(cnt);
//出現回数の確認
for(int i = 0;i < 10;i++){
System.out.print(i +"の出現回数 : ");
System.out.println(Rdm.Count[i]);
}
}
}
}
public class RdmRecord{
public int Count[] = {0,0,0,0,0,0,0,0,0,0};
RdmRecord(int cnt){
for(int i = 0;i<cnt;i++){
int rdm = (int)(Math.random() * 10);
Count[rdm]++;
}
}
}
726デフォルトの名無しさん:2008/07/31(木) 17:54:46
【 課題 】
変数a,bに入力された2つの数値に共通する素数がいくつあるか数え表示せよ。
例)12と16なら、2つ。18と27でも、2つ。

【 形態 】1. Javaアプリケーション
【 GUI  】4. 制限なし
【 期限 】明日AM10時まで
【 Ver  】1.5.0_06

丸投げです。
よろしくおねがいします。
727デフォルトの名無しさん:2008/07/31(木) 23:27:59
>>726
import java.util.*;
public class MainClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner s=new Scanner(System.in);
int a = s.nextInt();
int b = s.nextInt();
//最大公約数を求める。
int gcd = gcd(a,b);
//素因数分解
Vector<Integer>prim=prim(gcd);
//素数の数
System.out.println(prim.size());
}
private static int gcd(int n,int m){
int r=n%m;
while(r!=0){n=m;m=r;r=n%m;}
return m;
}
private static Vector<Integer>prim(int n){
Vector<Integer>result=new Vector<Integer>();
while(n%2==0){n/=2;result.add(2);}
for(int i=3;i<=n;){
if(n%i==0){n/=i;result.add(i);}else{i+=2;}
}
return result;
}
}
728デフォルトの名無しさん:2008/07/31(木) 23:46:17
JavaでPostgresにデータ追加する方法教えてー。
・データベース名
「userdb」
・テーブル名
「user」

列名  型      制約
id varchar(10) 主キー
name  varchar(50) NOT NULL
address varchar(50) なし

追加するデータ
 「add.txt」の内容
 001,太郎,[email protected]
002,花子,[email protected]
003,次郎,[email protected]
729デフォルトの名無しさん:2008/08/01(金) 00:50:54
>>728
【初心者】Java質問・相談スレッド117【歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1215574326/
730726:2008/08/01(金) 12:48:13
>>727
どうもありがとうございました。
731デフォルトの名無しさん:2008/08/01(金) 17:38:13
【 課題 】1からnまでの全整数の和を求めて返却するメソッドを作成せよ
【 形態 】1. Javaアプリケーション
【 GUI  】4. 制限なし
【 期限 】8/2
【 Ver  】1.6.0_07
丸投げですがお願いします
732デフォルトの名無しさん:2008/08/01(金) 17:43:16
>>731
return n*(n+1)/2;
733デフォルトの名無しさん:2008/08/01(金) 17:49:48
【 課題 】連続する要素が同じ値をもつことのないように演習6-9のプログラムをを改良したプログラムを作成せよ
      たとえば{1,3,5,5,3,2}とならないようにすること
      演習6-9:要素型がint型である配列を作り、全要素を1~10の乱数で埋め尽くす(1以上10以下の値を代入する)
           プログラムを作成せよ 要素数はキーボードから読み込むこと
【 形態 】1. Javaアプリケーション
【 GUI  】4. 制限なし
【 期限 】8/2
【 Ver  】1.6.0_07
734デフォルトの名無しさん:2008/08/01(金) 17:50:50
【 補足 】
import java.util.Scanner;
import java.util.Rondom;

class Enshu6_10 {

public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
Random rand = new Random();
int n;

do {
System.out.print("要素数:");
n = stdIn.nextInt();
} while (n <= 0);

int[] a = new int[n];

a[0] = rand.nextInt(10) + 1;
for (int i = 1; i < n; i++) {
do {
a[i] = rand.nextInt(10) + 1;
} while ( );
}

for (int i = 0; i < n; i++)
System.out.println("a[" + i + "] = " + a[i]);
}
}

whileのかっこの中身をどのようにすれば良いかで詰まってます
735デフォルトの名無しさん:2008/08/01(金) 18:37:35
>>733
a[i-1]==a[i]
736734:2008/08/01(金) 19:31:36
>>733
ありがとうございます
737デフォルトの名無しさん:2008/08/01(金) 21:42:06
【 課題 】1.ファイルをコピーするプログラム
プロパティファイルで指定したパスのファイルをコピーする。
プロパティファイルで指定したパスのファイルがない場合は、新しく空のファイルを作成する。
作成するファイルの名前は、元のファイル名に現在の年月日時分秒を付加したものとする。
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】8/4(月)
【 Ver  】java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing)
【 補足 】申し訳ありませんが丸投げでお願いします・・・。
738デフォルトの名無しさん:2008/08/02(土) 03:43:26
このスレの回答者は問題文の規格に沿ってない回答を書きまくりだな
739731:2008/08/02(土) 08:25:40
>>732
回答ありがとうございます
できれば枠組みも教えて欲しいです><
740デフォルトの名無しさん:2008/08/02(土) 09:59:50
>>739
入門書くらい読め。
741デフォルトの名無しさん:2008/08/02(土) 10:00:35
>>738
どれがどう違うか、説明してもらおうか
742デフォルトの名無しさん:2008/08/03(日) 00:22:17
>>737
> プロパティファイルで指定したパスのファイルをコピーする。
どういう指定だか、わからない。

> 作成するファイルの名前は、元のファイル名に現在の年月日時分秒を付加したものとする。
すでにファイルがある場合はどうすんの?
743737:2008/08/03(日) 00:58:42
>>742
自分でプロパティファイルを作ってその中身のものをコピーするってことですかね・・・?
私もよくわかりません:;

すでにファイルがある場合はファイル名称はそのままでいいのかと思います。
744デフォルトの名無しさん:2008/08/03(日) 02:44:43
>>743
プロパティファイルhoge.propertiesに
file.original=moge
とあればmogeの内容をmoge20080802010203という新しいファイルにコピーする。
プロパティファイルの名称やキーの名称(上の例ならfile.original)は適当に決める?何か仕様がある?実行時にコマンドライン等から与える?
新規に作ろうとした名前のファイルが既にある場合はそのままにするというのは、そのまま何もしない?そのまま内容を上書きする?
元のファイルがmoge.txtみたいな場合でもmoge.txt200808なんたらみたいにそのまま付加する?
737が分からないのなら課題を出した先生に聞くのが一番いいと思うが月曜提出か。
745743:2008/08/03(日) 10:22:50
例えば「2ch」というファイルがあり、プロパティファイルで「2ch」という内容があれば「2ch」でコピーする。
「2ch」というファイルがなく、プロパティファイルにしか「2ch」がなかったら「2chyyyymmddss」というファイルを作成する。
って事かと思っています。

だめだ・・・説明下手すぎ・・・。
手伝ってくれる方がいるなら思うように好きに作って下さい。
ホント申し訳ないですがお願いします!
746デフォルトの名無しさん:2008/08/03(日) 15:21:36
747737:2008/08/03(日) 16:22:33
>>746
ありがとうございます!助かりました!!!
これを読み解けるように勉強します!
748デフォルトの名無しさん:2008/08/03(日) 23:44:33
【課題提示用テンプレ】
【 課題 】LogServer(+ServerThread)/LogClientのチャットシステムを完成させよ
      http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/385.java
      http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/386.java
【 形態 】1. Javaアプリケーション
【 GUI  】2. Swing (すいませんたぶんです)
【 期限 】8月4日 深夜11時30分まで 
【 Ver  】1.6.0_05 (これもうろ覚えです・・・)
【 補足 】複数クラインとからサーバにメッセージを送りつける機能はできているので、
      そこからクライアント相互でメッセージが送受信できるように拡張すればいい
      とのことです。
      期限ぎりぎりですいません
      自分なりに考えてみたのですがだめでした。
749デフォルトの名無しさん:2008/08/04(月) 00:00:43
>>748
氏ねw
750デフォルトの名無しさん:2008/08/04(月) 01:00:29
751デフォルトの名無しさん:2008/08/04(月) 02:58:12
>>750
あざーす
もういいや・・・
752デフォルトの名無しさん:2008/08/04(月) 16:31:19
>>751
なにか不満だったのか?
753デフォルトの名無しさん:2008/08/04(月) 21:31:22
自分の胸に聞いてみれば良い
754デフォルトの名無しさん:2008/08/04(月) 22:02:10
755デフォルトの名無しさん:2008/08/06(水) 13:35:38
【課題】
1) 1次元のint型の配列を宣言してください。

2) 上で宣言した配列に任意の5つの数値を代入してください。
  たとえば、23,56,2,19,42 を代入してください。

3) 上で代入された配列の値の中で、もっとも小さな値を見つけるプログラムを作成してください。

4) 3)のプログラムを利用して、配列の値を小さい順に並び替えてください。
【 形態 】1. Javaアプリケーション
【 期限 】8月7日
【 Ver  】1.6.0_06
【補足】よろしくお願いします。

756デフォルトの名無しさん:2008/08/06(水) 14:56:55
>>755
いやいや、騙されないぞ。
世間なんてもう夏休みモードじゃねーか。
今頃、こんな課題が出来ないやつが、まだ単位に固執しているはずが無い。
757デフォルトの名無しさん:2008/08/06(水) 15:21:47
>>755
public class R755 {
public static void main(String[] args) {
// 1)
int[] array;
// 2)
array = new int[]{23, 56, 2, 19, 42};
// 3)
int min = array[0];
for (int i : array) if (min > i) min = i;
System.out.println(min);
}
}
758デフォルトの名無しさん:2008/08/06(水) 16:04:28
>>755
public class R755 {
public static void main(String[] args) {
// 1)
int[] array;
// 2)
array = new int[]{23, 56, 2, 19, 42};
// 3)
System.out.println(min(array, 0));
// 4)
for (int i = 0; i < array.length - 1; i++) {
int min = min(array, i);
for (int j = i; j < array.length; j++) if (array[j] == min) {
int k = array[j];
array[j] = array[i];
array[i] = k;
}
}
System.out.println(java.util.Arrays.toString(array));
}
// 3)
private static int min(int[] array, int start) {
int min = array[start];
for (int i = start + 1; i < array.length; i++) if (min > array[i]) min = array[i];
return min;
}
}
759デフォルトの名無しさん:2008/08/06(水) 21:24:27
【 課題 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/390.txt
【 形態 】1. Javaアプリケーション
【 期限 】8月8日(金)
【 Ver  】1.5.0_13 (Eclipseを使っています)
【 補足 】丸投げですがよろしくお願いします。<(_ _)>
760デフォルトの名無しさん:2008/08/07(木) 16:11:22
【 課題 】与えられたプログラムにforループを追加し、さらにプログラムを発展させよ。ただし、45行以上にすること。
       また、さらにforループ以外を付け足してもかまわない。
【 形態 】Javaアプリケーション
【 期限 】提出期限8/7迄(遅れたとしても、8/8まで。
【 Ver  】1.6.0_07
【 補足 】出席番号と点数を人数分入力すると、それぞれ評価が表示されて点数の平均点も出るようなプログラムを考えたのですが、何度やってもエラーになります。
丸投げですいませんがよろしくお願いします!期限は近いですが、できれば遅れず出したいです。
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/391.txt
ファイルの下の文字化けは無視してください。
761デフォルトの名無しさん:2008/08/07(木) 16:33:02
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/392.java
単純に入力した点の平均点だすようにしてます。
どーぞ。
762デフォルトの名無しさん:2008/08/07(木) 18:38:39
>>761
すいません。ありがたいのですが、課題の条件に
但し、プログラム冒頭でインポート可能なパッケージは、java.io (インポート方法:import java.io.*;) のみとする。
を忘れていました。
763デフォルトの名無しさん:2008/08/07(木) 18:51:10
>>762
オレは>>761じゃないが、
インポートしなければいいんじゃないか?
そのくらい、自分で書き換えられるだろ?
764デフォルトの名無しさん:2008/08/07(木) 19:22:02
>>763
大学の方ではまだimport方法をimport java.io.*;でしか習っていないので、
先ほど少し自分でいじってみたのですが、エラー続出でどうにもなりませんでした。

ちなみに元のプログラムの内容に付けたしをする感じで書き換えなければならないため、importを消す事はできないです。
最初の説明が言葉足らずで申し訳ありませんでした。
765デフォルトの名無しさん:2008/08/07(木) 22:13:16
>出席番号と点数を人数分入力すると、それぞれ評価が表示されて点数の平均点も出るようなプログラム
やってみたよ
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/393.txt
766デフォルトの名無しさん:2008/08/07(木) 22:46:25
>>765
毎回ありがとうございます。
せっかくやっていただいてすいませんが、エラーによってプログラムがちゃんと動作しませんでした。

C:\java>java hw04
???l??f?[?^?????????????H
????F5

1学籍番号を入力してください。
>89
1点数を入力してください。
>89

2学籍番号を入力してください。
>766
2点数を入力してください。
>66

3学籍番号を入力してください。
>
3点数を入力してください。
>
Exception in thread "main" java.lang.NumberFormatException: For input string: ""

at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at hw04.main(hw04.java:26)

上のようになってしまいます。これはどうすればいいのでしょうか?
767デフォルトの名無しさん:2008/08/07(木) 23:44:45
>>766
>終了時はEnterを押す
これは変えて良い部分ですか?
つまり、>>765のように人数を最初に入力させるのはOK?
768デフォルトの名無しさん:2008/08/07(木) 23:48:07
>>767
キーボード入力のコマンドが残っている状態であれば大丈夫です。
お願いします。
769デフォルトの名無しさん:2008/08/08(金) 00:31:08
770デフォルトの名無しさん:2008/08/08(金) 00:41:56
>>769
すいません。両方とも分からない状態です・・・

forループ、whileループ、コマンド入力、if法が残っていれば大丈夫なのですが・・・
本当に基本的な事しかわからずすみません。
771770:2008/08/08(金) 01:05:46
ちなみに補足は無視していただいてもforループさえ上手く付け加えてくれれば大丈夫です。
772デフォルトの名無しさん:2008/08/08(金) 01:16:42
>>770
その状況なら>>765みたいなソースになるよ。
>>765は初心者用に正しい入力がなされると想定して書いてるのに、

3学籍番号を入力してください。
>
3点数を入力してください。
>

こんなありえない入力をしているのがエラーの原因。
といっても例外処理も知らなさそうだから、今回は入力は正しいものと決め付けた方が良いんじゃないでしょうか。
文字化けしてるのはプログラムじゃなくて文字コードがおかしいんじゃないか?
773770:2008/08/08(金) 01:22:42
>>772
出来ました!文字コードがおかしかったようです。

協力してくれた方が何人いるかはわかりませんが、みなさんありがとうございました。
774デフォルトの名無しさん:2008/08/08(金) 03:44:15
【 課題 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/397.txt
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】提出期限 8月10日
【 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)
【 補足 】サーバ側のNamingクラスのrebindで対応付けられたオブジェクトが、
       クライアント側のNamingクラスのlookupでどうやったら呼び出せるのかとかサッパリわかりません・・・。
775デフォルトの名無しさん:2008/08/08(金) 20:10:21
>>774
「擬似的なRMI」ってなんだ?
776デフォルトの名無しさん:2008/08/08(金) 20:15:26
どなたか>>759の課題を教えていただけないでしょうか?
期限が迫っていますのでよろしくお願いします;;
777デフォルトの名無しさん:2008/08/08(金) 20:40:09
>>776
並べ替えだけで表示機能が無いとか、
入出力って何の入出力だよとか、
そもそもGUIなのかCUIなのかとか、とにかく聞き出すのが面倒なので・・・
778デフォルトの名無しさん:2008/08/08(金) 21:03:04
>>777
すみません、問題文をそのまま書いたのですが細かいことがないみたいですね;;
Eclipseで開発せよと書いていたのですがこれはスレ違いでしょうか・・・?
779デフォルトの名無しさん:2008/08/08(金) 21:03:20
>>775
RMIが裏でどういう処理を行っているかを考えて、
自分で簡単なプログラムを組んでみろっていう事みたいです。

スタブやスケルトン内の処理は何となくイメージ出来るんですけど、
Namingクラスを自分で用意した場合に、サーバ側でバインドされた情報を、
どうやって保持して、どうやってクライアント側から呼び出せば良いのかが
サッパリわかりませんorz
780759:2008/08/08(金) 21:07:10
>>777
データの入出力形式はたぶん入力はデータの追加のことで
出力は追加・削除した結果をファイルに保存することだと思います。
表示機能はたぶんなくてもファイルに結果を保存するので大丈夫だと思います。
GUIかCUIは調べてみたのですがよくわかりませんでした;
781デフォルトの名無しさん:2008/08/08(金) 22:44:43
>>776

>締め切りは8月8日金曜日の0時までです

期限切れでは?
782759:2008/08/08(金) 22:49:25
>>781
少しの遅れはみとめてもらえそうです。
783デフォルトの名無しさん:2008/08/08(金) 23:00:25
>>782
23時間前に期限切れだけど?
784759:2008/08/08(金) 23:17:51
>>783
8月8日23時59分、8月9日0時を書き間違えてしまいました;
785デフォルトの名無しさん:2008/08/08(金) 23:37:50
>>784
自己チェックや提出の手間とかを考えるとそろそろ限界なんだろうけど、
提出遅延の許容範囲ってどれくらいなの?
786759:2008/08/09(土) 00:04:05
>>785
だいたい期限より3日後までは許容してくれたと思います。
あまり遅くなると評価されなくなります;
787デフォルトの名無しさん:2008/08/09(土) 13:58:27
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1118178186

マルチでなかったらやってもよかったけど。
別人かもしれないけど、残念でしたね。
788デフォルトの名無しさん:2008/08/09(土) 14:14:09
MSNで検索して、ある掲示板なら答えてもらえるかもよ?

探しだせるかどうかだけど。
789759:2008/08/09(土) 16:05:31
>>787
マルチとかしたことないです、同じ課題与えられた奴ですねたぶん・・・orz
マルチと思われてもしかたないですね、色々とすみませんでした。
790デフォルトの名無しさん:2008/08/10(日) 02:37:45
回答者が池沼すぎて可哀そうだw
791デフォルトの名無しさん:2008/08/10(日) 09:21:44
>>790
煽っても別に回答はつかないよ。
質問者がやる気なさすぎで、エスパー回答しかできないから。
792デフォルトの名無しさん:2008/08/10(日) 18:00:17
Cを使った授業の課題よりも簡単になってるのか。
追加、削除、ソートだけで、検索機能や検索と組み合わせたデータの削除とか無くなってる。
受講条件はCを知っていることだし、講義スケジュールにもJavaのGUI関連はないみたいだから、
GUIは不要というか、逆にGUIだとオーパーツ扱いされたりするのかも。
モデリングやUMLの講義も入っていることだし、講義内容から見て、
追加、削除、ソート、XMLEncoder/XMLDecoderによるデータの保存と読み込みの機能を付けた
データオブジェクトの集約クラスを作成することが演習の主眼で、
mainメソッドを含むクラスは、これをテストするためのコード程度なのかも。
4月から続いた講義の最後の演習だから、
課題の曖昧さは実際に受講した人間にはピンとくる部分があるかもしれないし、
分からないにしても、課題の出題は先月の半ばで、講師に質問する時間的余裕もあったはず。
データオブジェクトのクラスとその集約クラスに関しては課題文と講義予定の資料から推測できるけれど、
mainメソッドを含むクラスにどの程度のことをさせるのかが不明なのがどうにも。
793デフォルトの名無しさん:2008/08/10(日) 18:08:08
>>792
オマエみたいなエスパー会話要求するやつと同列なだけ。
794デフォルトの名無しさん:2008/08/10(日) 18:24:48
課題にある言葉でぐぐってみたら講義のページにたどりつけたんで、そこから推測してみただけなんだが。
依頼者に対する確認の意味が大きいレスなので、意味が分からなくて混乱したのならすまん。
期限から3日で許容限界ってことで機を逸したのかもしれんが、頻繁にスレを覗いたりしないから。
795デフォルトの名無しさん:2008/08/10(日) 18:58:03
>>794
なにしろ、依頼主は>>780で追加はxmlで読み込むといっているし、
依頼どおりに作ってもパスしない雰囲気・・・
796759:2008/08/10(日) 19:37:53
なんかいろいろと迷惑をかけてるみたいですみません;
期限は15日くらいまでは大丈夫みたいでした。
後半の講義は他の講義とかぶっててあまり行けなかったので
独自でやろうとしてもよくわかりませんでしたorz
形だけでもいいのでどなたかお願いできないでしょか?
完璧なものではなくてもある程度形になってたら評価はしてくれるそうなので・・・
>>795
仕様が自分でもよくわからないので追加がxmlで読み込むとかは推測なので;;
797デフォルトの名無しさん:2008/08/10(日) 20:19:07
>>796
> 後半の講義は他の講義とかぶっててあまり行けなかったので
今時は、重複のあるような履修計画が受理されるのか?
798デフォルトの名無しさん:2008/08/10(日) 20:49:18
>>797
前年に落としたのはかぶってても履修できるのです。
799デフォルトの名無しさん:2008/08/10(日) 21:44:36
>>796
そもそも、>>792の言う、XMLEncoder/XMLDecoderを使うとか、GUIは使わないとかは合っているのか?
800デフォルトの名無しさん:2008/08/10(日) 21:59:32
>>798
じゃあ来年も安心だね!!
801デフォルトの名無しさん:2008/08/10(日) 22:04:52
>>799
過去の資料をみたところ課題ではなるべくXMLEncoder/XMLDecoder
を使ってみてと書いていたのでそうだと思います。
GUIかCUIはぐぐったりしたのですがよくわからないんですよね・・・・
できればどちらかわかりやすいほうでお願いしたいですorz
802デフォルトの名無しさん:2008/08/10(日) 22:28:47
>>801
> GUIかCUIはぐぐったりしたのですがよくわからないんですよね・・・・
コレ、どういう意味?
GUI/CUIと言うものを、知らないと言う意味?

http://kaden.yahoo.co.jp/dict/?type=detail&id=486
http://kaden.yahoo.co.jp/dict/?type=detail&id=237
803デフォルトの名無しさん:2008/08/10(日) 22:36:07
>>800
三年の科目を去年落として・・・、五年生か・・・
804デフォルトの名無しさん:2008/08/10(日) 22:36:58
GUI/CGIはわかるのですが今までEclipseだけ使っていたためか
そこらへんは気にしてなかったのでググってみて
どちらが適しているのだろうか調べた感じです。
Eclipseを使っている時点でGUIなのでしょうかね?
無知ですみません;;
805デフォルトの名無しさん:2008/08/10(日) 22:51:45
>>804

演習の文脈をみたら、CUIだと思うが
806デフォルトの名無しさん:2008/08/10(日) 22:52:36
>>804
>>792のとおりなら、GUIについて何も習っていないはずだぞ。
807デフォルトの名無しさん:2008/08/10(日) 22:55:38
演習4,5が楽しそう
808759:2008/08/10(日) 23:08:11
>>805->>806
CUIでしたか;
できればCUIでどなたか回答お願いできないでしょいか?
自分では力不足で・・・・お願いします<(_ _)>
809デフォルトの名無しさん:2008/08/11(月) 14:47:02
810デフォルトの名無しさん:2008/08/11(月) 20:34:07
>>809
返信遅くなってしまってすみません。
動作確認してみたところ正常にxmlファイルができて理想的な動作ができました!
本当に感謝します、ありがとうございました<(_ _)>
色々迷惑かけたみなさんもありがとうございました!
811デフォルトの名無しさん:2008/08/11(月) 20:45:15
>>810
いや、本当のところ、オレもオマエも出題者の要求が分かってないんじゃね?
812デフォルトの名無しさん:2008/08/11(月) 22:26:51
>>811
確かにそうかもしれませんね;;
ですがデータベースの形ができているので感謝してます!
813デフォルトの名無しさん:2008/08/12(火) 01:21:49
質問させて下さい。
現在、スライダで図を大きくしたり小さくしたりするアプレットを作っています。
appletviewerでは問題なく表示されるのですが、HTMLを作成して表示させようとすると左上に赤いバツが出て
何も表示されません。

アプレットのクラスファイルと、画像ファイル、HTMLファイルは全て同じフォルダに入れてあります。
セキュリティの問題は調べているうちにtoolkitの使用に問題がありそうな事はわかったのですが、
クラスファイルが見つからないというエラーは全く原因がわかりません。
変数宣言等に問題があるのでしょうか?

ソースとHTML、画像ファイル、javaコンソールで表示されたエラーの入ったzipを上げさせていただきます。
ご教授宜しくお願い致します。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/401.zip

814デフォルトの名無しさん:2008/08/12(火) 01:32:24
>>813です。テンプレに沿わない形の文章にしてしまって申し訳ないです。

【課題提示用テンプレ】
【 課題 】スライダで図を大きくしたり小さくしたりするアプレット(スライダ使用で、誰でも使える形が望ましい)
       (将来的にサーブレットと関連させたいと思っています)
【 形態 】2. Applet
【 GUI  】2. Swing(どうしてもではありません)
【 期限 】8月15日
【 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)

【 補足 】appletviewerでは動作しているが、webサーバ上で実際に動かさないといけないです。
appletviewerと、HTMLでのアクセスの違いがわかっていない事が原因なのか、もっと違う所が駄目なのか、
完全にハマってしまいました。宜しくお願いします。
815デフォルトの名無しさん:2008/08/12(火) 05:16:36
>>814
applet#getImageとかで処理するんじゃねーの
816デフォルトの名無しさん:2008/08/12(火) 16:23:55
>>815
お返事有難う御座います。Imageクラスで読み込む事はいけないと言う事ですか。
やってみます。まずはお礼まで。
817デフォルトの名無しさん:2008/08/12(火) 22:00:55
>>814

static final String image_file = "gachoooon.gif";

static final String image_file = "http://<略>/gachoooon.gif";

でどうかな?
エラーログの内容的には、ローカルファイルを読みにいって、
(Java)のセキュリティにひっかかってるみたいだけど。
818デフォルトの名無しさん:2008/08/13(水) 03:53:08
【 課題 】BMI(Body Mass Index)クラスを作る
それを使った main含みのclassも作る。
ソースファイルは,合わせて1つ。
BMIの男性の理想は22とし,女性の場合は21とする。
キーボードから体重・身長・性別を入力すると,BMIを求めそれにより一言コメントを表示させる。

【 形態 】たぶんその他。コマンドプロンプトで動かすあれです。
【 期限 】今日の夜10時までにお願いします。
【 Ver  】1.6.0_07
【 用語 】BMI・・・体重÷身長の2乗(m)
【 補足 】クラスを二つ必要なのですが、自分にはわかりません。だれかお願いします。
819デフォルトの名無しさん:2008/08/13(水) 07:10:42
>>818
普通に形態は「1.Javaアプリケーション」だと思ったんだが
そうではなくてコマンドプロンプトで動かすあれって何だ?
仕様は明瞭に
820デフォルトの名無しさん:2008/08/13(水) 17:31:05
>>819

コンソールアプリケーションです。
仕様不明確にして申し訳ないです。
821デフォルトの名無しさん:2008/08/13(水) 18:50:14
822デフォルトの名無しさん:2008/08/13(水) 22:58:46
【課題】(最適化手法)Particle Swarm Optimization のプログラム
【 形態 】1. Javaアプリケーション
【 期限 】8月16日 23:59
【 Ver  】1.6.0_06
【補足】  完全まる投げですすみません。
      よろしくお願いします。
823デフォルトの名無しさん:2008/08/13(水) 23:41:51
824デフォルトの名無しさん:2008/08/14(木) 20:51:04
【 課題 】2つのテキストファイルを読み込んで比較し、違いがあったら別のファイルに書き込んで出力する。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】提出期限8月18日12:00、解答希望日8月15日
【 Ver  】1.5.0_07
【 用語 】
【 補足 】
825デフォルトの名無しさん:2008/08/14(木) 22:32:40
何を書き込むんだ
826デフォルトの名無しさん:2008/08/14(木) 23:15:15
>>825
ファイル1(元になったもの)とファイル2(改変後)を読み込み、違ってる部分をファイル3に書き込むという感じです。
827デフォルトの名無しさん:2008/08/15(金) 00:47:41
>>826
差分の出力形式は?適当に決めていいってこと?
828デフォルトの名無しさん:2008/08/15(金) 03:37:00
テキストファイルの比較っていっても比較する単位が分からんことには、
相違部分をどれだけ書き出せばいいか分からん。
一文字違っていただけでも違っている部分は全文ですとか言って、
全部書き出すようなプログラムを作られる前にはっきりさせておいた方がいいかも>>824
よくあるdiffライクな出力なら行単位だろうし、文字単位とか、単語単位とか。
829デフォルトの名無しさん:2008/08/15(金) 07:30:28
>>827
いいみたいです。

>>828
1バイトごとに比較して、違うところだけを抽出するらしいです。
aaaaaとaaabaだったらbのところだけ、と。
830デフォルトの名無しさん:2008/08/15(金) 08:54:52
javaって難しくない?
http://mild7070.livedoor.biz/
831デフォルトの名無しさん:2008/08/15(金) 13:22:20
>>830
30も過ぎたら、エンジニアも小手先のコーディングだけじゃなくて、
担当分野の業務知識、法知識、
部下の面倒や、
もっと大きくプロジェクトのマネージメント、
諸々の能力が求められる時期。
下働きとして入りたいと言う人間に行く先など無いだろ・・・
832デフォルトの名無しさん:2008/08/15(金) 19:45:45
833デフォルトの名無しさん:2008/08/16(土) 01:56:03
>>822
>>832
本当にありがとうございます!!
今やっと提出できました。
レス遅くなってすみませんでした。
834デフォルトの名無しさん:2008/08/16(土) 01:57:43
間違った・・・
>>822の方本当にありがとうございます!!
835デフォルトの名無しさん:2008/08/19(火) 22:31:06

【 課題 】http://www.i.u-tokyo.ac.jp/edu/course/ci/admission.shtml の2007年度(2006年8月)の実技試験の1問目(補足にて直リン)
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】8月21日(希望)
【 Ver  】1.6.0 05
【 補足 】宿題ではありませんが、全く解法が分からなかったので丸投げとなりました。
http://www.i.u-tokyo.ac.jp/edu/course/ci/pdf/2006_8_ci_practice_all.pdf
836デフォルトの名無しさん:2008/08/19(火) 22:47:26
>>835
「プログラムを書きなさい」じゃなくて、「解読しなさい」だから、
25パターン試して、よさげな平文を自分で選んで提出するだけでは?
837835:2008/08/19(火) 23:48:47
>>836
入力して解読しなさいなので、プログラムを組む問題だと思います。
838デフォルトの名無しさん:2008/08/20(水) 00:07:02
>>837
妥当性をプログラムで判定するわけではないでしょ?
839デフォルトの名無しさん:2008/08/20(水) 00:16:43
>>835
オレに書けるのはこの程度。
鍵が合ってるかどうか判定するのは、オレには無理。
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=30415
840デフォルトの名無しさん:2008/08/20(水) 03:06:52
>>835
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/405.java
GUIと復号鍵を自動的に推測する機能を付けてみた。
841835:2008/08/20(水) 15:01:07
>>838
妥当性は人間が判断すると思います。
>>839
ありがとうございます。
>>840
ありがとうございます。自動的に推測とはすごいですね!
842デフォルトの名無しさん:2008/08/20(水) 21:11:11
【問題】
プログラム引数を一覧するプログラムを作成して下さい。
プログラム引数が無い場合は「プログラム引数を入力して下さい」と画面に表示させて下さい。

C:\javabook\part1>java ArrayTest3 java 1234 C
プログラム引数1番目java
プログラム引数2番目1234
プログラム引数3番目C

C:\javabook\part1>java ArrayTest3 ABCED PPPPP
プログラム引数1番目ABCED
プログラム引数2番目PPPPP

C:\javabook\part1>java ArrayTest3
プログラム引数を入力して下さい。

【問題ここまで】
【提出期限】特に無し。練習用に与えられた問題。
【Ver】java version "1.6.0_07"
【補足】java初めて3週間です。低レベルな質問で申し訳ありません。
とりあえず
class ArrayTest3{
public static void main(String[] args){
for(int i =0; i<args.length;i++){
System.out.println("プログラム引数" + (i+1) +"番目" + args[i]);
}
}
}
で、引数を数に上限なく取って、表示させるまではできたんですが、引数なしの場合、
「引数を〜」と表示させる方法がわかりません。どうかご教授願いますm(__)m
843デフォルトの名無しさん:2008/08/20(水) 21:59:40
for文の前に
if(引数がない場合) {
「プログラム引数を入力してください」と表示
プログラム終了
}
844デフォルトの名無しさん:2008/08/20(水) 22:00:13
>>842
まずは、こう書換えて、args.length の挙動を確認してください。

class ArrayTest3 {
 public static void main(String[] args) {
  System.out.println("args.length = " + args.length);
  for(int i =0; i<args.length; i++) {
   System.out.println("プログラム引数" + (i+1) +"番目" + args[i]);
  }
 }
}
845デフォルトの名無しさん:2008/08/20(水) 22:52:29
>>843 >>844
ありがとうございます!できましたー!
引数が無い場合をどう書くか…と考えていたのですが、
引数無しの時 args.length = 0 になるのをみて、ようやく気付きました。
for文の前に if(args.length == 0){System.out.println("引数を〜"); 
を追加して完成しました。

こんな初歩的な質問に答えてくださってありがとうございましたm(__)m
846835:2008/08/21(木) 01:44:10
>>840
このプログラム本当に凄いと思うんですけど、
自動的に推測するアルゴリズムはどういったかんじでやっているのですか?
847デフォルトの名無しさん:2008/08/21(木) 01:52:49
>>846
>>840じゃないけど、
一番多く登場する文字をeに変換する鍵を探してる。
英語では、eがもっとも多く使われると言われているから。
848835:2008/08/21(木) 11:08:57
>>847
なるほど。理解できました。
ありがとうございます
849842:2008/08/22(金) 00:30:45
また質問させて下さい、すいません。
【問題】
プログラム引数で入力された数字を小さい順に並び替えて表示するプログラムを作りなさい。
(プログラム引数は何個でも入力できるように)

【提出期限】特に無し。練習用に与えられた問題。
【Ver】java version "1.6.0_07"
【補足】java初めて3週間です。低レベルな質問で申し訳ありません。
とりえあず二日ほどパソコンとにらめっこして、
http://hisazin-up.dyndns.org/up/src/74758.java
という所までは考えたのですが、これで実行しても引数を 2 4 1 6 7 としたら
0
0
0
0
6
と表示されてしまいます。どの辺がおかしいのかさっぱりわかりません。
またご教授お願いしますm(__)m
850デフォルトの名無しさん:2008/08/22(金) 00:41:27
ソースをざっと見た感じだと、for(int j = i + 1;j<args.length;j++)辺りかな
851デフォルトの名無しさん:2008/08/22(金) 01:03:06
うーん、for(int j = i + 1;j<args.length;j++){
if(a[j] < min){
で、a[i]と、a[i+1],a[i+2],a[i+3]…を順に比較していけると思ったんですが、
どうおかしいでしょうか?
852デフォルトの名無しさん:2008/08/22(金) 01:09:07
>>851
a[i+1], a[i+2],... は値が代入されていないので初期値の0が入っている。
853デフォルトの名無しさん:2008/08/22(金) 01:44:39
>>852
うーん、なぜ値が代入されないのでしょう。引数を入力したら、二つのfor文を経て、
小さい値の順にa[0],a[1],a[2],…と代入されていると思ってたんですが…。
その辺り、もう一度考え直してみます。ありがとうございました。
854デフォルトの名無しさん:2008/08/22(金) 04:16:12
>>853
>>849のプログラムでは、コマンドライン引数を変換して配列の各要素に代入する操作と、
ソートの操作を同時に行おうとして間違った結果になっている。
表示の部分を上の2つの操作とは別のfor文に分けているように、
最初のfor文も配列の要素への代入とソートとの二つに分離した方がたぶん間違わない。
つまり、配列の要素全部に正しい数値が代入されたのちに、ソート操作を始めるようにする。
>>849は全部のデータが配列に入らないうちにソート(のようなこと)をしようとしている。
もちろんデータを順次読み取りつつソートを行う方法もあるけれど、>>849のやり方はそうではない。
少数個の引数が与えられたとき、どう動作するか、手を使い紙の上で各変数の値の変化を追いかけてみるといい。
855デフォルトの名無しさん:2008/08/22(金) 04:27:11
補足すると、二つに分離した方がというのは>>849
 二重for文 // 配列への代入と並べ替え
 for文 // 表示
になっている構成を
 for文 // 配列への代入
 二重for文 // 配列要素の並べ替え
 for文 // 表示
にするということ。
856デフォルトの名無しさん:2008/08/22(金) 22:09:51
>>854 >>855
よーーーやく理解できました!for(i =0;〜){
の一番最初のループ(i=0の時)ではa[0]にしか値が代入されてないのに、
そのまま for(j =i+1〜){ に突入して、a[1]やa[2]を扱おうとしてたから、
まだa[1]やa[2]は初期値の0のままで、おかしくなっていたんですね。

おっしゃられている通り、先に配列に代入してからソート、で完成しました
for(i =0;i<a.length;i++){
a[i] = Integer.parseInt(args[i]);
}
for(i = 0;i<args.length-1;i++){
min = a[i];
minI = i;
  for(int j = i + 1;j<a.length;j++){
if(a[j] < min){
 min = a[j];
 minI = j;
}
}
細かく説明して頂き、まことにありがとうございました!
857デフォルトの名無しさん:2008/08/23(土) 22:06:34
【問題】以下のURLのQ2−1がわかりません。
http://www.i.u-tokyo.ac.jp/edu/course/ci/pdf/2007_8_ci_practice_all.pdf
【提出期限】期限はありません。
【Ver】java version "1.6.0_07"
【補足】相互に結合した図を数値データで表すことがうまくいきません。
cell[][]のように2次元配列でcell[結合元番号][結合先番号]=1or0のようにやっていましたが、
うまくできませんでした。宜しくお願い致します。
858デフォルトの名無しさん:2008/08/24(日) 00:53:49
>>857
>>842,>>849と同じ人?
宿題というよりも独習か何かの自習っぽくて、しかも期限が無いのなら、
少しやっただけで、すぐにうまくできない分からないと投げるよりも、
ウエブや書籍にある既存情報を収集して、それを基に徹底的に自分で考えて、
そうやって問題を解決する癖をつけた方がいいと思うよ。
このスレはどちらかというとプログラミングができるようになりたいというよりも、
理解はどうでもいいから期限内に宿題を提出したい人向けって気がする。
向上心はありそうだし、時間は十分あるわけだし、
短期間に続けざまに問題を投げるくらいなら、もう少し自力でがんばってみては?
問題を解くに当たっての疑問点とかが絞れそうなら、
そこだけを質問スレで質問してみるとかもいいかもしれない。
疑問を自分の言葉で整理して説明するのも理解を進める上で役に立つので。
単に「うまくできません」ではなく、
こうだからこうなると思ってこうやったけれどこういう風にうまくできないとか。
859858:2008/08/24(日) 01:41:46
確かにそうですね。テストが近いので焦っていました。
質問スレで要点だけ聞いてみようと思います。
860842:2008/08/24(日) 11:46:01
あ、今スレ覗いてみたので、一応。
私は>>857の方とは別人です。課題はおかげさまで全てできました。
ありがとうございます。
861デフォルトの名無しさん:2008/08/31(日) 11:55:03
【 課題 】ハノイの塔を作成せよ。
      その際、早さ、円盤の数を変更できるように作成する事
【 形態 】1. 1. Javaアプリケーション(main()で開始)Eclipseを用いています。
【 GUI  】4. 制限なし
【 期限 】9月3日(水)
【 Ver  】1.6.0
862デフォルトの名無しさん:2008/08/31(日) 14:13:47
【 課題 】
一つのtypeパラメタを持つSortedPairというgenericクラスを書く。
クラスは二つのアイテムをtypeパラメタに保管し、二つのうち小さい方を最初のアイテムとする。
クラスのObject等からは(first, sencond)といった形でプリントします。
メインメソッドではそのクラスでStringとintegerを二つずつを使い、表示させる。
オリジナルの問題文(英文)。
http://proxy.f3.ymdb.yahoofs.jp/bc/5d731e43/bc/ae57/generic.txt?bcmtiuIB8TQ71wx1

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】9月2日。
【 Ver  】1.6.0 05
【 補足 】丸投です。 課題の文章が分かりづらいと思います、申し訳ございません,英文がオリジナルですのでそちらもごらん頂くと何となく意味が伝わると思います。
自分が書きました以下のコードが気持ち的には何となく近い気がするのですが、
二つのペアのデータを保管し、小さいものが最初に来るようにする方法が全く分かりません。
どうぞよろしくお願いします。
public class SortedPair <type> {
//ここで二つのアイテムをペアで保管する
private type storedValue;
public type read(){
return storedValue;}
public void write(type x){
storedValue = x;}
public static void main(String args[]){
SortedPair<Integer> nums = new SortedPair<Integer>();
SortedPair<String> str = new SortedPair<String>();
     //ここでStringとIntegerの二つずつのペアを使い、
}
}
863デフォルトの名無しさん:2008/08/31(日) 15:46:18
>>862
開けねーし
864デフォルトの名無しさん:2008/08/31(日) 17:39:49
【 課題 】
1
12
123
1234
…と続く数を、
4321
321
21
1
というように並べ替える。二次元配列を使用すること。
【 形態 】1. Javaアプリケーション
【 期限 】解答希望日 9/1まで
【 Ver  】1.6.0_07
【 補足 】http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/406.java
配列の前と後ろを順々にひっくりかえす、という方法を考えたのですが、どうもうまく書けません。頭ごちゃごちゃになってます。
865デフォルトの名無しさん:2008/08/31(日) 23:59:50
866デフォルトの名無しさん:2008/09/01(月) 01:07:27
>>862
これはダメか?

public class SortedPair<T extends Comparable<T>> {
private T first, second;
SortedPair(T value1, T value2) {
if(value1.compareTo(value2) <= 0) {
first = value1;
second = value2;
} else {
first = value2;
second = value1;
}
}
@Override
public String toString() {
return "("+first+","+second+")";
}
public static void main(String[] args) {
SortedPair<String> ssp1 = new SortedPair<String>("ABC", "abc");
System.out.println("ssp1="+ssp1);
SortedPair<String> ssp2 = new SortedPair<String>("xyz", "XYZ");
System.out.println("ssp2="+ssp2);
SortedPair<Integer> isp1 = new SortedPair<Integer>(123, 456);
System.out.println("isp1="+isp1);
SortedPair<Integer> isp2 = new SortedPair<Integer>(987, -987);
System.out.println("isp2="+isp2);
}
}
867デフォルトの名無しさん:2008/09/01(月) 02:18:08
868デフォルトの名無しさん:2008/09/01(月) 20:16:51
>>865
ありがとうございました。
869デフォルトの名無しさん:2008/09/02(火) 09:59:22
>>866
どうも有り難うございました。完璧なコードです。
870デフォルトの名無しさん:2008/09/03(水) 12:20:14
【課題】2次元画像のパターンマッチング
【 形態 】1. Javaアプリケーション
【 期限 】9/10
【 Ver  】1.6.0_06
【補足】  
 円、四角、三角などが書いてある画像を読み込む。
 その画像からどれか1種類の図形を抜き出す。
 

 全然理解できないのでどなたかお願いします。
871デフォルトの名無しさん:2008/09/03(水) 13:10:42
>>870
画像を読み込むのは、画像が入ってるディレクトリを選ばせる感じで良いですか?
872デフォルトの名無しさん:2008/09/03(水) 14:12:47
>>870
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/408.txt
画像ファイルのパスの所は直してね。
873デフォルトの名無しさん:2008/09/03(水) 14:24:53
>>872
勘違いしすぎだろw
パターンマッチングだろ?
874デフォルトの名無しさん:2008/09/03(水) 14:29:56
>>873
うへ、補足のとこしか読んでなかったw
875デフォルトの名無しさん:2008/09/03(水) 14:35:33
どんまい!
修正版期待!
876デフォルトの名無しさん:2008/09/03(水) 14:54:28
Javaでデータベースを利用したサーブレット作成の宿題があったんですけど、
一応自分でmysqlを使って作ったのですが、こういうものってDBへの接続時に使う
ユーザ名とパスワードは普通プログラムの中に書いちゃって良いんでしょうか?
ユーザは見れないといえどrootのパスとかがプログラムの中で丸見えになってたりして良いのかな?と。
877デフォルトの名無しさん:2008/09/03(水) 15:05:55
>>876
宿題なら構わないんじゃないかな。
それが本物の成績の入ったDBとかじゃないければw
878デフォルトの名無しさん:2008/09/03(水) 15:38:13
>>870
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/409.zip

普通のマッチングなのでサイズが違ったら結果がちゃんと得られません。
879デフォルトの名無しさん:2008/09/03(水) 15:42:03
>>877
ありがとうございます。
ちなみに実務だったらユーザ名とかパスワードなんかは暗号化したファイルに入れて、
そこから復号化してDB接続の関数に渡したりするんですか?
880デフォルトの名無しさん:2008/09/03(水) 16:11:47
なんで復号化すんだよw
パスワードが復号できたら意味無いじゃんw
881デフォルトの名無しさん:2008/09/03(水) 16:22:34
>>861
お願いします
882デフォルトの名無しさん:2008/09/03(水) 16:46:26
>>880
あれ?復号化しないとDriverManager#getConnectionの引数にどうやって渡したらいいんですか??
883デフォルトの名無しさん:2008/09/03(水) 16:49:13
884デフォルトの名無しさん:2008/09/03(水) 17:04:53
>>882
ユーザ名とパスワードなんだから、
プロンプトなりダイアログなり出してユーザに入力させるのが普通じゃね?
885デフォルトの名無しさん:2008/09/03(水) 17:35:15
>>884
通常のアプリとかな起動→入力待ちにすると思うんですけど、
サーブレットってずっと動いててそこにユーザがアクセスしてくる感じですよね。
そうすると動かす側がDB接続のユーザ名とかを入力するタイミングって存在しなくないですか?
tomcatなんかのアプリケーションサーバ起動→ユーザのアクセス待ちな感じだから。
886デフォルトの名無しさん:2008/09/03(水) 17:47:16
>>885
システムインターフェースが見えない。
ログインシステムがあって、DBにアクセスするのか
常に起動してあって、そこに随時アクセスするのか
それ次第でやり方はいくらでも。
887デフォルトの名無しさん:2008/09/03(水) 17:56:13
>>886
えっと、amazonみたいなショッピングサイトを作ってくるっていうのが宿題の内容です。
ユーザは一般ユーザと管理ユーザの二者を想定して、一般ユーザは普通に買い物して、
管理ユーザは商品を追加したり削除したりといった管理が出来ます。
一般ユーザのログインはamazonみたいな感じで、管理ユーザは管理用のページからIDとパスでログインします。

このシステム自体は常に起動してあって、一般ユーザも管理ユーザもそこにアクセスする感じです。
888デフォルトの名無しさん:2008/09/03(水) 18:35:40
>>887
そのショッピングサイトに一般ユーザや管理ユーザがアクセスすることと、
そのサイトで使用しているDBにアクセスすることとは分けて考えた方がいい。
DBに直接アクセスできるのはユーザではなくサイトで動作しているプログラム。
> そうすると動かす側がDB接続のユーザ名とかを入力するタイミングって存在しなくないですか?
そうするとこれは、プログラム自身の持つアカウントでもって任意のタイミングでDBへ接続できる。
一般ユーザと管理ユーザの区別はDB接続のアカウントとは別のもので、
DBを操作するプログラムの使用権を得るアカウントとして表面上はプログラム自身が管理する。
実態としてプログラム自身の管理でなく、このアカウントを管理するDBを裏で使ってもいい。
使用権の違いでDBへの操作に制限を設けたりするのはプログラムが行う。

一般ユーザや管理ユーザのアカウントは実際の使用時にユーザ自身によって入力させ、
裏で接続するDBへのアカウントは宿題レベルならプログラムコードに書くとかでもいいと思うし、
サイトユーザにはアクセスできないプログラムとは別の場所に置いたリソースから読み取るようにしてもいい。
それを平文のまま置くとか暗号化するとかは好きなようにできる。

ところで、宿題をやってもらいたいならテンプレを書いた方がいいと思う。
単なる質問なら今度からは質問スレへどうぞ。
889870:2008/09/03(水) 20:39:17
>>878
ありがとうございました。
890870:2008/09/03(水) 20:58:43
>>878
新しく自分で画像を作った場合動かないんですが
サイズが違う場合はどうすればいいのでしょうか?
891デフォルトの名無しさん:2008/09/03(水) 21:12:58
>>890
サイズが違う場合、というのはテンプレートの前景画素のパターンと、パターンを探す画像に含まれる探したいパターンのサイズが違う場合という意味です。
もしそのサイズが異なるものを使用したい場合はこの簡単な手法ではだめです。
プログラミングの課題としての答えであればこの程度で十分だと思うのですが・・
892>>891:2008/09/03(水) 21:21:00
すみません。
ループ回数が一つ足りてませんでした。
3重ループの外側二つの範囲を1プラスしておいてください。
893デフォルトの名無しさん:2008/09/04(木) 02:05:14
>>876
今さらだけど、余裕があるならコネクションプールはっとくのもいいよ(*‘ω‘ *)
894デフォルトの名無しさん:2008/09/04(木) 19:20:08
【 課題 】URLろだに記載します。プログラミング入門の課題です。
【 形態 】1. Javaアプリケーション(main()で開始)/2. Applet/3. Servlet/
       4. 携帯(開発環境のver.必須)/5. その他(明記のこと) 《必ず選択》学校のPCはおそらく1か2
【 GUI  】1. AWTのみ/2. Swing/3. SWT/4. 制限なし/ 5. その他(明記すること)
       《GUIの課題の場合必ず選択》分かりません
【 期限 】提出期限、解答希望日を書きます。「できるだけ早く」はNG。 《必須》9月5日14時まで
【 Ver  】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)。

よろしくお願いします。
895894:2008/09/04(木) 19:31:36
スミマセン。↑のURL、ろだに貼れませんでしたので、載せます。
http://al.cm.is.nagoya-u.ac.jp/~takao/toho/
“第12回”の中にある一番下の(課題1)が分かりません。
よろしくお願いします。連レスすみませんでした。
896デフォルトの名無しさん:2008/09/04(木) 20:53:07
>>895

public class AddInputs2 {
public static void main(String[] args) {
double sum = 0;
for (int i = 0; i < args.length; i=i+1) {
double d = Double.parseDouble(args[i]);
if(d < 0) break;
sum = sum + d;
}

System.out.println("The sum = " + sum);
}
};
897895:2008/09/04(木) 21:10:16
>>896
結構急いでいたので、凄く助かりました(^^)
ありがとうございます(^^)あなたは神様です。
898デフォルトの名無しさん:2008/09/04(木) 23:45:40
>>894-895
ttp://al.cm.is.nagoya-u.ac.jp/~takao/toho/
階層1つ上に戻ると
Hobby: プログラミング, スポーツをTVで見ること, 重箱のすみをつつくようなあらさがし.
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
これは既にスレバレ汁wwww
899デフォルトの名無しさん:2008/09/05(金) 01:11:24
ばれてほしいねw
誰か教授にメールしたら?w
900デフォルトの名無しさん:2008/09/05(金) 01:16:58
すみませんが
http://namidame.2ch.net/test/read.cgi/slotj/1216400588/
のスレで確率についてバトルしています

問題はサイコロで1が8回連続して出る確率です
バカが多すぎて疲れました
頭の良い皆様、論破してください
お願いします
901デフォルトの名無しさん:2008/09/05(金) 01:42:11
麻雀の板じゃねえか、しかも確率の話なんてだれもしてねえぞ
902デフォルトの名無しさん:2008/09/05(金) 01:59:04
>>896>>897
それ違うんじゃないか。
課題12の元になってる課題8で作ったのは、恐らく標準入力から一行ずつ数値を入力するタイプだろう。
903デフォルトの名無しさん:2008/09/05(金) 04:22:16
【 課題 】http://kaz.cyteen.nagoya-bunri.ac.jp/ai/repo3.html のページ参照
【 形態 】1. Javaアプリケーション(main()で開始) Eclipseで奮闘しています。
【 期限 】9月11日ぐらいまでにお願いします。
【 補足 】

枝切りを行い、以下のような感じで出力してほしいです。

重量は???
価値は???
組合せは ?,?,?,?

完全に丸投げで申し訳ないのですが、どうかよろしくお願いします。
904デフォルトの名無しさん:2008/09/05(金) 21:23:40
905デフォルトの名無しさん:2008/09/05(金) 22:01:03
>>904
動作確認しました。
これからソースを追いかけ、自分でも組むことができるように勉強したいと思いますw
今回はどうもありがとうございました。
906 :2008/09/05(金) 23:54:48
【 課題 】http://www51.tok2.com/home/rg550/cgi-bin/hosoku/img0012.jpg
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ
【 期限 】遅くても7日夜まで
【 Ver  】1.6.0_06
【 用語 】
【 補足 】すべてString型でお願いします。classファイルは1つじゃなくて結構です。
907デフォルトの名無しさん:2008/09/06(土) 01:39:03
課題にurlだけじゃなw
どういう課題なのかぐらい書けないのかよw
908デフォルトの名無しさん:2008/09/06(土) 02:35:15
課題のjpgにはアプレットと書いてあるよーに見えるんだがw
909デフォルトの名無しさん:2008/09/06(土) 02:53:50
UTF-8の文字列をShift-JISに変換させるサンプルを下さい。
Javaってこんなに文字列操作が苦手と思わなかった。
910デフォルトの名無しさん:2008/09/06(土) 05:00:38
>>909
String#getBytes("Shift_JIS")
911デフォルトの名無しさん:2008/09/06(土) 05:50:44
>>909
何と比較して?
912 :2008/09/06(土) 15:48:05
>>908

間違えました。
アプレットではないです。
913デフォルトの名無しさん:2008/09/06(土) 16:11:41
eclipseを使って開発しています。

そこで、antを使って独自のjarファイルを作成したいのですが、
うまくいきません。

build.xmlとかいうのを作成して、右クリックのantの実行ってやると、
---------------------------------------------------------------
Buildfile: D:\AppData\Eclipse\workspace3.3\Hoge\build.xml
directory:
compile:
[javac] Compiling 1 source file to D:\AppData\Eclipse\workspace3.3\Hoge\Classes

BUILD FAILED
D:\AppData\Eclipse\workspace3.3\Hoge\build.xml:18: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "C:\@Development\Java\jdk1.6.0_03"

Total time: 297 milliseconds
---------------------------------------------------------------
こんな風にエラーになります。

何が原因でしょうか?
914デフォルトの名無しさん:2008/09/06(土) 16:45:26
>>913
>>1
単発質問は質問スレで

【初心者】Java質問・相談スレッド119【歓迎】
http://pc11.2ch.net/test/read.cgi/tech/1220388885/

つか、和訳しろってのかよw
915デフォルトの名無しさん:2008/09/06(土) 18:23:23
またお世話になります。
【 課題 】866の方に書いて頂いたコードに二つのメソッドをSortedPairのクラスに足そうと考えています。
一つのメソッド、oneMatchはメインメソッドでテストされたパラメタが二つのうちの一つが入力済みかどうかを確認します。
もう一つのメソッド、twoMatchはメインメソッドでテストされたパラメタが二つうち二つとも両方済みかどうかを確認します。
確認する際にはメインメソッドからプロンプトで確認したいintかStringを入力するようにします。
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】9月8日。
【 Ver  】1.6.0 05
【 補足 】 下のコードが866の方に書いて頂ききましたコードです。
private T first, second;
SortedPair(T value1, T value2) {
if(value1.compareTo(value2) <= 0) {
first = value1;
second = value2;
} else {
first = value2;
second = value1;}
}
@Override
public String toString() {
return "("+first+","+second+")";}
public static void main(String[] args) {
SortedPair<String> ssp1 = new SortedPair<String>("ABC", "abc");
System.out.println("ssp1="+ssp1);
SortedPair<String> ssp2 = new SortedPair<String>("xyz", "XYZ");
System.out.println("ssp2="+ssp2);
SortedPair<Integer> isp1 = new SortedPair<Integer>(123, 456);
System.out.println("isp1="+isp1);
SortedPair<Integer> isp2 = new SortedPair<Integer>(987, -987);
System.out.println("isp2="+isp2);}
}
916915:2008/09/06(土) 18:24:29
どちら様かよろしくお願いいたします。
917デフォルトの名無しさん:2008/09/06(土) 22:36:23
>>915
>メインメソッドでテストされたパラメタが二つのうちの一つが入力済みかどうか
等の文の意味が分かんないんだが。
標準入力から2値(String or Integer)を入力してSortedPairオブジェクトを
作ってソートされているのを表示して確認しろってことなのか?
oneMatch や twoMatch は、標準入力から2値を得る際に本当に入力されているか
(空文字、改行のみ等じゃないか)をチェックするメソッドか?

元になる課題文があるならそれを公開してくれ。
918デフォルトの名無しさん:2008/09/07(日) 00:56:20
【 課題 】電気力線を描画するアプレット
【 形態 】2. Applet
【 GUI  】よくわからない
【 期限 】できるかぎり今日中で。最終期限は月曜日
【 Ver  】1.6.0_07
【 用語 】わからないところがあれば書き込んでください
【 補足 】とりあえず参考にしたサイト
http://www.kamikawas.com/physics/electricfield/elefield.htm

電気力線自体はちゃんと計算されて表示されるが2つの電荷の位置を
スクロールバーの値で指定しようとするとうまく表示されない。
チェックボックスで電荷の種類(+,-)を指定できない。
スクロールバーで電荷の大きさが指定できない。

たぶんイベントのあたりでつまづいている可能性大。
もうひとつ気づいたのがHTMLに埋め込むと電荷の位置が正しく表示されない。
あとボタンとかがありますが必要がなかったら無視してもらってかまいません。

初めて聞くのでよくわからないので質問等があったら書き込んでください。よろしくお願いします。
プログラムです↓(参考サイトの逆コンパイルしたプログラムもあります)
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/411.zip

919デフォルトの名無しさん:2008/09/07(日) 01:25:20
>>913
環境変数JAVA_HOMEにjdkのディレクトリが正しくセットされてない。
920918:2008/09/07(日) 01:48:27
とりあえず電荷の種類は指定できるようになりました。ほかのをよろしくお願いします。
新しいソース http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/412.java
921915:2008/09/07(日) 03:53:11
>917
お世話になります。元になる課題文が無く、うまく言葉で説明できず分かりづらい部分がありました。もう少し詳しく説明しますと、
oneMatchメソッドは渡された1値が2つの内いずれか一つかを確認する。
twoMatchメソッドはSortedPairにある二値がSortedPairに渡された二値と一致するかを確信し、そうであればtrueを返す。
ですから今回のコードから例えますと、メインメソッドではoneMatchを確認する際、ABCと入力する[SortedPairに渡されている値です]的なメッセージをプロンプトさせます。
twoMatchの場合は,-987と987を入力すると「二値は渡されています」的なメッセージを返します。
逆にそれ以外のInteger, Stringを入力した場合は何も一致しないという内容のメッセージを表示させます。空文字null valueなどの確認は不要になります。
よろしくお願いいたします。
922918:2008/09/07(日) 11:54:42
すいません自己解決しました。申し訳ないです。
923デフォルトの名無しさん:2008/09/07(日) 13:53:52
【 課題 】○テキスト表現によるサーバ、クライアントシステムの作成
・サーバ:クライアントからの接続要求が来る度にそのクライアント用のサーバ・スレッドを起動し、
 クライアントから送信された文字列を標準出力にエコーし、同時に内容をdoubleとして解釈し
 その平方根をクライアントに応答として送り返す。
・クライアント:サーバに接続した後、標準入力から一行のテキストを読み込み、
 それをサーバに送付し、サーバからの応答を標準出力に出力する。

ヒント:平方根の計算はMathクラスのsqrt()メソッドを使う。

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】9月10日
【 Ver  】1.6.0_07

よろしくお願いします。
924デフォルトの名無しさん:2008/09/07(日) 16:32:59
>>921
oneMatchとtwoMatchはもちろんどっちも対応だが、mainは両方は面倒なのでStringだけな。

boolean oneMatch(T value) {
return first.compareTo(value) == 0 || second.compareTo(value) == 0;
}
boolean twoMatch(SortedPair<T> other) {
return first.compareTo(other.first) == 0 && second.compareTo(other.second) == 0;
}
public static void main(String[] args) {
if(args.length != 2) System.exit(1);
SortedPair<String> target = new SortedPair<String>(args[0], args[1]);
System.out.println("target SortedPair = "+target);

Scanner scanner = new Scanner(System.in);
System.out.print("oneMatch value -> ");
if(!scanner.hasNext()) System.exit(0);
String value = scanner.next();
if(target.oneMatch(value)) System.out.println("SortedPairに渡されている値です");
else System.out.println("SortedPairに渡されていない値です");

System.out.print("twoMatch value1 -> ");
if(!scanner.hasNext()) System.exit(0);
String value1 = scanner.next();
System.out.print("twoMatch value2 -> ");
if(!scanner.hasNext()) System.exit(0);
String value2 = scanner.next();
SortedPair<String> checkPair = new SortedPair<String>(value1, value2);
if(target.twoMatch(checkPair)) System.out.println("二値は渡されています");
else System.out.println("二値は渡されていません");
}
925デフォルトの名無しさん:2008/09/07(日) 17:31:58
>>923
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/413.txt
サーバとクライアントに分けること。
926925:2008/09/07(日) 17:38:29
あ、
>・クライアント:サーバに接続した後、標準入力から一行のテキストを読み込み、
逆にしちまったぃ。ダメなら自分で直してくれw
927915:2008/09/08(月) 03:37:27
>924
天才。ありがとうございます。
928デフォルトの名無しさん:2008/09/08(月) 19:07:54
>>927
作りたいプログラムの説明が上手くないのは、プログラムに何が必要ということと、
それをどういう言葉で表現すればいいのかを分かってないからだろう。
メソッドなら引数や戻値、型とかをはっきりさせてくれな。
JavaDoc の書き方を参考にするといいかもしれない。
929デフォルトの名無しさん:2008/09/08(月) 21:54:00
>>925
ありがとうございました。
その部分は自分で直してみます。
930デフォルトの名無しさん:2008/09/11(木) 12:17:16
【 課題 】http://uproda.2ch-library.com/src/lib052430.jpg
http://uproda.2ch-library.com/src/lib052432.jpg
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】不明
【 期限 】来週の火曜日
【 Ver  】java version "1.6.0_05"

テキストの問題なんですがまったく分かりません…お願いします
931デフォルトの名無しさん:2008/09/11(木) 12:56:27
932ウォン:2008/09/11(木) 13:49:42
どうもはじめまして。
java初心者でして、わからないことがありまして質問したいです。
----------------------------------------------------------------------
txtファイルを読み込んだときにtxtファイルの内容が昇順に並び変わるという
プログラムを作成するというものです。
そしてルールがsplitとInteger.parseIntを使いなさいとのことです。
933ウォン:2008/09/11(木) 13:51:16
あと下記のプログラムを応用して作らなければならないらしいです。
import java.io.*;

public class Test1 {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader
(new InputStreamReader(System.in));
try {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
System.out.println("");
} catch (IOException e) {
System.out.println(e);
}
}
}
----------------------------------------------------------
934ウォン:2008/09/11(木) 13:52:03
下記はtxtファイルの内容です。
3:犬
5:鳥
9:虎
7:ライオン
1:猫
4:熊
2:馬
8:牛
6:ウサギ
-------------------------------------------------
とにかく番号順に並び変わればよいそうです。
どなたかご指導お願いいたします。
935デフォルトの名無しさん:2008/09/11(木) 14:35:17
>>934
import java.io.*;
import java.util.*;
public class Test1 {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new FileReader("Test1.txt"));
List<String> lineList = new ArrayList<String>();
String line;
while ((line = reader.readLine()) != null) lineList.add(line);
Collections.sort(lineList, new Comparator<String>(){
public int compare(String o1, String o2) {
String[] lefts = o1.split(":");
String[] rights = o2.split(":");
return Integer.parseInt(lefts[0]) - Integer.parseInt(rights[0]);
}
});
for (String text : lineList) System.out.println(text);
System.out.println("");
} catch (IOException e) {
System.out.println(e);
}}}
936ウォン:2008/09/11(木) 14:39:33
期限は9/13土曜日までです。
Ver.は1.6.0_07です。
よろしくお願い致します。
937デフォルトの名無しさん:2008/09/11(木) 14:42:38
>>932-934
>>1 を読んでおいてな。
938デフォルトの名無しさん:2008/09/11(木) 14:43:10
初めまして、課題が解けないのでご教授お願いいたします。

以下の機能を持つプログラム(EmpCode)を作成せよ.
(1)機能
@職名,職名IDを職名ファイルに追加.
A職名,職名IDを職名ファイルから削除.
B全部の職名,職名IDを職名,もしくは職名ID順にソートして表示.
C職名,職名IDの変更.
D職名ファイルを最後に編集日時を表示.

(2)実行例(コマンドプロンプト)

  C:\> EmpCode ↲
  >i ↲ // i 追加モード
  追加する職名ID,職名を入力してください.
  1, 社長↲
  21, 専務取締役↲
  21, 役員↲
 ID=21は,すでに登録されています!!
4,課長↲
m,1↲   //修正モード ID=1を修正
  1,社長 を修正しますか?
  y↲
  1, 会長↲
  d,1
  1,会長 を削除しますか?
  y
  1,会長 を削除しました.
  v,1  //全部の職名,職名IDをID順にソートして表示.
   q  //プログラム終了

939デフォルトの名無しさん:2008/09/11(木) 14:44:35
(3)コマンド
    i・・・ 追加
    m,n ... ID=nを修正
    m  ・・・ 最初のデータから順次修正
    d,n ... ID=nを削除
    d,* ... 全削除
    v,n ... n番目の属性(フィールド)で文字列順序でソートして表示
    v   ... 最初の属性(フィールド)で文字列順序でソートして表示
    t   ...ファイル修正日時を表示
   s,str ・・・ strの文字列を含むID,職名を表示
    ^Z   ・・・コマンドモードへ移行
             追加モードで,^Zが入力されると,追加モードを終了し,
             “>” を表示し,コマンド待になる.
    c   ・・・同じ職名を持つレコードがないかチェックし,あれば表示.
    q   ・・・プログラム終了.
    他の文字の場合,何も処理をしないで,プロンプト “>” を表示.

(4)エラー処理
  @同じIDのレコードは追加不可
  A同じ職名があってもOK
  BY,Nの入力待ちの時は,Yes,Y,y, No, N, Nのみ受付.
  C職名に“,”は入れることはできない.
  DIDには0〜9の数字のみ

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】提出期限、来週火曜日 
【 Ver  】1.6.0_07
【 補足 】データベースを使用しないこと。テキストファイルに読み書きする形式。
      実行はコマンドプロンプト上。
940ウォン:2008/09/11(木) 14:50:25
935さんありがとうございます。
ただせっかく作っていただいてこんな事言うのは大変失礼なのですが、作っていただいたプログラムはとても難しいですね。
冒頭でいい忘れていたのですが、私まだfor文、メソッド、そして配列をようやく終わらせたところで、できればこんな超初心者にもわかるプログラムでお願いしたいのですが・・・。よろしくお願い致します。
941ウォン:2008/09/11(木) 14:53:12
937さん申し訳ありません。以後気を付けます。
942デフォルトの名無しさん:2008/09/11(木) 15:05:35
>>940
>>933 を応用してるように見えなくなってるが…。
import java.io.*;
public class Test1 {
public static void main(String[] args) {
try {
BufferedReader reader = new BufferedReader(new FileReader("Test1.txt"));
String[] lines = new String[9];
String line;
for (int i=0; (line = reader.readLine())!=null; i++) {
lines[i] = line;
}
for (int imax=lines.length-1; imax>0; imax--) {
for (int i=0; i<imax; i++) {
String[] lefts = lines[i].split(":");
String[] rights = lines[i+1].split(":");
int leftnum = Integer.parseInt(lefts[0]);
int rightnum = Integer.parseInt(rights[0]);
if(leftnum > rightnum) {
String temp = lines[i];
lines[i] = lines[i+1];
lines[i+1] = temp;
}}}
for (int i=0; i<lines.length; i++) {
System.out.println(lines[i]);
}
System.out.println("");
} catch (IOException e) {
System.out.println(e);
}}}
943デフォルトの名無しさん:2008/09/11(木) 16:46:59
Windows だと標準入力に ^Z 送ると System.in が EOF になっちまうんだが…
どうすりゃいいんだ?
944デフォルトの名無しさん:2008/09/11(木) 16:58:08
>>943
すいません、Zでお願いいたしますm(_ _)m
945デフォルトの名無しさん:2008/09/11(木) 21:42:30
946デフォルトの名無しさん:2008/09/12(金) 07:04:53
>>945
945様、お早い回答ありがとうございます!
助かりました^^
心の底から感謝いたしますm(_ _)m
947ppp ◆xSK1SiC5MI :2008/09/12(金) 11:07:20
test

948名無し☆:2008/09/12(金) 11:46:44
はじめましてJava初心者です。
丸なげで申し訳ございませんが宜しくお願いします

【課題】
それぞれのプロパティには決められたフォーマットがあり、それに基づきなさい。
フォーマットが異なる場合はそれを通知する isError(int type,・・) メソッドにてtrue又はfalseを
返すメソッドを定義しなさい。引数のtypeはそれぞれのプロパティーの整合性結果を知ることができる様に実装しなさい。
また、このTypeに相当する定数を定義しなさい。

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】9月12日(できれば今日中に)
 【Ver】 java version "1.6.0_05"
949デフォルトの名無しさん:2008/09/12(金) 12:37:50
>>948
日本語でおk
950デフォルトの名無しさん:2008/09/12(金) 12:59:08
>>948
一連の課題の一部か何かか?
「それぞれのプロパティ」ってなんだ?
「決められたフォーマット」は?
「基づきなさい」って何をしろと?
951名無し☆:2008/09/12(金) 15:13:39
問い2:Infomationクラスにはコンストラクタがあり、全ての引数がコンストラクタを用いて初期化できる。
また引数が指定されていない時は下記のデフォルトが設定されている。
名前:ミッキーマウス
住所:千葉県浦安市舞浜
電話:不明
年齢:秘密 

上記の問題のつぎの問題になります。申し送れてすみません!

あと・・・問い1:Infomationクラスにはname,age,adress,telephonNoの4つのプロパティがある。
それぞれのプロパティーにはゲッターとセッターが定義されている。
952ウォン:2008/09/12(金) 16:14:47
942さんありがとうございました。
953デフォルトの名無しさん:2008/09/12(金) 18:25:53
>>948
日本語的にひどくないか?
isErrorメソッドは、typeによってどのプロパティのエラーチェックをするのか指定するということ?
そんな方法絶対使わないけどw
954デフォルトの名無しさん:2008/09/12(金) 21:23:45
955デフォルトの名無しさん:2008/09/13(土) 06:53:53
きちんと課題を書くことも出来ないのかよw
956デフォルトの名無しさん:2008/09/13(土) 12:15:38
>>955
人類の中でも、最もやる気の無い部類だからな。
大学は卒業率85%とか聞いたので、この種の人々が卒業しないまま去ってゆくのだろう。
957デフォルトの名無しさん:2008/09/13(土) 21:30:55
やる気の有無は知らないが、分からない人間が適当に略すとこうなるという典型だな。
958デフォルトの名無しさん:2008/09/14(日) 13:09:33
課題
http://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/417.java
リンク先に保存されているMyLinkedListのクラスに下記の5つのメソッドを追加する。mainメソッドにコードを追加し上記の5つのメソッドそれぞれをデモンストレーションさせるようにする。
それぞれがメソッドの名前になります。
1. equals
他のlistをパラメーターとして受け取り、もし渡されたlistと現在のlistのサイズが同じであり、要素も一致しておればtrueを返す。それ以外はfalseをreturnする。メインではa.equals(b)という形でデモする。
2. toStack
listのstackに含まれているアイテムを返す。よって最後のアイテムがstackの一番上に位置するようにする。APIにbuild-inされているStack Classを使用する。
3. reverse
listの要素の順番を反対にしてその新しいlistをreturnする。
4. splice
他のlistとindexのポジションをパラメーターとして受け取り、渡されたそれぞれのノードのコピーを作り、パラメタに渡されたindexポジションのすぐ後にペースト(insert)する。
5. condense
listにダブっている(同じ要素が存在している)ものを取り除く。同じ要素が無い状態のlistにする。

【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】1. AWTのみ
【 期限 】9月15日。
【 Ver  】1.6.0
【 補足 】掲示板で回答するには長いコードになってしまうのでそれぞれのメソッドとメインのコードのみをいただければで結構です。少し量が多く大変恐縮ですが、どうぞよろしくお願いします。
959デフォルトの名無しさん:2008/09/14(日) 14:31:25
>>958
mixiの方で答えがあったと思うけど?
あとトピ消したよね?
960デフォルトの名無しさん:2008/09/15(月) 12:15:29
>959
ミクシーでは参考になる答えは無かったです。

よろしくお願いします。
961デフォルトの名無しさん:2008/09/15(月) 13:39:10
>958
reverseが出来たけどmainからどうやって使うのかわからん。誰かにパス。

public List reverse(List<Integer> lst){
List result = new LinkedList();
int n = lst.size();
for(int i = n-1; 0 <= i ; i--){
result.add(lst.get(i));
}
return result;
}
962デフォルトの名無しさん:2008/09/15(月) 14:26:25
>>961
参考になる答えは無かったからって理由でトピック消すんだぜ?
答えてやるなよ
963デフォルトの名無しさん:2008/09/15(月) 14:35:14
>>962
トピックを消して誰が損するの?トピ主と書き込んだ人のコミュニケーションによるんじゃない?俺氏らね。
964デフォルトの名無しさん:2008/09/15(月) 15:22:40
>>958
public boolean equals(MyLinkedList<AnyType> lst){
if(lst == null || this.size() != lst.size()){
return false;
}else{
for(int i = 0; i < this.size(); i++){
if( ! this.get(i).equals(lst.get(i))){
return false;
}
}
return true;
}
}
public Stack<AnyType> toStack(){
Stack<AnyType> stk = new Stack<AnyType>();
for(int i = 0; i < this.size(); i++){
stk.add(this.get(i));
}
return stk;
}
public MyLinkedList<AnyType> reverse(){
MyLinkedList<AnyType> lst = new MyLinkedList<AnyType>();
for(int i = this.size() - 1; i >= 0; i--){
lst.add(this.get(i));
}
return lst;
}
965デフォルトの名無しさん:2008/09/15(月) 15:23:27
public void splice(MyLinkedList<AnyType> lst, int pos){
for(int i = 0; i < lst.size(); i++){
AnyType value = lst.get(i);
this.add(pos + i, value);
}
}
public void condense(){
loop: for(int i = 0; i < this.size(); ){
AnyType value = this.get(i);
for(int j = 0; j < i; j++){
if(value.equals(this.get(j))){
this.remove(i);
continue loop;
}
}
i++;
}
}
966デフォルトの名無しさん:2008/09/15(月) 15:24:17
// main

// equals
MyLinkedList<Integer> l1 = new MyLinkedList<Integer>();
MyLinkedList<Integer> l2 = new MyLinkedList<Integer>();
MyLinkedList<Integer> l3 = new MyLinkedList<Integer>();
for(int i = 0; i < 10; i++){
l1.add(i);
l2.add(i);
l3.add(i);
}
for(int i = 20; i < 30; i++){
l1.add(i);
l2.add(i);
}
System.out.println(l1.equals(l2));
System.out.println(l1.equals(l3));

// toStack
Stack<Integer> stk = l1.toStack();
System.out.println(stk.toString());
stk.pop();
System.out.println(stk.toString());
967デフォルトの名無しさん:2008/09/15(月) 15:25:06
// reverse
MyLinkedList<Integer> rev = l1.reverse();
System.out.println(rev.toString());

// splice
MyLinkedList<Integer> l4 = new MyLinkedList<Integer>();
for(int i = 1; i < 10; i++){
l4.add(i * i);
}
System.out.println(l2.toString());
System.out.println(l4.toString());
l2.splice(l4, 5);
System.out.println(l2.toString());

//condense
l2.add(10, 23);
System.out.println(l2.toString());
l2.condense();
System.out.println(l2.toString());
968デフォルトの名無しさん:2008/09/15(月) 15:30:18
>>963
そういう思想を持ってると、いつか酷いめになりますよ。
969デフォルトの名無しさん:2008/09/15(月) 17:42:13
>>964-967
1個に収まらないならうpろだに入れろよw
で、
>【 GUI  】1. AWTのみ
じゃね?
970名無し氏:2008/09/16(火) 09:48:32
【 課題 】Eclipseを用いてスケジュール管理ソフトを作成する
【 形態 】1. Javaアプリケーション(main()で開始)
【 GUI  】すいません、何のことだか分からないです;
【 期限 】9/17(23時くらいまでに)
【 補足 】含める機能として「ファイル入出力」(テキストファイルの読み出し・書き出し)
      をつけることが必須条件とされています。
      スケジュールの内容は「時間・学年・行事」を日付ごとに分かるように表示しなければなりません。
      ちなみに、自分のJAVAに関する知識が本当に初心者レベルなので、
      あまりに凝った記述は避けていただければ助かります;
      また、ソースの説明を簡単にコメントとして記述しておいてもらえるとなお有り難いです。
      丸投げですみませんが、宜しくお願いします。
971デフォルトの名無しさん:2008/09/16(火) 11:30:35
>>970
テンプレの必須項目がわからんと誰も何もできんだろw
972名無し氏:2008/09/16(火) 11:42:08
970です。説明不足で申し訳ない;
つまり、スケジュールを管理できるカレンダーが作りたいんです。
自分ではどうにも作り方がわからなくて・・
973名無し氏:2008/09/16(火) 12:04:48
970です。連投すみません。
ご指摘いただいたので、情報書き直しました。

【 課題 】Eclipseを用いてスケジュール管理ソフト(カレンダー)を作成する
【 形態 】1. Javaアプリケーション(main()で開始)
【 Ver  】1.6.0_07
【 期限 】9/17(23時くらいまでに)
【 補足 】含める機能として「ファイル入出力」(テキストファイルの読み出し・書き出し)
      をつけることが必須条件とされています。
      スケジュールの内容は「時間・学年・行事」を日付ごとに分かるように表示しなければなりません。
      ちなみに、自分のJAVAに関する知識が本当に初心者レベルなので、
      あまりに凝った記述は避けていただければ助かります;
      また、ソースの説明を簡単にコメントとして記述しておいてもらえるとなお有り難いです。
      丸投げですみませんが、宜しくお願いします。
974デフォルトの名無しさん:2008/09/16(火) 13:56:59
>>964-967
ご丁寧な対応をどうもありがとうございます。
大変助かりました。本当にどうもありがとうございました。
975デフォルトの名無しさん:2008/09/16(火) 22:47:37
いわゆるスケジューラーなのかただのTODOリストなのかよく分からん説明だな。

まあ、カレンダーとか言ってるからスケジューラーなんだろうけど。

さあ誰かカレンダーコンポーネントを作る作業に入ろうか・・・。
976名無し氏:2008/09/16(火) 23:09:51
またまた説明不足ですみません;

カレンダーの日付をクリックすると「時間・学年・行事」を書き込める、
スケジューラーのjavaアプリケーションです。

なので、TODOリストでなくカレンダー形式のスケジューラーとしてお願いしたいです。
977デフォルトの名無しさん:2008/09/17(水) 01:15:32
CUIじゃなかったのか。損した。
978デフォルトの名無しさん:2008/09/17(水) 03:39:18
979ウォン:2008/09/17(水) 17:53:58
【 課題 】txtファイルを読み込んだときにtxtファイルの内容が昇順に並び変わるという
プログラムを作成
【 形態 】1. Javaアプリケーション(main()で開始)/
【 期限 】9/18
【 Ver  】1.6.0_07
【 用語 】特になし
【 補足 】下に内容を張ります。
980ウォン:2008/09/17(水) 17:57:31
8行目のString[] data = new String[9];を9行限定にしないで、何行のテキストでも読めるようにしなさいとのことです。
下記のプログラムです。
981ウォン:2008/09/17(水) 17:58:27
import java.io.*;
public class Test1 {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader
(new InputStreamReader(System.in));
try {
String[] data = new String[9];
String line;
for (int z = 0; (line = reader.readLine()) != null; z++) {
data[z] = line;
}
for (int i = 0; i < data.length; i++) {
for (int j = i + 1; j < data.length; j++) {
String[] a = data[i].split(":");
String[] b = data[j].split(":");
int aI = Integer.parseInt(a[0]);
int bI = Integer.parseInt(b[0]);
if(aI > bI) {
String x = data[i];
data[i] = data[j];
data[j] = x;
}
982ウォン:2008/09/17(水) 17:59:16
}
}
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
System.out.println("");
} catch (IOException e) {
System.out.println(e);
}
}
}
983ウォン:2008/09/17(水) 18:00:24
ちなみに下のコードを応用しろと言われました。

import java.io.*;

public class Test2 {
public static void main(String[] args) {
BufferedReader reader = new BufferedReader
(new InputStreamReader(System.in));
try {
int z = 0;
String line;
while ((line = reader.readLine()) != null) {
z++;
}
System.out.println(z + "行");
} catch (IOException e) {
System.out.println(e);
}
}
}
984デフォルトの名無しさん:2008/09/17(水) 18:06:47
インターフェースって習ってないのか?
985ウォン:2008/09/17(水) 18:12:40
申し訳ないです、習っていません。
986デフォルトの名無しさん:2008/09/17(水) 18:49:23
>>983の何をどう応用しろと言ってるのか意図が分からないんだけど俺が馬鹿?
987942:2008/09/17(水) 20:10:18
標準入力からなのに2パスでやれと?w
ArrayList<String> をちゃんと教えてやってくれれば
こんなとこに配列なんて使わんて>講師
988デフォルトの名無しさん:2008/09/17(水) 20:20:35
インターフェースすら教えてないのにコレクションなんて教えてるわけないだろ。
どうせコレクションの再開発やらせるのが落ちだろ。(わけわからん糞仕様で)
java教えるならコレクションはアルゴリズムだけで良いよ。
989デフォルトの名無しさん:2008/09/17(水) 20:35:35
>>987

>>979 に「txtファイルを読み込んだときに」ってあるから
標準入力ではないと思う。

…が、非常に答える気の起きない課題だなぁ。。。
990942:2008/09/17(水) 20:40:41
>>981-982>>942 でファイル読み込みにしてたのが標準入力に変わっている。
991デフォルトの名無しさん:2008/09/17(水) 20:43:06
なるほど。納得。
失礼しました。
992デフォルトの名無しさん:2008/09/17(水) 20:51:38
★★ Java の宿題ここで答えます Part 66 ★★
http://pc11.2ch.net/test/read.cgi/tech/1221652206/
993デフォルトの名無しさん:2008/09/18(木) 02:05:01
>>981
split 使えるんだから
>String[] data = new String[9];
>String line;
>for (int z = 0; (line = reader.readLine()) != null; z++) {
>data[z] = line;
>}

String all = "";
String line;
while ((line = reader.readLine()) != null) {
if(all != "") all += "\r\n";
all += line;
}
String[] data = all.split("\r\n");
とか。
994デフォルトの名無しさん
うげ
>>993
>if(all != "") all += "\r\n";

if(all.length() > 0) all += "\r\n";