★★ Java の宿題ここで答えます Part 65 ★★
1 :
JavaScriptは板違い、Web制作板をご利用ください :
2008/05/30(金) 03:17:59
前スレ期限切れでない未回答分(05/30 04:00現在) 見落としがあったら補完をお願いするのだわ 05/31 夜 >922-929,>934,>983 05/31 >993 06/06 23:59 >974
【 課題 】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
>>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 大学の科目見たけど、マジ代わって欲しい。
かわりに単位あげるから。
>>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}の方です.
勝敗の判断は先に送信した方から見た判断だと思います.
はい,送信する=メソッド呼び出しだと思います.
昨日初めてメソッドやクラスを習ったばかりですから・・・
よろしくお願いします.
14 :
デフォルトの名無しさん :2008/05/31(土) 13:53:00
15 :
デフォルトの名無しさん :2008/05/31(土) 17:12:53
17 :
デフォルトの名無しさん :2008/06/01(日) 13:14:38
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 【 補足 】よろしくお願いします。丸投げですみません。
> 18 これって直角三角形じゃなくて二等辺三角形では? IO.in.readInt もシラネ
あ、見た目に惑わされてしまった…orz 等幅フォントで見たら直角三角形だった。 しかもアンカミスってるし…
22 :
924 :2008/06/01(日) 20:04:35
>>8 そうだったな。
僕〆切日が土曜の夜かと思ったのに、勘違いしてしまった
>>19-20 等幅フォントでなくても直角三角形です。
二等辺三角形ではありません。
逆に等幅フォントにすれば直角二等辺三角形になるかと
>>18 なんかその問題、数年前から出てるね。「"幅 n で高さ n の"」とかでぐぐった。
ちなみに漏れのブラウザでは空白が全部つぶれて左肩上がりですが何か
>>21 java.io.BufferedReaderはimportしなくていいんだっけ?コンパイルしてないけど
独自パッケージを使用することによって 初心者にとって煩雑な入出力を簡単にするとともに 余所の人に代わりに解答してもらったり ネットその他からプログラムを丸写ししにくくする狙い このスレで散々見た某大の ioTools もその類
独自ライブラリを使用する課題でも少なくとも依頼者の手元にはあるわけだから、 標準APIのクラスでないものを使っている場合はそれも課題とともに提示するか、 正規に動作チェックはできなくなるが最低限ライブラリの仕様を示していれば、 回答率は減るかもしれないけれど何とかしてくれるかもしれない。 依頼者は標準APIのドキュメントのパッケージとクラスのリストを検索して、 課題の中で標準でないものを使用しているようなら、 それについての情報を示さないといけないかどうかの判断をした方がいい。
27 :
21 :2008/06/02(月) 00:53:23
>>24 BufferedReaderのimportは必要です。
うpする直前にpackage指定を消したんだけど、
その時に間違えてimportも消してしまったようです。
スマソ
28 :
デフォルトの名無しさん :2008/06/02(月) 18:11:03
>>28 「勝ち負けの得点」の定義が見当たらないんだけど
勝者に1点加算してあげれば良いのかな?
early access版はあるけどバージョンは1.7.0じゃないな
>>28 PlayerさんとTFTPlayerさんで勝負させると
2回目以降、ずっとアイコになって無限ループにはまるwww
アイコも1戦としてカウントして良いってことか…
32 :
デフォルトの名無しさん :2008/06/03(火) 04:46:09
>>29 >>31 確認してきました
記載されていない部分は各自が決めるそうです
説明不足で申し訳ないです
【 課題 】 (問1) 面積[ 16733.06cu]を3.14を使いプログラミングで求めろ (問2) プログラミングで20回の乱数を求めろ (問3) 学生3人の英語、数学、国語、理科、社会の平均点と学生3人の平均点を "配列"で求めろ 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】不明 【 期限 】明日、午前。 【 Ver 】java version "1.6.0_05" 【 用語 】ありません。 【 補足 】Javaエクリプスを使用しています。 ご教授の方、どうかお願い致します。
>>34 別に非難する訳じゃないけど、題意が不明瞭だね。
(問1)は、面積××の円(円盤)の半径を求めよってこと?そうするとほぼ整数になるからそれっぽいけど。
(問2)は乱数の範囲とかがないので不明。
(問3)は、学生ごとの全教科の平均点、教科ごとの全学生の平均点をそれぞれ求めよ、てこと?
38 :
デフォルトの名無しさん :2008/06/04(水) 07:16:08
【 課題 】立方体(直方体)のそれぞれの面にテキスチャをマッピングし、平面上に立方体を置き影を平面に投影せよ。照明モデルはPhongでよい。 【 形態 】Applet 【 期限 】6/6(金) 【 Ver 】1.5.0 【 補足 】よろしくお願いします
39 :
28 :2008/06/04(水) 08:28:59
【 課題 】正の整数Nを入力して、縦N個×横N個の”*”から成る正方形を表示させよ。 左上から右下への対角線を“@”で示すように変更せよ。 例:java DrawSquare 1辺の*の個数:4 @*** *@** **@* ***@ 【 形態 】1. Javaアプリケーション(main()で開始 【 期限 】6月7日 【 Ver 】1.4.1 【 補足 】妙な課題ですいません、お願いします
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(); } こんな感じでいいんでね?
すまんーi==jのところprintlnじゃなくてprintで!
>>35 この3つのクラス。
無限ループに陥ったりとか、
何番目に衝突したか検出できなかったりとか
問題点があるんだけど、作り替えて良いのかな?
>>33 ,38
この短期間では、俺には無理っぽ。
>>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;
}
【 課題 】一つ目 • 以下のプログラムを作成 • 以下の数列を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
【 課題 】 球体あるいは円柱にテキスチャ-をマッピングし、BRDFあるいはCook−Torranceモデルで描画せよ。テキスチャーパターン、光源、視点は任意。光源は移動できるようにする。 【 形態 】Applet 【 期限 】7/7(月) 【 Ver 】1.5.0 【 補足 】丸投げになってしまいますが、よろしくお願いします!
>>48 氏、ありがとうございます
今はちょっと無理なのですが、月曜日になれば動作確認ができますので
確認後の報告後もよろしくお願いします
もしありましたらなのですが、1のスマートな方法をよろしくお願いしますm(_ _)m
すみません 文が変になってしまいました・・・ 3行目の最初の部分は「確認の報告後」でした。たびたびすみません
>>46 ですが
最大の補足を忘れていました…
すみませんが大学2年クオリティでお願いします
たびたびすみませんorz
条件後出しというのは置いておいても、大学2年クオリティって何なんだろう? 大学2年で受ける講義内容だけで作成できるものということか。 それなら大学、学部、講師によって全く異なるだろう。 自分の環境が普遍的なものだという勘違いは直したほうがいい。 どんなテキストを使用してどこまで学習済みかをここで明確にしないとそんな依頼には何の意味もない。 でも自分が受けた講義内容をきちんと把握できている人間ならこんな所へ投げたりしないだろうけどね。
>>51 動作確認してません、大学2年クオリティでってなんだろねw
さすがゆとりだねw
大学2年クオリティてw
中三で習う内容が入ってくるとまずいんですとか
まあ、そのくらい無理な頼みってことだなw
テキストファイルに 5 4 12 89 1 9 とあって、それをソートして 1 4 5 9 12 89 とする方法を教えてください。よろしくお願いします テキストファイルを読み込む、書き込むことはできます。 ソートの仕方がわかりません。
数字に変換して配列にしてArrays#sort、もしくは動的に行きたいならTreeSet使う。
ここでいいのかわからないんですが・・・
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 なるべくなら、ソースがほしいですが、ヒントや参考ページ、考え方、似たサンプルなど
なんでもいいので教えてください。
61 :
60 :2008/06/08(日) 18:07:17
>>60 に補足です。
javaプログラミングを初めて、2か月のクオリティでお願いします。
現在木構造とか、キューとか自分でなんとか書けるかなー
というレベルです。
63 :
60 :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が ありますが、まったく理解できてないです・・なるべくなら、ソースがほしいですが、ヒントや参考ページ、考え方、似たサンプルなど
なんでもいいので教えてください。
64 :
60 :2008/06/09(月) 00:19:51
ふたたび60です。 たぶんなんですけど、どういうやり方でもいいから とにかく、木構造を描画して、それをどう経由してもいいからpsに しあげればいいんだと思います・・ すいません、よくわかってなくて・・
65 :
51 :2008/06/09(月) 00:31:04
うおっ!今見たら かなり誤解を招いた書き方になっていました 見事な誤爆をしてしまいましたorz 「JAVAをならって2か月のクオリティ」が… 見事な誤爆ですみません 動作確認も月曜日の昼ごろまでできない状況というのが 誤解を招いてしまって… 講義は理解しようとして 課題もいろいろと試行錯誤しているのですが なかなかうまくいかないもので… 言い訳ばかりですみません
墓穴掘りまくり・・・もうやってくれる人いないだろうね。 というか十分過ぎる回答すでに得てるわけだし。
67 :
60 :2008/06/09(月) 00:47:01
60です。
ごめんなさい、本当に連投で・・
急いでいます。まじで助けてください・・・
http://www1.doshisha.ac.jp/~jmizushi/ps.html のアドレスに、PS.javaというファイルがあります。
そこに書かれているように、
.psファイルにどんどん、printlnで書きこんでいけばいいのでしょうか?
で、探索木を挿入したり、作ったりするときに
毎回そのファイルに、やり直したものを入力していけばいいのでしょうか?
たとえ、そうでもできる自信がないっす・・・
69 :
59 :2008/06/09(月) 04:12:49
>>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
> それをpostscriptとどうやって連携するのかがまったく不明です。 まず、PostScriptファイルを表示したり印刷したりはできるんだよね?
72 :
60 :2008/06/09(月) 10:47:58
60です。
返信ありがとうございます。
僕はjavaしか使ったことがないです。
本に書かれてあるようなスタックやキュー、文字探索程度なら
勉強はしましたが、それ以上はわかりません・・・
ファイルを出力したり、ファイルを生成したり・・ということが
僕が持っている本にはまったく書かれてないです。
>>69 すいません。Cまったく読めません。
ホームページを見ましたが、これは課題2のほうのことでしょうか?
もし、課題1のことならjavaで説明していただけないでしょうか?
postscriptなどとどこかで連携しているのでしょうか?
本当に初心者でごめんなさい・・・
73 :
60 :2008/06/09(月) 10:48:20
60です。
>>70 ファイルにテキストを書き出す方法がわかりません。
あと、標準出力をファイルにリダイレクトする方法もわかってないです・・
なにかのファイルに、コードを書き込むということでしょうか?
unixのように・・
system.outの明確な定義もわかってないです。
system.out.printlnくらいはわかりますが・・・
テキストにpostscriptのコードを流して、それを何らかの方法でps拡張子に
変えればいいのかなと勝手に想像しただけです・・・・
あと、AAは僕もよくわかりませんが、たぶんASCII artだと思います。
ただし、AAは2chのイメージしかなくて、javaプログラミングで簡単にできるのですか?
>>71 表示できる環境はぐぐって、なんとか構築してあります。
よろしくおねがいします。
>>67 たぶんね、問題の中の「描画する」という言葉が変で、混乱してるんだと思う。
もし「出力形式は、PS」ということなら、厳密に言えば「描画する」というより
「描画するPostScriptプログラム(〜描画命令の羅列)を出力する」ということになるよね。
まあアスキーアート(文字の組合せでそれらしく作図する?)なら、描画するといってもいいか。
PostScriptファイルを表示するプログラムを、わざわざJavaから呼び出すとか、
そんな面倒な問題だとはちょっと思えないな。
リダイレクトとかパイプとかファイル操作とかをしなければ、
木を作るAから木を描画(PostScript化?)する@へのデータの受け渡しもできなくない?
そのへんの知識は前提にしているように読める。
そこがはっきりしないとアドバイスも難しいんじゃないかなー
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以上の個数等の個数の表示の仕方です。 ご回答の方よろしくお願いします。
>>60 それが手段の一つということだから普通にswingでやっちゃっていんじゃね? そういうモデル書いてjtreeでいっぱつかと。
今日
>>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"
これは・・・何でしょうか・・・
すみませんがどなたか教えてくださいませ
79 :
78 :2008/06/09(月) 12:27:36
連投すみません 「kadai3」もやってみたんですが 同じような表示が・・・ 自分でもいろいろと直してみます
>>77 jtreeだと、木のようになっていないので、よくわからないんですけど。
課題は、参考書にのっているような、2分木を画像として
出力するようにしろっていってるので・・
>>81 unixの標準出力とかなら、すこしはわかります。
windowsでもできるのですか?
"Windows XP" コマンドプロンプト
84 :
60 :2008/06/09(月) 13:27:47
>>83 ということは、postscriptのコードをテキストファイルにjavaで埋め込む。
そのテキストファイルをコマンドプロントで、ps拡張子に
変えればいいということですか?
85 :
デフォルトの名無しさん :2008/06/09(月) 13:42:43
拡張子を「変える」というのはちょっとわからないけど、 java Aのクラス名 | java @のクラス名 > 図のファイル名.ps 例えばこんなコマンドになるんじゃないかと想定してるんだけど
>>78 >$ java.exe kadai2.java
コンパイルせずにjavaファイルを直接実行かよ
あとファイル名の大文字小文字も
88 :
60 :2008/06/09(月) 13:55:36
60です。
>>86 なるほど・・・
なんとなく見えてきました・・・・・
ありがとうございました。
けど、コードが書けるんだろうか・・・
ってか書けない・・・
どうしよう・・・
>>89 ありがとうございます。
このようなもので
なにか参考となるソースコードはないですか?
93 :
デフォルトの名無しさん :2008/06/09(月) 17:10:05
>>87 あっ、言われて気づきました(汗
ちょっと直してきます
ご指摘どうもです
94 :
59 :2008/06/09(月) 17:41:52
そんな礼はいらん。
>>72 そうです、課題Aの方です。
まず課題Aをやって、出力フォーマットが見えてきてから、
フォーマットのレポート書いて、次に
そのファイルを課題@の入力フォーマットとするといいと思う。
java Kadai2 | java Kadai1 >sample.ps
課題Aの方が簡単で早く終わるからという事もある。
そんなに便利ならjtreeがPSファイルを出力できるのか?
同志社大学のホームページが課題@のソースプログラムとして使えると思う。
但しクラスとして。
【 課題 】 (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
【 課題 】三角形にテクスチャをマッピングする。 三角形は2次元あるいは3次元いずれでもよい。 テキスチャは任意のパターンでよい。 テキスチャが正しくマッピングされていることを確認するため、スクロールバーあるいはボタン等を用いて回転すること。 【 形態 】Applet 【 期限 】6/19(木) 【 Ver 】1.5.0 【 補足 】(講義の説明より) まず三角形の各頂点にテクスチャ座標 (u, v) を設定します。 そして、その u, v を頂点間と左右バッファ間で内挿補間をします。 最後に、描画する点におけるテクスチャイメージの位置 (ui, vi) の色情報を読み出し、その色で点を打っていきます。 このテクスチャの部分が分からないので、すみませんがどなたかお願いします!!
【 課題 】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)・・・を使えばコンパイル可能でござるが 誤差が大きいようなので測量計算には向かぬでござる。 すまぬがどなたかの良い知恵を拝借願いたい。
ただの質問は質問スレで
そうでござったか それでは98はなかったことにしてくだされ
101 :
デフォルトの名無しさん :2008/06/09(月) 23:49:10
102 :
60 :2008/06/09(月) 23:52:22
>>101 出力して、stringtokenizerで読み込むとか、
カウンターみたいなint型作って、ループさせればいいと思います。
103 :
デフォルトの名無しさん :2008/06/10(火) 00:02:59
>>101 表示って標準出力でいいんじゃね?
普通に
system.out.println("50以上:" + hight_count);
とか?
意味違ってたらすまんこ
>>101 配列に乱数格納してfor文とかで一つずつ値をチェックすればいいんじゃないの?
105 :
デフォルトの名無しさん :2008/06/10(火) 00:16:02
>>101 ヒマだから作ってみたけどソースいるか?
ここ数日のスレの流れが速すぎて、残件がどれかわからなくなってきた。
以下の課題が未回答だと思うんだけど漏れてないよね?
>>47 期限:7/7(月)
>>60 期限:6/15(日) ※ヒントあり
>>76 期限:6/10(火) ※ヒントあり
>>95 期限:6/11(水)
>>97 期限:6/19(木)
107 :
デフォルトの名無しさん :2008/06/10(火) 00:23:58
>>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
>>108 107じゃないけど…
安全ってどういうこと?
112 :
デフォルトの名無しさん :2008/06/10(火) 15:52:42
【 課題 】10進数483220077を2進数に変換するプログラムを書いて、横長の表にして出力せよ。 【 形態 】1. Javaアプリケーション(main()で開始 【 期限 】6月10日中
>>111 107では、わざわざ定数(条件)を変えられるようにしてあるのに、
「50以上」と「49以下」が重ならないという制約を利用してしまうのは一貫してない。
と、いうことじゃないかな。108じゃないけどw
115 :
108 :2008/06/10(火) 16:48:13
>>111 例えばカルノー図を書くと判るけど、以下はlowに不定部分が出来る。
if (num >= HIGHT) {hights++;}・・・・・条件1
else if (num <= LOW) {lows++;}・・・・・条件2
HIGH、LOWの選び方で動く場合もあるけど、際どい条件になる。
プログラムを修正した場合(例:HIGH、LOWの初期値=最初のnumとするなど)に
際どい条件から外れて動かなくなりやすい。
>>112 横長の表にして出力せよ
ってどういうこと?
普通にInteger.toBinaryString(int)じゃだめなん?
>>112 アルゴリズムを見出して書き下せってことなんだろうけど、
その出力形式の指定は確かに謎w
118 :
95 :2008/06/10(火) 20:34:47
(1)のみでも結構ですので
>>95 お願いできませんでしょうか。
>>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();
...
動作未確認。古くさい部分とかあったらむしろ教えて
やべ例外が、、まあいっかw
型はdoubleの方がいいかなーと思った。
あとstart()してねえww 正直スマンカッタ
124 :
76 :2008/06/10(火) 22:31:07
>>107 さん
ご回答ありがとうございました。無事できました!
他にも色々な人も回答して頂きほんと助かりました!ありがとうございました。
/*
>>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)を参考に直そうとしても、うまくいきません。
おしえてください。
クラス名をCommandExecuterMainにしてごらん。 それからおそらくスレ違い。さようなら。
>>95 >>128 への追記。
「Kadai2.javaを修正」とは…
「core.getResultMatrix()」を使って計算結果の正方行列(を表現する二次元配列)を取得して、
その表示方法は Kadai1.java を参考にしなさい
という意味です。
情報小出しになって申し訳ない。
130 :
95 :2008/06/11(水) 01:54:22
131 :
59 :2008/06/11(水) 08:01:46
132 :
59 :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アプリケーション [期限]六月十二日(今日までです、すみません。) [補足]丸投げですがよろしくおねがいします。
>>133-134 >>18 と同じ人?
IO.in.readInt() はJavaの標準APIに無いメソッドなので
何処のライブラリか、何をするメソッドかそちらが説明してくれないと
他の人にはわからない
>>136 問題テキストの中にあるコメントは何? できたって最初からできてた?
コメント外して、最初のコメント入れる前のを、できればおいて欲しい、一応ルールだから。
136です 携帯から失礼します ※マークがついているコメント以外は問題文そのままです 考え方は問題文に書いてあることをそのまま写しました 分かりづらくてすみません
139です あと、書き忘れましたが「できた」というのは そのプログラムは一回授業ごとに改良していくプログラムなので 「できた」という表現になっています すみませんでした
↑139ではなく136でした たびたびすみません
圧縮せずに載せてください。 怖くて開けません。
怖くない人に回答してもらえばええやん
>>141 複数のファイルをばらばらにうpされるのも面倒だし、
自分の好みでない問題や依頼のやり方のものに対しては
無理して解答しようとせずに無視してもいいんじゃない?
解くのは義務じゃないんだから。
>>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];
>>144 さん
ありがとうございます!
助かりました
【 課題 】 300円の商品aと160円の商品bを買えるだけ買うことにする。 金額kを入力したとき、それぞれいくつずつ買えばお釣りが最も少なくなるかを計算し、a,bの個数とお釣りを表示せよ。 【 形態 】1. Javaアプリケーション(main()で開始 【 GUI 】4. 制限なし 【 期限 】期限:6/14 【 Ver 】1.6.0_05 【 補足 】丸投げです。どうぞよろしくお願いします。
>>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);
}
}
}
148 :
146 :2008/06/13(金) 13:33:03
>>147 動作OKでした。
回答ありがとうございました。
150 :
149 :2008/06/13(金) 19:12:53
>>149 すいません。形態はappletでした。
>>149 具体的にどういう改良がいいか希望を書いたほうがやる人間にとって楽かも
希望に沿うか全然違う部分をいじられるかは回答者次第だとしても
あとテンプレの必須項目を埋めるという意味でjavaのバージョンも
【 課題 】 ○AWTやSwingなどのGUIを扱うクラスライブラリを用いて、 以下のどちらかのアプレットを作成しなさい。 @脳を鍛えるゲーム 簡単な計算(足し算、引き算、掛け算)が画面に表示され、その答えを入力し、 正誤を判断して得点などを表示する。 A簡単な計算機 ボタンがGUIで実装され、四則演算やルートなどが計算でき、出力できる。 【 形態 】Applet 【 GUI 】AWT/Swing 【 期限 】6月18日中 【 Ver 】java version "1.6.0_05" 【 補足 】授業ではAWTとSwingについて勉強しました。 宜しければ、作成したアプリケーションの機能、 使用方法なども記載して頂けると嬉しいです。 よろしくお願い致します。
153 :
149 :2008/06/14(土) 05:12:32
>>151 バージョンはJ2SE ver1.4 です。
改良はとりあえずまともにブロック崩しが動けばいいです(ボールがブロックに当たればブロックが消えて全部ブロックが無くなれば終わるプログラム)
スコアを導入できてたり、少しずつ速度が上がる機能があればなおよしです。
>>149 >プログラムが長くなってスレ汚しになるといけないので一応
これはちょっと余計だと思う。いや、悪気はないかもしれないけど。
156 :
デフォルトの名無しさん :2008/06/14(土) 21:09:29
>>60 は解決したのか、と心配してみるテスト。
#自分でやらないとダメだよ〜。by N@CB
>>157 今実行できる環境にないので動作確認出来ませんがありがとうございました。
捨てアドなもので
160 :
149 :2008/06/15(日) 03:19:01
>>155 すいません。悪気は無かったんですが…
あと改良できなくてもいいんで
普通にブロック崩しができるようにするだけでもいいんですが
どなたかお願いします
161 :
デフォルトの名無しさん :2008/06/15(日) 12:39:44
【 課題 】自動販売機を表すVendingMachineクラスとそれを実行するmainメソッドを作成せよ ・機能 ・お金を投入する ・金額が十分投入してればジュースを買える。 ・お金の払い戻しができる 作成したVendingMachineに対しカプセル化を施し意図しない状態に変更されないようにせよ 【 形態 】 Javaアプリケーション(main()で開始) 【 GUI 】 制限なし 【 期限 】提出期限6月16日
【 課題 】JAVAアプレットで動画を再生せよ ・機能 コメントを入力し、テキストファイルへ保存、テキストファイル内コメントを動画の上で流す(某ニコニコ動画仕様) 【 形態 】 Javaアプレット 【 GUI 】 Web 【 期限 】今日の夜12時まで たすけてくれぇぇぇ 文字コメント流すのはg.drawString(str[0], this.x[0], this.y[0]);でできたが、動画を流す方法がわからない! お助け願います。
165 :
164 :2008/06/15(日) 14:33:00
今気がついたけど全消しで終る条件を入れてなかった。 面倒なのでわざと失敗して終らせることにするか、 ブロック数をカウントするインスタンス変数を最初に用意しておいて、 ブロックに当たった時の処理の中でカウントを増やすなり減らすなりして、 全部消えたらゲーム終了にする、にすればいいかな。
おkです。 本当にありがとうございました。助かります。
167 :
ume :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] );
}
}
}
【 課題 】(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()); } } お願いします
>>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を使ったものだから〜、って意味だと思ってたんですが
>>170 MainPanelのstart()を呼んでいないように見えるよ。
(どのタイミングがいいかは不明)
174 :
ume :2008/06/16(月) 23:34:47
>>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));
179 :
152 :2008/06/17(火) 21:00:34
ご回答ありがとうございます。 頂いたプログラムをそのままコンパイルしてみたのですが、以下のようなエラーが出てしまい、 上手くいきませんでした。 289.java:23: クラス CalcGame は public であり、ファイル CalcGame.java で宣言 しなければなりません。 public class CalcGame extends JApplet{ ^ エラー 1 個 Appletをよく理解できておりませんので、私の方のエラーかもしれませんが、 これは本プログラムとは別にCalcGame.java を準備しなさい。ということでしょうか?
>>178 ご指摘ありがとうございます。
>>179 ファイル名を変えてないのではないでしょうか?
CalcGame.javaに変更してください。
それでコンパイルしたあとで、HTML用意するなり、CalcGame.java内にコメントで書いてappletviewerで実行するなりしてください。
181 :
152 :2008/06/17(火) 21:19:48
>>180 実行できました!
度々のご回答本当にありがとうございました。
【 課題 】y=x^3-2x^2+3x+1=0をニュートンラフソン法で解を求めよ 【 形態 】Javaアプリケーション(main()で開始) 【 期限 】今日の0時まで 【 Ver 】1.5.0 【 補足 】丸投げです、よろしくお願いします。
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
以下のものがコンパイルできないのですがどこがおかしいのか指摘してもらえないでしょうか 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です。
大変助かりました。
191 :
187 :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 すみません
ID[ ]をint型の、name[ ]をString型の配列として、キーボードで入力したIDの値から名前を検索するプログラムを作れ。
という宿題だったんでここで聞いてしまいました
やっぱりうまくいきません・・・
194 :
187 :2008/06/18(水) 17:12:44
データとして保存しておくのは、辞書形式の並び順に、 表示するときだけ並び替えて、頻度が高い順にお願いします。 たびたびのスレ汚し、申し訳ありません。
>>193 宿題としてここで解いてもらいたいなら
>>1 のテンプレに従ってください
単なる質問なら別に質問スレがあります
【 課題 】学生の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+"の人はいませんでした"); } } }
>>184 24lineあたりの、この変更を御指摘のよう。
} while (Math.abs(x2 / x1 - 1) > e);
// } while (Math.abs(x2 - x1) > e);
>>196 >>192 がせっかく正解を言ってくれてるのに無視するとは…
System.out.println("IDを入力してください");
のうしろに
Key = Integer.parseInt(br.readLine());
を入れる
>>199 すみません理解しきれていませんでした・・・・
ありがとうございました
【 課題 】プロ野球セ.リーグの現在の勝敗表を2次元配列の初期値として与えよ。
コマンドライン引数から2つのチームの順位を入力し、その2チ-ム間のゲーム差を表示させよ。(両チームの貯金(勝ち数−負け数)の差÷2
)
【 形態 】Javaアプリケーション(main()で開始)
【 期限 】6/20(金)
【 Ver 】1.5.0
【 補足 】実際のゲーム差は、例えば以下のサイトで確認:
http://www.sanspo.com/baseball/score/2008/standings.html とのことでした、暇がなくて丸投げですみません、お願いします
202 :
187 :2008/06/18(水) 17:47:15
>>192 2段目表示なりました。
こちらのほうで、ちょっと手を加えさせていただきました。
あと、高頻度順に並び替えるのですが、
データとして辞書形式の並び順に保存させて、
表示するときだけ高頻度順に並び替える仕様です。
204 :
187 :2008/06/18(水) 17:59:36
>>203 ありがとうございます!気づきませんでした・・・。
試してみたのですが・・・。
オーバーライドしてないとeclipseに起こられます・・・・。
>>204 一旦@Overrideけして、そのあと気になるなら追加してみて。
verの違いかよくわからんけど、別のeclipseで開くとなるんだよなー
>>205 ありがとうございます!!
大変助かりました!!
>>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 順位 順位");
}
}
}
>>207 間に合いました、大変ありがとうございました!
209 :
デフォルトの名無しさん :2008/06/18(水) 22:43:28
【 課題 】 2次元配列を用いて、模様を作成してみよ。□や■は文字(char型) ■□ ■□ ■□ ■□ ■□ □■ □■ □■ □■ □■ ■□ ■□ ■□ ■□ ■□ □■ □■ □■ □■ □■ ■□ ■□ ■□ ■□ ■□ □■ □■ □■ □■ □■ ■□ ■□ ■□ ■□ ■□ □■ □■ □■ □■ □■ 【 形態 】Javaアプリケーション(main()で開始) 【 期限 】6月25日 【 Ver 】1.5.0 【 補足 】コマンドライン引数から入力した行数分だけ表示させよ(列は図のとおり固定) どうにも珍妙な宿題ですがお願いします・・・
ほんとに珍妙だ。 二次元配列なんて使う必要性が見当たらない。
2次元配列をつかう課題なら全く珍妙じゃないし、 後々画像変換(写像)への基礎演習にもなるじゃん
>>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();
}
}
}
ちょっと手を加えさせていただきます。市松模様。
>>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;
>>214 うちのビューワだと行頭のスペースは見えなくて行末に1個のスペースが見えるな
そしてread.cgiが吐くhtmlでは行頭に1個、行末に1個か2個のスペースが入ってる
正確な模様の仕様は言葉で説明してもらうかファイルにしてうpしてもらうべきか
>>210 final char[][] pattern = {{'■', '□'}, {'□', '■'}};
...
... pattern[i % pattern.length][j % pattern[i].length] ...
こういうのじゃダメなの
細かいw
俺はぱっとみて単に白黒の四角を並べればいいだけだと思った。
>>213 ですきまにも意味があると解釈すべきだったのかと感心したくらいだ。
■□ ■□ ■□ ■□ ■□ □■ □■ □■ □■ □■ ここまで文字列で作って、交互にprintlnするとか
219 :
214 :2008/06/19(木) 19:05:26
>>215 多分設問の模様は、これではないだろうか? 進行上私はソースを略す。
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
.□.■□.■□.■□.■□.■
□■.□■.□■.□■.□■.□
220 :
210 :2008/06/19(木) 19:32:44
えっと、ありがとうございます皆さん。すいませんなんか混乱させてるようでorz 聞いてきましたところ、スペースは無視してもいいとのことでした
221 :
210 :2008/06/19(木) 19:47:32
でもキレイですので
>>213 、
>>214 さんのを組み合わせて見ようと思います。
連投すいません、ありがとうございました
222 :
デフォルトの名無しさん :2008/06/20(金) 00:04:07
swingを使ってボタンをつくりましたそのボタンを押したとき新しいフレームを作ることができたのですが、 そのボタンのあるフレームを閉じるメッソッドわかりません、教えてください。 ボタンが押されたことは認識できるようになっています。
224 :
214 :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 よろしくおねがいします。
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と したいのですが、どのように変更すればよいのでしょうか?
気持ちは分からんでもないけど、ループの中にループがあるってことをよく考えてごらん。 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()メソッドは必要ないものとされ、オーバー ライドされていない。なぜ、必要ないのか。簡潔に理由を述べよ。
230 :
225 :2008/06/22(日) 06:35:30
231 :
デフォルトの名無しさん :2008/06/22(日) 08:36:34
>>229 T パフォーマンスを向上させるため。
ディープコピーの場合、for文で大量にインスタンスを作ったりすると、
OutOfMemoryエラーになったりするかもしれない。
しかし、ディープコピーのほうがコーディングや保守が容易であるので、
一概にどちらが良いとは言えない。
シャローコピーは、内部で保持しているものが共有されるので、
ディープコピーよりも問題視されることが多い。
そもそも問題のx=y.clone();だけではシャローコピーかディープコピーか分からない。
U String型はimmutableなクラスであるから。
Finalクラスとか、不変オブジェクトとも呼ばれる。
テンプレを埋めることもできない馬鹿は市ね
233 :
デフォルトの名無しさん :2008/06/22(日) 13:37:44
なあ、動画を再生するPlayerのサイズを変更するときにはどうしたらいんだ?
>>233 エスパー回答者希望で、尚且つスレ違いですね わかります
>>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を用意し、使用しているところがヒントらしいのですが
>>238 while(num<100 && (tmp[num] = br.readLine())!=null) {
// while((tmp[num] = br.readLine())!=null) {
240 :
dango :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してます。実行するとすぐ落ちます。キー操作がうまくいってないみたいなので、キー操作のところの関数を書いたクラスのソースを載せてます。 よろしくお願いします。
Versionにエラー貼るなよw いつの23時だよw ローダーって、どこのだよwリンク付けろw ちゃんとしたレスほしければテンプレぐらいまともに書けw
>>241 うpろだについてツッコミいれる前に
>>1 くらい嫁
>>1 に示された場所以外で推測できない時にこそ文句言えばいい
>>240 paintメソッド中で配列を使用しているところを洗い出して
インデックスが全部正常な範囲に収まっているかチェックしろ
ArrayIndexOutOfBoundsExceptionの後に範囲外のインデックスの値も表示されなかった?
もし表示されていたのならそれも場所を特定する手がかりになる
とてもじゃないが触りたくないソースだからきちんと見てないが
ローカル変数で十分そうなループのカウンタ変数をフィールドにするとかバグ誘発率高そうだ
>>243 をいをい、
>>1 は参考としてロダのurlを出してるだけだろw
課題が長い場合にロダ使うのは良いが、そのurlを提示するのが当たり前
なんで推測しなきゃなんねーんだよ、さすがゆとり思考だなw
245 :
デフォルトの名無しさん :2008/06/23(月) 15:06:13
イミフ
このスレを半年ROMっていれば、どこにあげたかなんて簡単に分かるのに、 そういう単純な思考もできない人間を元々ゆとりと揶揄してるんじゃなかったのかね。
>>246 分かる分からないの問題でなくうp先リンク付けるのが当たり前だろと言ってるんだが、
それもわからんのかよw
(・3・)エェー テンプレ無視や気に入らないのはスルーすればいいんだYO!
ぼるじょあは巣に帰れw
おお、ここにも「ぼるじょあ」がいるのかよ
251 :
使用書無しさん :2008/06/23(月) 23:24:57
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)
255 :
デフォルトの名無しさん :2008/06/24(火) 22:49:14
【 課題 】 カートクラスは商品クラスを持っています。 商品クラスにはカートクラスを持ちません。 このとき、商品クラスのメソッドで、どのカートクラスに 入っているかを知る方法を教えてください。 もちろん商品クラスにカートクラスに持つのはだめです。 【 補足 】 ぜんぜんわかんないよ・・・。 こんなのできんのか?
class Cart{ class Goods{ Cart getCart(){ return Cart.this; } } } こういうことじゃないの? というかクラスの包含関係上 ・カートクラスは商品クラスを持つ ・商品クラスにはカートクラスを持つ これ同時に満たせないっしょ。 それから、どのカートクラスってカートクラスは一つっしょ? どのカートクラスのオブジェクトに入っているか、の間違いでね? よく分からない問題だなぁ。
>256 持つといっても実装ではリンクするだけなので・・・ 双方向のリンクじゃなくて、1方向でしかリンクしない にも関わらず、リンクしてない側から、誰からリンク されてるかを突き止める・・・・という問題です。 カートは複数あってそれぞれに商品がぼこぼこ 入っていきます。 なんでそんなことを?と思うでしょうが、とにかく そうしないといけないと思ってください。
リンクって・・ 曖昧なこと並べてないでもっと具体的なこと示すか、ソースでもはっつけてくれんと何とも言えん。
>>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屋さんの意見を待つか・・・。
260 :
259 :2008/06/25(水) 00:17:00
//print,save,reverse,sort,deleteが使えるようにソースコードを埋めよ.(前問までに関するところも空白であるので注意すること)
>>261 コメントの極端に少ないソースで、穴埋めって言われても。前問は無いですか。
テンプレ無視、単発質問は質問スレへのルールも無視には回答しないw
仕様もないのに実装しろって言われてもry コメントが全くないから出題者が何を期待してるかも分からんし。 できるわけねーだろ屑講師!で良いと思うよ。
267 :
255 :2008/06/25(水) 20:48:16
>263 わかりづらくてすみません。 やりたいのは、まさに>259が書いてくれた通りなんです。
【 課題 】FTPクライアントの作成 【 期限 】2週間以内 【 補足 】 はじめまして javaで、ネットワークダウンロードをするFTPクライアントソフトを作成しようとしているのですが、 比較的簡単に行うには、どうしたらいいのでしょうか? もちろんアドレス、IPなどはプログラム内に書き込んで、実行するだけで その指定した、バイナリファイルをダウンロードして、保存するという だけのプログラムなんですが。 JAVAでFTPクライアントだと、commons.netというクラスライブラリを見つけたのですが、 それを上手く使う方法がわかりません。。。 宜しければプログラミングか、アドバイスをいただけたらと思います。。。。 レベル的にはどうでしょうか? 一応つくりはじめてはいるのですが・・・
ちなみにプロトコルはFTPで、TCP/IP利用です。 サーバも自作しまして、LinuxのFedora上でapacheです。(こちらは既に完成。) よくあるアップロードするFTPクライアントではなく、 ダウンロードだけできるFTPでよいのですが。 ソケットの扱いなどが全然わかりません…。 先が見えてこない状況です。。。
訂正 サーバはapacheではなく、vsftpでした。。。 自作したvsftpによるFTPサーバからLANを通じて、 自作したFTPダウンロードクライアントで特定のファイルのダウンロード・保存をしたいのです。
273 :
263 :2008/06/26(木) 03:25:19
>>267 設計レベルのその回答で、もう満足したのか。
【課題】オブジェクトの持つ 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 が必要である.
278 :
277 :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 にする } }
279 :
277 :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 ファイル名が指定されているのはなぜ?
関係ないが、ひでえコメントのソースだなw
282 :
使用書無しさん :2008/06/27(金) 22:22:56
>>281 同感
ばあさんに老眼鏡なしで新聞読めてなもんだ
283 :
rai1994 :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 ; }
>>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バイト
285 :
rai1994 :2008/06/28(土) 13:53:57
286 :
284 :2008/06/28(土) 14:29:45
287 :
rai1994 :2008/06/28(土) 15:13:32
284さん どうもありがとうございます。 モジュールがたりないってどういうことですか??
288 :
284 :2008/06/28(土) 16:40:56
>"hash_extend.h"と"hash_extend.c"に入ってるやつもJavaにしなくてはならないのですが これ、モジュールが足りないという意味です。
289 :
rai1994 :2008/06/28(土) 17:01:18
分りました。その中身もアップします。よろしくお願いいたします。
290 :
rai1994 :2008/06/28(土) 17:11:58
そのなかに、文字列をハッシュ値に変換するCプログラムも入っています。
【 課題 】 <要求仕様> ・パラメータから年・月を受け取り、 その「前月」「当月」「次月」の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ヶ月だけのカレンダーソースをアップローダーに配置します。 よろしくお願い致します!
【 課題 】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)以降がまったく分かりません。
どのように考えるべきなのかなどもイメージが湧かず、
非常に参っております……
よろしくお願い致します。
>>292 (i)が理解できるということは、(i)のプログラムはできてるのかな?
どんな感じで作ってるか知りたいから、できたらそれも見せてくれないかな
>>293 申し訳ございません。何となくイメージできる程度にしか理解できておりません。
現在、どのように書けばいいか試行錯誤中です……
【 課題 】簡単なゲームにファイル機能を(補足の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から分からず、丸投げ状態です。
宜しく御願い致します。
>>276 返答が遅くなってしまいました、すみません。
有難うございました
299 :
291 :2008/06/29(日) 22:33:49
>>297 素晴らしいです!!!
本当にありがとうございました!!!
300 :
292 :2008/06/29(日) 22:56:21
>>296 そのような形です。まさにそれっといった感じです!
Vectorクラスなどを使うのですね。すごく参考になります。
for(シェイプ情報 s : シェイプス)はどういった意味を指すのでしょうか?
「java for コロン」などで検索してもよく理解できませんでした。
拡張forループ
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
のクラス図を教えてください
期限は明後日です。
クラス図がさっぱりわかりません
【 課題 】
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");
308 :
307 :2008/06/30(月) 11:17:40
ごめん、ソース部分に全角スペースでインデント入ってしまった。 コピペするとき消しといて。
>>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 どうしたら先のソートアルゴリズムを利用できるかが分からない部分です。
よろしくお願いします
>>310 ArrayListをCollections.sort()にかけてやればよいのでは?
[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まで
314 :
276 :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);
にするのを忘れないよーに。
315 :
312 :2008/06/30(月) 18:10:00
誤爆った。 スレ汚しスマソ
>>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);
}
>>316 > for(int i=0; i<list.size()-1; i++)
上記例では++iでも結果は同じ。
++i : +1してからiを評価
i++ : iを評価後に+1
よって (if i++ > 10) と (if ++i > 10) とは結果が違う。
>>317 すまん・・それは知ってるんだけどforの増減値の所は
i++が普通だと思っててなんとなく気になったんだよ
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 です。このサイトは先輩から教えてもらいました。初めての利用です。よろしくお願いします。
>>319 case の後ろは ; ではなく、 : が正しい。
switchを閉じる } が無い。
その先輩に直接聞いた方が、早かったのでは?
321 :
639 :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");
}
>>316 プログラミング言語C(K&R) が ++i って書いてあるからそれの影響じゃないかな?
323 :
322 :2008/07/01(火) 02:40:50
今確認したらK&Rも i++ だった.スレ汚しスマソ.
【 課題 】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にあります. よろしくお願い致します.
>>320 の方
アドバイスありがとうございます!
本当ですね。> ";" でなく ":" が正しい
問題用紙をじっくり見たら確かにでした。そして画面で見たら分からなかったです。
ちなみに先輩は規則正しい生活なので帰られてました。>夜11時
>>321 の方
ありがとうございます!
動くことも確認しました。ありがとうございました。
あと、期限なのですが、来週と思っていたら、明後日の朝でした。
何でも持ち込みして良いとのことなので、この掲示板のお力も借りられればと思っています。
>>316 実装の問題じゃね?
インクリメントを実装するときに、後置だとインクリメントする前の値を返す必要があるから、変数をバックアップした後に+1してバックアップをreturn。
でも前置なら+1した変数をそのままreturnすればいいので、後置にするよりローコストになる。
でも、正直intとかのネイティブならコンパイラの最適化対象になりそうなんで、コンパイルしてみるとどっちでも同じというオチ。
328 :
319 :2008/07/01(火) 20:17:07
丸投げで申し訳ないのですがよろしくお願いします。 問題 次のように画面に出力されるプログラムを作成せよ。 ただし作成するプログラムに反復構造を含めること。 ----------------------------------------------------------------- 12345 1234 123 12 1 -----------------------------------------------------------------
329 :
319 :2008/07/01(火) 20:18:10
問題 次のように画面に出力するプログラムを作成せよ。 ただし作成するプログラムに反復構造を含めること。 ----------------------------------------------------------------- 12345 1234 123 12 1 12 123 1234 12345 -----------------------------------------------------------------
330 :
319 :2008/07/01(火) 20:22:31
問題 2006年現在の日本の人口は127,700,000人です。 年率0.5%の割合で人口が減少した場合、2007年の人口は何人になるかを計算して、以下のように表示するプログラムを作成せよ。 ----------------------------------------------------------------- 2007年の日本の人口はXXXXXXX人になる。 -----------------------------------------------------------------
331 :
319 :2008/07/01(火) 20:23:35
問題 2006年現在の日本の人口は127,700,000人です。 年率0.5%の割合で人口が減少した場合、2030年の人口は何人になるかを計算して、以下のように表示するプログラムを作成せよ。 ----------------------------------------------------------------- 2030年の日本の人口はXXXXXXX人になる。 -----------------------------------------------------------------
332 :
319 :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 になっています。 //なぜでしょうか? } }
333 :
319 :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 文の書き直しがちっとも頭に浮かびません。 } }
335 :
319 :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」);}}}
319の未来が心配だ・・この調子だと毎回丸投げしそうで怖いぞ
>>328 とか
1
12
123
1234
12345
を表示するプログラムは授業でやってるとかじゃないのか?
337 :
319 :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 文 ループを回そうとしています。
授業で文字列の最後だけ消して行くような内容はやったかどうか分かりません。
338 :
319 :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 ???
>>338 とりあえず、この辺りからじゃね?
int x=3;
System.out.println( x--);
x=3;
System.out.println( --x);
340 :
319 :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 になる。
//一応、自己解決しました。
341 :
319 :2008/07/01(火) 21:53:44
>>339 ありがとうございます。まさに、その辺りでした。> --x と x--
何の意味があるのかわからないのですが、そういうものだと丸暗記して次に進みます。
実は public static void main(String[] args) の意味も理解してません。
とはいえ授業の配布資料のメモにも「丸暗記」と書いてありますし、悩むだけの時間も与えられてないので・・
>>341 そこは暗記で良いよ。
public static void main(String[] args)からプログラムが始まるってことでいい。
次は
>>330 かな・・・
343 :
319 :2008/07/01(火) 22:16:59
これは>319が自分で解けるように誘導する流れなのか?
345 :
639 :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);
}
346 :
639 :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();
}
347 :
319 :2008/07/01(火) 22:51:43
>>344 ここは「丸投げ」のスレッドという認識を持ってしまっているのですが、それはあまりに皆様に失礼な気もしまして・・
>>328 と
>>329 について、もしかしたら
>>18 の三角形の問題が役立つかなと思って
>>21 の解答例を見たら知らない単語が並んでいて自分には役立たないことが分かりました。
別スレッドに「14: 【初心者】Java質問・相談スレッド116【歓迎】 (***)」というのがあるのも知っているのですが、いきなり質問を投げても経緯を説明しないことには回答者の方も大変かなと思いまして。
Java そのものより Exlipse というソフトウェアの使い方も掴みきれていないような状況ですが、英語とかの課題も平行してプログラミングを勉強しています。
今日は目が痛くなってきたので、そろそろ Java のテキストの読み込みの方に移ろうかなと考えているところです。
348 :
324 :2008/07/01(火) 22:58:05
>>327 こんなに早く答えていただきありがとうございます。
大変助かりました。
参考にさせていただきます。
349 :
319 :2008/07/01(火) 23:04:06
>>345 書き換え問題ありがとうございます。
確かに同じ結果が出ますね。スゴいです。
どうして for 文と while 文とがあるのでしょうか? while でも出来るけどめんどくさいというのは直感でわかるものなのでしょうか?
>>346 for 文の入れ子構造ですか!?
ちょっとガンバって当てはめてみたいと思います。
「型の不一致: int から boolean には変換できません」と言われてしまいました。
もはや何を言っているのかわからないので今日は画面を消したいと思います。
ありがとうございました。
>>319 >>1 基本的にテンプレ無視にはレスしない
長い課題でロダ使わずレス消費するのはマナーいくない
351 :
319 :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);
}
}
}
【 課題 】 スレッドの作成に関する、何か,自前のスーパークラスを継承し,かつRunnable Interface を実装したアプリケーションを作成せよ。 【 形態 】1. Javaアプリケーション(main()で開始) 【 期限 】明日の 7/3 19:00まで 【 Ver 】1.6.0 【 補足 】 凝ったものが良いらしいです、ゲームではじゃんけんなど。 よろしくお願いします。
【 課題 】カウントダウンタイマーを作る 【 形態 】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);
>>292 この質問をした者ではないのですが、
>>296 の方がやっていただいたプログラムを
(ii)が完成した状態にしていだだけないでしょうか?
>>357 完成はしていると思いますが(iii)の機能が付いた状態ではなく
(i)と(ii)の機能が付いただけのものが見たかったもので・・・・・・
>>360 横からでしたありがとうございます
(i)は補足がありそれでできましたので大丈夫です
>>355 sleepを使えば、こう。
int countdown = 20;
while(0<=countdown){
System.out.println(countdown--);
try{
Thread.sleep(1000);
}catch(Exception ex){
ex.printStackTrace();
}
}
それきもい。
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 【補足】
【課題】クラス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); } } ここまで書いてみたのですがうまくいきません。どこか違うのでしょうか?よろしくお願いします
366 :
355 :2008/07/03(木) 08:26:35
>>362 ありがとうございます。
先ほど実行したのですが、
カウントダウンはできているのですがアプレット(MainLoop?)の中で実行できませんでした。
説明不足ですみません。
一回スレッドを使ってやろうとしたのですがうまくいかなかったので
Dateクラスを使って作ってみたのですがよくわかりません。
どなたか良い方法あればよろしくお願いします
>>366 >>355 では「Javaアプリケーション」と書いてるけど・・・
いずれにせよ、init()に書き込めば、コンソールに表示されるのでは?
>>365 super(b)とか書けってことでは?
369 :
365 :2008/07/03(木) 09:05:59
370 :
365 :2008/07/03(木) 09:24:22
自己解決しました どうもお騒がせしてすみませんありがとうございました
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.読み込んだ画像をグレースケール化したい。←初心者のためここが一番わからない^^;
>>372 1.→コンストラクタの中で無条件に同じコンストラクタを呼び出しているのだから、無限に呼び出されて当然。
374 :
372 :2008/07/03(木) 17:41:38
>>373 どうすれば呼び出されないようにすればいいでしょうか?
【課題】 アルゴリズムの作成 (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 【補足】わからないのでおねがいします
>>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);
}
}
}
>>376 二次元配列という注文が、理解しがたい。
>>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));
}
381 :
355 :2008/07/03(木) 21:13:51
>>367 お返事遅くなって申し訳ありません
違う方法ですが無事解決できました。ありがとうございました。
382 :
372 :2008/07/03(木) 22:55:12
>>377 ありがとうございます。
これを参考に自分なりにアレンジして作ってみたいと思います。
383 :
デフォルトの名無しさん :2008/07/04(金) 10:54:17
htmlのフォームのボタンを押す動作などをJavaで実現したいのですが、 何かそういったことのためのクラス・メソッドは無いでしょうか? HttpURLConnectionでUserAgent入れてソース落とすのはできるのですが、 そこから先のFormの処理がわかりません・・・。 よろしくお願いします。
フォームについて少し勉強するといいよ
385 :
デフォルトの名無しさん :2008/07/04(金) 12:46:16
386 :
255 :2008/07/04(金) 22:35:57
座標A(X1,Y1)〜座標B(X2,Y2)までの直線Eと 座標B(X3,Y3)〜座標C(X4,Y4)までの直線Fが 交差しているかどうか判定したいです。 どういうコードになりますか?
389 :
デフォルトの名無しさん :2008/07/05(土) 23:09:27
【 課題 】配列を用いて点数57,78,91,61,42,77点の合計点と平均点、60点以上の人数と 平均点以下の人数を求めるプログラムを作成せよ。 【 形態 】1. Javaアプリケーション 【 期限 】7/9 【 補足 】学校で配列の所を勉強した時に課題としてでました。丸投げですが宜しくお願いします。
>>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);
}
}
【 課題 】 四桁の数字をコンソール上でキーボードから入力し、それを出力せよ。 同時に、その数字が素数であるかどうかを判定し、その判定結果を出力せよ。 さらに、その数字より小さい自然数で最大の素数を求め、出力するようにせよ。 上記の内容を実行するプログラムをJAVAで作成せよ。 ただし、以下のポイントを考慮すること。 ポイント:素数でない場合は、判定結果と合わせて、その最大の約数(1とその数自身を除く)も出力する。 【 形態 】1. Javaアプリケーション(main()で開始) 【 期限 】7/8 【 補足 】丸投げです。よろしくお願いします。
392 :
389 :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
エラトステネスのふるい涙目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
401 :
デフォルトの名無しさん :2008/07/06(日) 17:47:59
ろだ2の336.javaにupしました。お願いします。
NumberButton使ってないね・・
NumberButtonと言うことは、数字以外のActionPerformedはまとめなくて良いのだろうか、 それとも、すべてのActionPerformedを一つにしたいのだろうか。 そもそも、ActionPerformedをまとめると言うのは出された課題ではないようだけど・・・
404 :
デフォルトの名無しさん :2008/07/06(日) 19:36:10
405 :
デフォルトの名無しさん :2008/07/06(日) 21:22:14
>>404 回答ありがとうございます。複雑なプログラムを提示してしま
って申し訳ないです。実際に動かしてみてまた何かあったら
質問します。本当にありがとうございました。
406 :
デフォルトの名無しさん :2008/07/06(日) 23:07:46
たびたびで恐縮なんですが、
>>404 のプログラム中で
actionPerformedの定義の部分が理解できないんですが、
解説して頂けないでしょうか。プログラムの意味を
理解しようとしたんですけど初めてみるメソッドなどが多く
て困っています。
特にpushとpop、Stack、peek()、getPriorityなどの意味と
このプログラムにおける使用の仕方などを詳しく解説して
頂けるとありがたいです。
あとBigDecimalで何を行っているかなどもできればお願いします。
407 :
404 :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らしぃ^^;
408 :
404 :2008/07/07(月) 01:21:21
よく見たらStack#pushをStack#addにしちゃってるとこばかりだな。 一応Stack#addはpushと同じだから動いてるみたいだが。
409 :
404 :2008/07/07(月) 04:05:47
なんか某アスキーの逆ポーランドの解説を思い出した。
411 :
デフォルトの名無しさん :2008/07/07(月) 23:17:27
>409 例外回避から詳しい説明まで感謝の限りです。実際に動かしてみて 動作も正常に行われました。説明を読んでpopやpush、getPriority などの使い方、プログラムの動作もよくわかりました。今度使って みようと思います。 最後に0で割った時のエラーメッセージを出力しようと try-catch構文でArithmeticExceptionは回避させたんですけど、 java.util.EmptyStackExceptionのほうが割り算のoperatorに try-catchで組み込んでもうまくいかないのですが、どうすれば よいのでしょうか。たびたび質問ですみませんがお願いします。
412 :
409 :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
413 :
409 :2008/07/08(火) 00:17:22
>409が変更した結果のソース → 411が変更した〜 スマン。 謝りついでも恐縮だが、長々サシ状態にしてしまってご免>スレ利用者各位
414 :
デフォルトの名無しさん :2008/07/08(火) 00:40:39
>>412 upの件はすみません。
でも無事解決しました。設定する場所が違っていたんで
すね。今回の質問で得るものが多かったです。これを活かして
精進しようと思います。
>>409 さん、本当にありがとうございました。
【 課題 】java3Dを用いてx,y,zの三次元のパラメータを持つ20個程度のデータを三次元上にプロットし プロットされたデータをマウスクリックするとプロットの色が変化するようにしなさい 【 形態 】2. Applet/ 【 GUI 】4. 制限なし/ 【 期限 】7月15日 【 補足 】java3Dを今回初めて触ってみてまだサンプルプログラムを使って箱が回転できる程度です 座標やマウスリスナーの座標指定の仕方について現在調べていこうと考えています アドバイス宜しくお願い致します
【 課題 】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の中身です。
丸投げで申し訳ありませんが、よろしくお願いします。
>>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 【 補足 】丸投げですが、よろしくお願いします。
420 :
デフォルトの名無しさん :2008/07/09(水) 02:04:23
>>417 その(1)〜(4)が同じっぽいから、つまり二重ループにしろってことじゃ?
繰り返し300回ってのがどっちのことか分からないが。
>>419 書き忘れていた細かい部分まで実装されていて
大変参考になりました。ありがとうございます。
余裕が出来たのでこれから自分なりに色々いじってみたいと
思います。本当にありがとうございました。
425 :
424 :2008/07/09(水) 14:07:55
誤爆しました。申し訳ありません。
426 :
416 :2008/07/10(木) 07:37:03
質問に答えてくださった皆さん、ありがとうございました
教授の言った限りでは
>>422 で良かったようです
427 :
418 :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だと、開発環境から起動しなかった場合に、 内容を確認できないと思っています。
ただの質問は質問スレへ
430 :
デフォルトの名無しさん :2008/07/13(日) 15:40:59
【課題提示用テンプレ】 【 課題 】「Java言語」を用いて、フラクタルを取り入れた自由作品を作りなさい 【 形態 】2. Applet 【 期限 】7月16日(水) 【 補足 】丸投げですが、何卒よろしくお願いいたします。
>>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;
}
434 :
430 :2008/07/13(日) 17:39:45
>>431 今書いて頂いたメソッドを組み込んで動作確認をしたところ、課題通りに正しい結果が返されました。
おかげで無事に提出期間に間に合いそうです。
迅速な回答本当に有難うございました。
435 :
430 :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 【 補足 】丸投げです。わからないのでよろしくお願いします。
【課題】欧文を入力すると、そこで使われている全単語の使用回数(出現頻度)を数え、 一覧表示するプログラムを作成しなさい。 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 【補足】丸投げです。宜しくお願いします
442 :
432 :2008/07/13(日) 18:48:26
>>441 講師「はぁ?何お前?ググってコピペする気?言っとッけど俺マジパネェよ?ググって提出した課題全部分かっちゃうよ?」
生徒「・・・・・・」
いや、無理ならスルーしてくれても構わないんだ
アドバイスありがとう
>>442 人に頼んだり、まして、ネットでもらった回答がバレない理由なんて無いんじゃね?
>>443 うん、それを言われちゃあ返す言葉もない
>>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());
}
}
}
>>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;
}
}
}
448 :
447 :2008/07/13(日) 22:04:27
ああ、 > c ≧ b ≧ a を満たしてないし。数値入れ替えるだけじゃだめ?w
>>441 回答ありがとうございます。
しかし、それだと問題1しか解けていないと思うのですが・・・
問題は1〜5まであります。
どうか宜しくお願いします。
>>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);
}
}
自分で書いといてヒドイ書き方だと思う…
451 :
446 :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("はずれ!");
}
}
}
>>441 週末向けに宿題だされたけど結局やらずに駆け込みってことかねぇ。
暇つぶしには適当にばらけてくれたほうがいいんだが。
メールの場合ノーチェックになるからな ここにレスするかうpろだだとこのスレの他の人のチェックはいるから 変なプログラムはめちゃ叩かれるw
【 課題 】じゃんけんゲームを作成せよ。完成版は、反復構造により続けてゲームができるようにし、0で終了させて最後に勝ち負けの集計(勝率も計算させる)が表示できるようにせよ。 なお、プログラムは あなたの手の入力の処理 コンピュータの手の生成 勝ち負けの判定 勝率の計算 の4つの処理を行うメソッドを定義し、これを利用して作成すること。 【 形態 】1. Javaアプリケーション(main()で開始 【 期限 】7月31日まで 【 補足 】単位かかってます。
>>456 こういうの見ると、
"必ず勝つ(or負ける)ようにしとけば判定とか率とか表示1行で済んで楽だ"
と思うんだが、そするとやっぱり単位とやらが貰えないのだろうか。
閑話休題。
>完成版は、
とあるが、未完成版はあるのか? もしくは未完成版でもいいのか?
>0 で終了させて
というのは、手の入力には何か規則があるのか?
【 課題 】コマンドライン引数から西暦を受け取り、うるう年であるかを判定するプログラム 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 + "年はうるう年ではありません"); } } }
>>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回整数の入力を受け取り、 それらの合計値と平均値を計算して表示するプログラムを作成しなさい。
>>460 ありがとうございます
カッコで区切るんですね
爆発しそうな脳みそがやっと縮みました
>>458 x にどんな値をいれたらどの順にどの行が実行されるのかを一つ一つ追ってみるといい。
ちなみに、途中でプログラムを強制終了させるなら System.exit() というのがあってだな…。
【課題提示用テンプレ】 【 課題 】 整数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
【課題提示用テンプレ】 【 課題 】 整数 n を入力し、1からnまでの素数を List<Integer> にまとめて返却するメソッドを作成せよ。 また、このメソッドを利用し、整数1000に対して、求めた素数を1行にひとつずつ画面に表示するプログラムを作成し、動作確認せよ。 表示した素数は桁合わせされていること。 【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。 【 期限 】7/14 18:00まで 【 Ver 】3.2.2
【 課題 】 1京(10000000000000000)、2京、3京、4京のそれぞれより大きい最初の素数を計算せよ。これを計算する上では、スレッドを利用すること。FixedThreadPool を用いて、スレッド数2にして、上記の4つのタスクを並行実行して、結果を求めよ 【 形態 】Javaアプリケーション(main()で開始)Eclipseを用いています。 【 期限 】7/14 18:00まで 【 Ver 】3.2.2
課題丸投げですが、よろしくお願いします。
469 :
464 :2008/07/14(月) 17:14:36
472 :
464 :2008/07/14(月) 17:26:01
スマソwww急に演習課題とか始まって\(^o^)/オワタ
>>472 リアルタイムかい。
で、オワタ?466はもういいのか?
474 :
464 :2008/07/14(月) 17:33:40
すみません。人生的な意味で終わってるってことですw 466もお願いします!
476 :
466 :2008/07/14(月) 18:09:45
>>475 ありがとうございます!
みんなできていないようなので、レポートという形になりそうです。
さらに問題が追加されましたww
近々またお世話になるかもしれません。
お忙しい中、本当にありがとうございます。
>>475 でかすぎですねwwww
プログラムテストできませんw
478 :
464 :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
Javaにもenumってあったのか
480 :
475 :2008/07/14(月) 18:46:10
まぁなにしろ間に合うかどうか優先で全然速さを考えてないからなw 素因数分解をBigDecimal対応にするだけで面倒くさかった。 時間できたらなんとかの篩でもなんでもやってくれぃ。
>>480 ありがとうございます。
なんとかやってみます!
先生が理不尽で、困ります(><)
>>483 すみません。
そうですよね〜。さすがにこれはわけがわからないです。
なにをどうすればいいのかさっぱりです。
>>481 こんな感じだろうか
int k=0;
while(true) {
if(Math.PIの小数点第8位までの値 == (1/無限小数の式)の小数点第8位までの値) break;
}
k+1回がループ数
すみません! 友達がやってくれました! みなさんありがとうございました!
>>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; }
}
}
/* 手持ちのお金の枚数と買い物の合計金額から,お釣りの枚数が最も少なくなる支払い方を計算するプログラム. */ 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);
続き 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;
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 + "枚");
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; } }
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円の買い物をしようとしても「お金が足りません」と出力されてしまいます. この、問題をどんな形でも良いので解消してください。
【 課題 】手持ちのお金と,買い物の金額を入力すると,お釣りの枚数が最も少なくなる支払い方を教えてくれるプログラムです.
例えば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 よろしくお願いします。
>>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);
}
本日の課題プログラムを参考にして、じゃんけんゲームを完成させよ。完成版は、反復構造により続けてゲームができるようにし、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厘)です。
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 のバージョンだぞ。
>>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("面積="+三角形.面積());
}
}
506 :
431 :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ファイルを作成して配布していれば良いと思うのですが、
こういう部分に問題文の作りの甘さが表れていると思います…
507 :
431 :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の動作に添うようにソースを書いて頂けないでしょうか。
色々文句をつけてしまいすみません。
自力では解けませんのでなんとか宜しくお願いします。
508 :
468 :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(); ググったら↑を書き換える必要があるらしいのですが、どう書き変えたらいいのかわかりません。 お願いします。
>>509 警告だから、別に直さなくても良いけど、
ArrayList<AnalogClock> list = new ArrayList<AnalogClock>();
とか書けば消えるんじゃね?
511 :
454 :2008/07/16(水) 03:27:27
>>506 jad という逆コンパイルツールを探してきて TestStack.class と同じ
フォルダに展開して、
jad -8 TestStack.class
とやると TestStack.jad というファイルが出来るから、
TestStack.java に変名してそれぞれの Stack と一緒に出したらどうだい。
それ見てたら作者がタコに思えてきて弄る気力無くなった…。
513 :
デフォルトの名無しさん :2008/07/16(水) 14:51:55
>>510 ありがとうございます!やっとコンパイル通りました!
>>513 いや、別に、警告は出てても実行は出来るよ。
515 :
デフォルトの名無しさん :2008/07/16(水) 15:57:41
>>514 元に戻してやってみたら通りましたorz
ファイル名を入力し間違えてたみたいですorzorz
いま暇だ。 残ってる宿題リストくれ
517 :
デフォルトの名無しさん :2008/07/17(木) 00:56:43
「1〜1000までの足し算を行うプログラムを書け。」 簡単かもしれませんがお願いします。
>>517 n=1000; として、
for(i=1,sum=0; i<=n; i++) sum+=i; または n*(n+1)/2;
>>431 は一応まだ期限内なんだが。
問題1,3はともかく、問題2,4の出題者の意図がイマイチ分からん。
そのもののクラスファイルを
>>506 で出題者から提供されたが、
んじゃ問題2,4では何を作るのかと。
>>512 ではjadで終わりってことにしたな。
>>466 を実装するには、まずBigDecimalのsqrtを実装しないといけないよね。チェックの回数を減らさないと。
【 課題 】 class Data{ String name; String start_time; String end_time; String place; String id; //以下ゲッタ、セッタ; } で定義されているデータ型とこのデータ型のオブジェクトdata1[n]がある. このとき、以下の条件に従って、Data data2[n]に値を挿入する関数arrange()を作成せよ. (1)n=0の時、data2[n] = data1[n] (2-2)n=kの時、data1[0]~data1[k-1]までに「name,start_time,end_timeすべてが一致するもの」があれば、data2[k].id=data2[k].id+","+data1[k-α].id *αはそれまでの一致した数 (2-2)n=kの時、data1[0]~data1[k-1]までに「name,start_time,end_timeすべてが一致するもの」がなければdata2[k]=data1[k-α] 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】なし 【 期限 】7月18日24時 【 Ver 】 $ java -version java version "1.6.0_05" Java(TM) SE Runtime Environment (build 1.6.0_05-b13) Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing) 【 用語 】 【 補足 】data1のデータは定義されていません。自分で何か文字列入れて動作確認せよとのことです.
524 :
431 :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が実行できた場合は教師が指定したスタックの条件は満たせているぞ、という意味なのだと思います。
525 :
431 :2008/07/17(木) 18:27:35
問題2と4に関しては、作成したスタックが教師の条件に沿っていることを確認するものが作れれば良いと思います。 スタックに要素を積んでいって、満杯になったらこれ以上積めないということを表示し、 スタックの要素だけを表示するメソッドを実行して、次に要素をスタックから取り出して表示するメソッドを実行することで、 スタックの要素を表示するメソッドと、要素をスタックから取り出して表示するメソッドが正しく動作することを確認することが出来るのでそのような動作をするようにし、 スタックが空の時に要素を取り出して表示するメソッドを実行したらスタックが空で取り出せないことを表示する、 といったことが出来れば良いと思います。 問題4は「>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。」という部分が問題になっているのでしょうか。 実行できていないので「>テスト結果 = true」についてよくわからないのですが、 Cellを利用して作ると無限に要素を積めるスタックを作れるとしたら、問題文の「>スタックは大きさを持ち、格納できる要素数はその大きさまでとする。」は無視して良いと思います。 問題4では スタックに要素を積んでいって、スタックの大きさに制限がないためにいくつか積んでも満杯にならないことを確認し、 スタックの要素だけを表示するメソッドを実行して、次に要素をスタックから取り出して表示するメソッドを実行することで、 スタックの要素を表示するメソッドと、要素をスタックから取り出して表示するメソッドが正しく動作することを確認することが出来るのでそのような動作をするようにし、 スタックが空の時に要素を取り出して表示するメソッドを実行したらスタックが空で取り出せないことを表示する、 といったことが出来れば良いと思います。 そして、どちらも問題文で指定されている >ただし、show メソッドにより、 >スタックが空の場合には >スタックは空です! >と表示し、 >“a”,”b”,”c”の順序にスタックにつまれている場合にはスタックの内容を >c <-- b <-- a >と表示するようにする。 という部分は守る必要があると思います。
526 :
431 :2008/07/17(木) 18:28:14
私は「import〜」など、少し複雑になったソースでさえ理解することが出来ませんので、
もし良かったら、上のようなプログラムで、より単純なソースで作って頂けると助かります…
問題2に関しては単純にpush(Object anObject),pop(),top()を実行するプログラムを書けば良いので自分でなんとかなりますが、
問題4に関しては問題3で作成して頂いたソースのコンパイルすら通っておらず、そのソースの構造がどうなっているのか理解することが出来ていないのでメソッドをどう実行したら良いのか分かりません。
問題4も単純に要素を何個か積んで、表示して、取りだしていって、要素が無くなったら要素がないことを表示するようなソースを、メソッドを繰り返し使うことで実現するようなプログラム(?)を書いて頂けると助かります。
恐ろしく素人なので、回答して頂いている方達が疑問に思っている点について私が理解出来ておらず、
回答になっていない気もします…
>>521 恐らく私が今書いたようなことだと思います。
配布されたTestStack.class自体を再現する必要はないと思いますが、
それを再現出来れば動作の確認自体が出来ると思うので、それを再現してもいいのかもしれません。
527 :
431 :2008/07/17(木) 18:44:42
529 :
431 :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;
}
に書き換えたものと、
です。
>>527 この問題コンストラクタ、メソッド、インスタンス以外使ってないんだが・・
作成する側がって意味だろ
532 :
デフォルトの名無しさん :2008/07/18(金) 01:17:02
だれか 1.4.2_12 の環境ある超暇な人、 >import java.io.ByteArrayOutputStream; >import java.io.PrintStream; でコンパイルエラーになるか確認してくれないか。
ごちゃごちゃ想像してないで、課題2と課題4とTestStack.classを どうしろというのか直に教師に確認してきなさいよ・・・
>>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のみ [期限]今日(金曜日)の午後四時
>>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" 【 補足 】モンテカルロ法を再現するのだと思いますが、その部分の計算方法がよく分かりません。 丸投げにしてすいませんがお願いします。
>>537 > モンテカルロ法を再現するのだと思いますが、その部分の計算方法がよく分かりません。
正方形の一辺の長さを a とすると、その面積は a × a になる。
この正方形に内接する円の面積は π × a × a ÷ 4 。
正方形内に一様にばらまいた点が内接円の内部に存在する割合は、
正方形の面積に対する内接円の面積の比、すなわち π ÷ 4 。
つまり、ばらまいた点の総数で内接円内の点の数を割ったものの4倍がπの近似値になる。
点が内接円の内部か外部かの判定は、
正方形の重心=円の中心から点までの距離と円の半径 a ÷ 2 との比較で行える。
カルテシアン座標で点の座標を発生させているのなら、
平方根計算が必要な距離そのものでなく、その2乗値と a × a ÷ 4 とを比較してもいい。
>>537 >正方形が望ましい
uN以外で正方形以外のフレームの作り方教えてくれw
>>539 ちょっとまて、それとあるruby本で同じ問題あったぞw
>>540 フレームの形は一般に長方形で、正方形とは限らないのでは?
542 :
デフォルトの名無しさん :2008/07/18(金) 22:19:43
【 課題 】 □実行時に2つの数値を受け取るプログラムを作成しなさい。 □受け取った2つの数値の前1つを「月」、残りの1つを「日」として表示のみさせなさい。 □前出の月・日に対して、その曜日を表示するプログラムを作成しなさい。 【 形態 】1. Javaアプリケーション 【 期限 】7月23日 【 Ver 】1.6.0.06 【 補足 】丸投げです。基本的なことかもしれませんがよろしくお願いします。
>>542 どうやって「受け取る」のか、
曜日といっても、何年の曜日なのか・・・
>>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()メソッドを利用します。 さっき質問した者です。またお願いします。
>>546 double d = Math.random()*100+1;
System.out.println(d>50? "BIG":"SMALL");
これぐらいで躓いてたら・・・まぁいいけど。
548 :
デフォルトの名無しさん :2008/07/18(金) 23:15:01
549 :
デフォルトの名無しさん :2008/07/19(土) 03:43:52
>>549 引数無しのコンストラクタも作ったらいいんじゃね?
551 :
デフォルトの名無しさん :2008/07/19(土) 09:56:31
>>549 AbstractWorldClock.java も up してくれないと、list.add 〜 を消しても
コンパイルできんじゃないかw
>>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
>>552 シンボルを見つけられません
場所;SequentialSearchSentinelのクラス
if(music[i].getTitle().equals(songName))
^
とコンパイルエラーがでてしまうのですがどうすれば良いのでしょうか?
554 :
デフォルトの名無しさん :2008/07/19(土) 11:13:01
>>553 ああ、すまん。
if(music[i] 〜
じゃなくて
if(list[i]〜
か。
>>539 for(Music m:list){
if(m.getTitle().equals(songName)){
if(m!=sentinel){
result=m;
}
break;
}
}
>>554 うひゃあ、まだバグってるじゃん。
result = music;
じゃなくて
result = list[i];
だし・・・ダメだ俺
558 :
549 :2008/07/19(土) 14:42:41
>>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
562 :
549 :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(); } }
ArrayIndexOutOfBoundsExceptionがコンパイル時に投げられる・・・ お手上げっす(わらい)
567 :
デフォルトの名無しさん :2008/07/19(土) 20:10:22
>>563 まぁ、
最初のファイルに2行以上あって、どの行にも thesaurus の文字列が無かったらどうなるか
ってことだ。
568 :
デフォルトの名無しさん :2008/07/19(土) 21:49:38
562です 自己解決しました。 どうもありがとうございました。
569 :
431 :2008/07/20(日) 01:57:41
作成して頂いたプログラムですが、コンパイルと実行に成功しました。
何か変な手順を踏んでいたのかもしれません。
回答ありがとうございます。
>>431 の問題5と
>>527 (
>>529 で一部訂正)の回答お願いします。
【 課題 】立ち上げるとウィンドウが表示され、マウスでクリックするとウィンドウの背景の色が赤青緑でランダムに変わる(同じ色が連続で出る可能性もある)プログラムを作成しなさい。 【 形態 】Appletでもframeでもかまわない 【 期限 】明日まで><。 ごめんなさい丸投げです・・・。 私に救いの手を〜><。
>>570 final JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setSize(300,300);
f.addMouseListener(new MouseAdapter(){
Color color[] = new Color[]{
Color.RED,
Color.GREEN,
Color.BLUE
};
public void mouseClicked(MouseEvent e){
f.getContentPane().setBackground(color[(int)(Math.random()*color.length)]);
}
});
f.setVisible(true);
572 :
570 :2008/07/20(日) 17:32:03
は、はやい!! ありがとうございます!!
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の上から下までの問題を出して終わり、 というものでいいそうです。 丸投げですが、お願いします。
問題csvぐらい考えろやw
こういう場合に教員が言うCSVって、引用符とか一切考慮していないよね。
CSVはこれでいいだろ \G(?:^,|,)(?:"((?>[^"]*+)(?>""[^"]*+)*+)"|([^",]*+))
つまり、こうか。
>>578 \G(?:^, | ,) (?: "((?>[^"]*+) (?>""[^"]*+)*+)" | ([^",]*+))
先頭が,で始まって、又は、,から始まって、
"で始まって "で終わる文字列か、又は、"と,以外が続く文字列。
"と"の間は、"以外が続いた後、("2個連続を前に置いて、"以外が続く)の繰り返し
宿題なら単にカンマをSplitする程度でよくね?
>>580 どうせ教員の考えているCSVなんてそれのことだろうけど・・・
【 課題 】次のA〜Dを解き、ユーザから与えられた式の値を計算してグラフを描画するプログラムを作成せよ。 A)中置記法で書かれた数式を後置記法(Reverse Polish Notation)に変換するプログラム B)後置記法で書かれた式の値を計算するプログラム C) 与えられた数値データのグラフを描くプログラム D)mainプログラム 【 形態 】1. Javaアプリケーション(main()で開始) 【 期限 】25日まで 【 Ver 】1.6.0 【 補足 】どう工夫したか考察もいるみたいです… 丸投げで申し訳ありませんが、どうかよろしくお願いします。
>>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)
【 補足 】すいません、丸投げです
できるところまでで良いのでお願いします
587 :
デフォルトの名無しさん :2008/07/22(火) 20:50:12
TextSS
589 :
588 :2008/07/23(水) 03:39:20
590 :
588 :2008/07/23(水) 03:44:19
591 :
585 :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)
ファイルが見つからないのかと思いましたが同じフォルダに画像ファイルは置いています、
どこがおかしいのでしょうか
>>591 ソース内のファイル名の方を調整して欲しい。
594 :
591 :2008/07/23(水) 10:12:29
画像ファイルがsrc.bmpという名でも同じエラー文が出てしまいます 画像のサイズとか場所とか・・・関係ありませんよね(場所はclassファイルと同じフォルダです)
>>594 src.bmpをおいている位置では?
コマンドプロンプトから起動しているなら、カレントディレクトリを見ているはず。
eclipseから起動なら、.projectがあるディレクトリ。
597 :
577 :2008/07/23(水) 11:54:20
>>588-590 すべての動作確認しました。
ありがとうございます。
582が全部なんですけど、さすがに多すぎてやってもらえないだろうと思って
現段階でわからないのを書きました。
598 :
594 :2008/07/23(水) 11:56:02
>>595 >>596 m(;__)m大変もうしわけありません、お手数をおかけしました
画像データの名前を「scr.bmp」としていました(正しくはsrc.bmp)馬鹿です、ハイ。
そして実行してみたところうまくいきました、任意の位置で分割できました。
有難うございました
bmpではなく、jpegやpngで画像分割できると、フリーソフトとして使い勝手があるかもしれない
>>600 よく分からんがsrc=ImageIO.read(new File("src.bmp"));のbmpをjpgやpngに変えればいいんじゃないんか
そんな単純な話じゃない?
d
602 :
598 :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
604 :
574 :2008/07/23(水) 23:49:35
>>584 ありがとうございました。
それで大丈夫でした。感謝します。
605 :
602 :2008/07/24(木) 11:47:24
>>603 このようなコンパイルエラーが出てしまいました。
自分なりに調べてみたのですが解決方法が分かりません、どのように直せばよいのでしょうか
MainPanel.java:68:メソッドはそのスーパークラスのメソッドをオーバーライドしません。
@Override
^
MainPanel.java:77:メソッドはそのスーパークラスのメソッドをオーバーライドしません。
@Override
^
>>605 手元ではエラーにならないので気にしてなかったけど・・・
@Overrideを取っ払ってください。
607 :
ヘルプミー :2008/07/24(木) 15:00:36
java swing で万年カレンダーを作りたいのですが、まったくわかりません。 誰か助けてください。
608 :
605 :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" 【 補足 】丸投げです。よろしくお願いします。
>>608 プログラミング以前の問題
javaコマンドを使ったことがないのならまずその使い方を勉強すべきだな
エラーメッセージはMainPanelパッケージのclassクラスがないと言っている
>>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万行書いておく
あ、Swing か。 JTextArea に一万行(ry
>>611 それだと万日カレンダーな気がw
>>607 >>1 を読んでテンプレを埋めて依頼すればそれなりにレスがあると思うが
それにぐぐればサンプルはウエブ上に結構ある
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"); ここら辺までは書いたんですが、これからどうしていいかまったく分かりません・・・
【 課題 】 ディレクトリ階層に含まれる全てのファイルの大きさを合計する プログラムを作りたい。この場合ディレクトリに含まれるファイルや 子ディレクトリも再帰的に調べなければならない。下記の空欄[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 【 補足 】丸投げです。よろしくお願いします。
>>605 >>585 ではバージョン1.6を要求しているのに1.5でコンパイルしようとしていない?
1.6ではインタフェースで求められているメソッドを実装する時に@Overrideを付けてもエラーにならないけれど、
1.5での@Overrideは文字通りスーパークラスのメソッドをオーバーライドしているときだけに付ける。
>>609 >>573 実は少しやろうかと思ったのだが、任意の4点からなる四角形の面積を求める式が分からなくて
出来なかった orz
>>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 期日は明日です・・・・
>>618 4頂点の座標を辺に沿って順番に(x1,y1)(x2,y2)(x3,y3)(x4,y4)とすると
面積はMath.abs((x4-x2)(y1-y3)-(y4-y2)(x1-x3))/2だったと思う
ということでがんばってくれ
623 :
608 :2008/07/24(木) 16:26:05
>>610 何がなんだか分かりませんが使い方が間違っているんですね
ちょっと調べてみます
>>617 何がなんだか・・・素人なのでよく分からないとです
>>623 java MainPanel.class
じゃなく、
java MainPanel
だよ・・・
627 :
623 :2008/07/24(木) 16:41:14
>>625 ありがとうございましたorz
長い質問になりましたがこれで完璧だと思います、お世話になりました
628 :
ヘルプミー :2008/07/24(木) 16:45:43
>>624 ありがとうございます。
こんな感じので、なおかつ月と年を変更したら日付も変わるようにしたいのですが
どうしたらいいんでしょうか?
後、日にちが動かないようにするにはどうしたら・・・
629 :
618 :2008/07/24(木) 16:48:42
>>622 thx.
がしかし、今は自分ので手一杯だw
631 :
ヘルプミー :2008/07/24(木) 17:02:09
>>630 ここ十年くらいの変更ができればいいんですが・・・・
どうしたらいいんでしょうか
>>630 確かに本来の万年カレンダーはそういう手動で曜日を合わせるものなんだけど
紙などに年月固定の暦を印刷するカレンダーに対して電子的な手段などで
任意の年月のカレンダーを表示できる可変的なものを万年カレンダーと称しているらしい
>>631 ということで見かけは普通の月単位のカレンダーで
与えられた年と月に合わせて表示するカレンダーの意でいい?
634 :
ヘルプミー :2008/07/24(木) 17:16:01
>>632 こんな感じです。
それの一ヶ月づつので、なおかつ月に応じて1〜31日が変化するようにしたいのですが
635 :
ヘルプミー :2008/07/24(木) 17:27:16
>>633 はい。よろしくお願いします。
万年カレンダーがそんなものだとは知りませんでした。
勉強になりました。ありがとうございます。
>>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を実行し、その結果を貼ります。 《必須》 【 補足 】「ん」って文字列を空白で置換、だと「さ さ の はさら さら 」になっちゃうし… ごめんなさい丸投げです。文字ってけっこう難しいです…
String#replaceAll("ん",""); でいいんじゃないの?
639 :
デフォルトの名無しさん :2008/07/24(木) 23:48:30
>>638 難しく考えていました。わー恥ずかしい。
ありがとうございました。
641 :
ヘルプミー :2008/07/25(金) 08:17:52
>>640 おお!ありがとうございます〜<(--)>
おかげで単位落とさずに済みました。
感謝いたしております。
すいません、明日課題提出なんですけど、プログラムは全然理解できませんでした(´・ω・`)ので、教えて下さい 課題は「授業で習った範囲でプログラムを組み、゛どの部分がどのような処理をするのか゛を説明せよ」というものです。 自分のは授業でやったプログラムのほぼまる写しです。ちなみに、プログラムは↓のとおりです 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); } 長いので、二つに分けます
644 :
642 :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) {} } すいません、どなたかご説明お願いします。
645 :
642 :2008/07/25(金) 18:42:58
>>643 これは失礼(´・ω・`)焦り過ぎてますた
【 課題 】
>>642 ・644のとおりで「プログラムを作成し、それを適切に説明せよ」
【 形態 】2. Applet
【 GUI 】5. その他「GUIがわかりません(´・ω・`)」
【 期限 】土曜(明日)
【 Ver 】java version 1.5.0_05
>>645 この手のスレで質問する課題ではないな。
来年また頑張りましょう。
>>645 ぐぐったり、JavaのAPI見たりすればいけると思うけどなー。
>>642 明日っていうから、切羽詰まってるんだろうな。
ケチケチせずに教えてやろうぜ。
まずはimportが何を意味するか考えてだな、
次にclassの部分、
そしてコメント部分、うーん、ていうか、コメントに答えがあるんじゃ?
【 課題 】LZW圧縮されたGIFを入力ストリームに読み込んで解凍してバイト配列で返す 【 形態 】Javaアプリケーション 【 GUI 】 【 期限 】7月31日 【 Ver 】1.5.0
>>649 試してないけど、ImageIO.read()でよみこんで、それのDataBuffer取得して・・・じゃだめかね?w
651 :
642 :2008/07/26(土) 03:58:56
とりあえず、バイトから帰ってきてグーグル先生に聞いてはみたけど、分からないです(´・ω・`)どうにか助けて下さい
652 :
642 :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); }
653 :
642 :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) {} }
>>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] からなので、顔画像の重なりはクリック順と関係ない。
【 課題 】 以下のプログラムのフローチャートおよび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 【 補足 】同じ質問をされた方がいますが別人です。 勝率計算がうまくいかなかったのでソースもお願いします。
>>655 勝率計算がうまくいかなかったソースをお願いします
>>656 すみません余計な文を消すのを忘れていました
本日の課題プログラムは前回のレポートのことでそれをヒントに。ということです
>>657 説明不足ですみません
勝ち負けの判定 勝率の計算 が全く分からずソースすら書けません
>>658 前回のレポートだろうが何だろうが参考にしろというものがあるのならそれを出さないと。
出てきたプログラムが前回のレポートとやらと噛み合わないものだと困るんじゃないの?
それとも実行例のような動作をするゲームでさえあればどんなものでも構わないの?
661 :
642 :2008/07/26(土) 19:54:44
>>654 ありがとうございましたギリギリで間に合いました。これでなんとか単位は大丈夫そうです。
アナタに幸あれc⌒っ*・ω・)っ
>>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" 【 補足 】丸投げでお願いします。いろいろな意見がいただけると助かります。
666 :
デフォルトの名無しさん :2008/07/26(土) 21:15:22
動きがみれるものと、ソースを見たいそうです。
>>666 けっきょく、exeってのは勘違いなのか?
669 :
デフォルトの名無しさん :2008/07/27(日) 00:19:58
課題プリントうつしただけなんで気にせずお願いしますw いろんな意見も無視で。
ソースをWindows用の自己解凍ファイルにアーカイブしてやればいいんじゃないか その場合自己解凍ファイルはこっそり危険にしておくとか考えないように
672 :
デフォルトの名無しさん :2008/07/27(日) 11:04:10
【 課題 】足し算、引き算、掛け算、割り算に対応した100マス計算を作成 3×3や5×5などレベル設定も選択可能にせよ。 タイマーを連動せよ。 数字は乱数などを用い、ランダムで配置するものとする。 【 形態 】Javaアプリケーション 【 GUI 】制限なし 【 期限 】7/27 【 Ver 】java version "1.5.0_06" 【 補足 】丸投げでお願いします。 こういうことで・・・。
>>672 課題がよくわからん。
1.アプリを実行すると、「100マス計算」ゲームの問題が表示される。
※問題のマス数はパラメータで3×3、5×5等に変更可能。
※問題の数字は乱数生成したランダムな数字を設定。
2.ユーザーがゲームj開始、回答を入力する。→タイマー開始
3.ユーザーが回答を入力し終えた場合、または制限時間に達した場合、ゲーム終了。
4.採点結果が表示される。
こんな感じのアプリを作れと言ってる?
675 :
655 :2008/07/27(日) 17:37:44
【 課題 】 (1) y=x^2,y=sinxの二つの関数を表示せよ。また、用いた関数式も表示させよ。 (2) 表示したグラフに対してx軸、y軸を表示せよ。 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】1. AWTのみ 【 期限 】7/29 【 補足 】丸投げです、よろしくお願いします
>>675 で、この課題に書いていることは全て理解してるんだな?
>>655 で必要な反復構造やメソッド(引数や返値)それにフィールドについては
どの程度知ってるんだ。
>>676 グラフの表示範囲はこちらで適当に決めていいの?
680 :
655 :2008/07/27(日) 18:48:59
>>678 ありがとうございました
クラブで何回か授業抜けて俄仕込みの知識しかなかったので助かります
教科書を見ながらでないと何も出来ないレベルです
今回は説明が悪くてすみません。勝率計算についての式が分からなかったんです
なんか場違いな感じだったと思っております。本当にすみません
682 :
676 :2008/07/27(日) 20:29:15
>>679 表示範囲は適当でおkです
画面サイズは800*600程度でお願いします
683 :
デフォルトの名無しさん :2008/07/27(日) 23:56:02
688 :
676 :2008/07/28(月) 16:02:35
>>686 せめて簡単な概要くらい示してくれないとzipなんて落とす気にもならないぞ?
既に夏バテでOOoを起動する気力もねえ
>>686 レポートの一部だけ。
分からないところ:
配列のインデックスを「要素」と呼んでいる事に気づいた。
ワケが分からない。
「引数」を「返り値」と呼んでいるようなものなので、死ねばいいと思った。
OOoすら入れてないわい
>>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
↑の書き込みをした者です。 丸投げで申し訳ありません。 よろしくお願いします。
>>696 「関数を返す」ってなんだろな。
Javaのメソッドは「関数」とは呼ばないし。
クラスを何でも良いので自分で考えて,1つ作る。 それを使った main含みのclassも作る。 クラスは別ソースファイル。 フィールドは,4つ以上使用する。 メソッドは,3つ以上使用する。(除くコンストラクタ) コンストラクタは,1つ以上使用する。 クラスは1つ だれか助けて下さい・・・。
【課題提示用テンプレ】 【 課題 】 クラスを何でも良いので自分で考えて,1つ作る。 それを使った main含みのclassも作る。 クラスは別ソースファイル。 フィールドは,4つ以上使用する。 メソッドは,3つ以上使用する。(除くコンストラクタ) コンストラクタは,1つ以上使用する。 クラスは1つ。 【 形態 】javaファイルのソースそのまま提出 【 CGI 】 【 期限 】期日は今日の24:00まで 【 Ver 】1.6.07_07 【 補足 】特にないです。 すいません。あせって読むの忘れてました。もうしわけない
>>703 アップローダにあがってるのを見繕って提出すれば?
>>704 ちょっと仕様事態があまりよくわからないので、だれかに
参考になるプログラムを書いてほしいのですが・・・。
>>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());
}
}
>>706 ありがとうございます。
コンパイルエラー
Nonsense.java:23: クラス NonsenseUser は public であり、ファイル NonsenseUser.ja
va で宣言しなければなりません。
public class NonsenseUser {
^
エラー 1 個
>>707 > クラスは別ソースファイル。
いったい何のためにコメントを書いているのか
>>708 あ、すいません。そういうことですか。
もうしわけないです
【 課題 】ウィンドウアプリケーションを使った○×問題を作る 【 形態 】1. Javaアプリケーション 【 GUI 】2. Swing 【 期限 】今週金曜日まで 【 Ver 】1.6.0_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);
}
});
}
}
あ、○×問題だから問題の出し方が変だった ... 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()が、各数字を均等に発生させているか否かを確認せよ。 こういう課題ですできる方はソースを見せてください。お願いします。
【 課題 】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個なら素数。っていうふうに書いたんですが、これを実 行すると
途中で送信してしまったorz。 実行すると、何も表示されずに終了してしまうのですがなぜでしょうか?
素数じゃないときにcountが初期化されていない
助言のおかげで出来ました。ありがとうございます。
>>711 ありがとうございます!
自分では皆目見当もつかなかったので、教えていただいたのを参考に頑張ります
720 :
デフォルトの名無しさん :2008/07/31(木) 01:33:20
GUIのSwingでオセロをつくりたいんですがどうしたらいいですか? だいたい何を使えばいいかだけでもいいので教えてください
>>720 そんなコンポーネントはないから自分で一から作るもよし、ラベルをGridLayoutで敷き詰めてやるもよし。
722 :
デフォルトの名無しさん :2008/07/31(木) 02:07:28
>>721 すいません、GridLayoutってなんですか?
GUIほんとに初心者なんです
ここは質問するスレではありません 質問は質問スレへ
724 :
デフォルトの名無しさん :2008/07/31(木) 03:43:07
>700さん 696のレスの課題をここに貼った者です。本当にありがとうございました。 ただこの課題について補足問題がもう一問出題されまして、 試行錯誤を重ねましたが解けませんでした。 木曜日12時までです。よろしくお願いします。 補足課題:上で求めたプログラムを改良し、 キーボードによって入力される任意の初期値に対して、自動的に 3つの解が算出されるようにせよ。
>>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 丸投げです。 よろしくおねがいします。
>>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;
}
}
730 :
726 :2008/08/01(金) 12:48:13
731 :
デフォルトの名無しさん :2008/08/01(金) 17:38:13
【 課題 】1からnまでの全整数の和を求めて返却するメソッドを作成せよ 【 形態 】1. Javaアプリケーション 【 GUI 】4. 制限なし 【 期限 】8/2 【 Ver 】1.6.0_07 丸投げですがお願いします
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
【 補足 】 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のかっこの中身をどのようにすれば良いかで詰まってます
736 :
734 :2008/08/01(金) 19:31:36
【 課題 】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) 【 補足 】申し訳ありませんが丸投げでお願いします・・・。
このスレの回答者は問題文の規格に沿ってない回答を書きまくりだな
739 :
731 :2008/08/02(土) 08:25:40
>>732 回答ありがとうございます
できれば枠組みも教えて欲しいです><
>>737 > プロパティファイルで指定したパスのファイルをコピーする。
どういう指定だか、わからない。
> 作成するファイルの名前は、元のファイル名に現在の年月日時分秒を付加したものとする。
すでにファイルがある場合はどうすんの?
743 :
737 :2008/08/03(日) 00:58:42
>>742 自分でプロパティファイルを作ってその中身のものをコピーするってことですかね・・・?
私もよくわかりません:;
すでにファイルがある場合はファイル名称はそのままでいいのかと思います。
>>743 プロパティファイルhoge.propertiesに
file.original=moge
とあればmogeの内容をmoge20080802010203という新しいファイルにコピーする。
プロパティファイルの名称やキーの名称(上の例ならfile.original)は適当に決める?何か仕様がある?実行時にコマンドライン等から与える?
新規に作ろうとした名前のファイルが既にある場合はそのままにするというのは、そのまま何もしない?そのまま内容を上書きする?
元のファイルがmoge.txtみたいな場合でもmoge.txt200808なんたらみたいにそのまま付加する?
737が分からないのなら課題を出した先生に聞くのが一番いいと思うが月曜提出か。
745 :
743 :2008/08/03(日) 10:22:50
例えば「2ch」というファイルがあり、プロパティファイルで「2ch」という内容があれば「2ch」でコピーする。 「2ch」というファイルがなく、プロパティファイルにしか「2ch」がなかったら「2chyyyymmddss」というファイルを作成する。 って事かと思っています。 だめだ・・・説明下手すぎ・・・。 手伝ってくれる方がいるなら思うように好きに作って下さい。 ホント申し訳ないですがお願いします!
747 :
737 :2008/08/03(日) 16:22:33
>>746 ありがとうございます!助かりました!!!
これを読み解けるように勉強します!
748 :
デフォルトの名無しさん :2008/08/03(日) 23:44:33
751 :
デフォルトの名無しさん :2008/08/04(月) 02:58:12
自分の胸に聞いてみれば良い
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 【補足】よろしくお願いします。
>>755 いやいや、騙されないぞ。
世間なんてもう夏休みモードじゃねーか。
今頃、こんな課題が出来ないやつが、まだ単位に固執しているはずが無い。
>>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);
}
}
>>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;
}
}
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 すいません。ありがたいのですが、課題の条件に
但し、プログラム冒頭でインポート可能なパッケージは、java.io (インポート方法:import java.io.*;) のみとする。
を忘れていました。
>>762 オレは
>>761 じゃないが、
インポートしなければいいんじゃないか?
そのくらい、自分で書き換えられるだろ?
>>763 大学の方ではまだimport方法をimport java.io.*;でしか習っていないので、
先ほど少し自分でいじってみたのですが、エラー続出でどうにもなりませんでした。
ちなみに元のプログラムの内容に付けたしをする感じで書き換えなければならないため、importを消す事はできないです。
最初の説明が言葉足らずで申し訳ありませんでした。
>>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)
上のようになってしまいます。これはどうすればいいのでしょうか?
>>766 >終了時はEnterを押す
これは変えて良い部分ですか?
つまり、
>>765 のように人数を最初に入力させるのはOK?
>>767 キーボード入力のコマンドが残っている状態であれば大丈夫です。
お願いします。
>>769 すいません。両方とも分からない状態です・・・
forループ、whileループ、コマンド入力、if法が残っていれば大丈夫なのですが・・・
本当に基本的な事しかわからずすみません。
771 :
770 :2008/08/08(金) 01:05:46
ちなみに補足は無視していただいてもforループさえ上手く付け加えてくれれば大丈夫です。
>>770 その状況なら
>>765 みたいなソースになるよ。
>>765 は初心者用に正しい入力がなされると想定して書いてるのに、
3学籍番号を入力してください。
>
3点数を入力してください。
>
こんなありえない入力をしているのがエラーの原因。
といっても例外処理も知らなさそうだから、今回は入力は正しいものと決め付けた方が良いんじゃないでしょうか。
文字化けしてるのはプログラムじゃなくて文字コードがおかしいんじゃないか?
773 :
770 :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でどうやったら呼び出せるのかとかサッパリわかりません・・・。
どなたか
>>759 の課題を教えていただけないでしょうか?
期限が迫っていますのでよろしくお願いします;;
>>776 並べ替えだけで表示機能が無いとか、
入出力って何の入出力だよとか、
そもそもGUIなのかCUIなのかとか、とにかく聞き出すのが面倒なので・・・
>>777 すみません、問題文をそのまま書いたのですが細かいことがないみたいですね;;
Eclipseで開発せよと書いていたのですがこれはスレ違いでしょうか・・・?
>>775 RMIが裏でどういう処理を行っているかを考えて、
自分で簡単なプログラムを組んでみろっていう事みたいです。
スタブやスケルトン内の処理は何となくイメージ出来るんですけど、
Namingクラスを自分で用意した場合に、サーバ側でバインドされた情報を、
どうやって保持して、どうやってクライアント側から呼び出せば良いのかが
サッパリわかりませんorz
780 :
759 :2008/08/08(金) 21:07:10
>>777 データの入出力形式はたぶん入力はデータの追加のことで
出力は追加・削除した結果をファイルに保存することだと思います。
表示機能はたぶんなくてもファイルに結果を保存するので大丈夫だと思います。
GUIかCUIは調べてみたのですがよくわかりませんでした;
>>776 >締め切りは8月8日金曜日の0時までです
期限切れでは?
782 :
759 :2008/08/08(金) 22:49:25
784 :
759 :2008/08/08(金) 23:17:51
>>783 8月8日23時59分、8月9日0時を書き間違えてしまいました;
>>784 自己チェックや提出の手間とかを考えるとそろそろ限界なんだろうけど、
提出遅延の許容範囲ってどれくらいなの?
786 :
759 :2008/08/09(土) 00:04:05
>>785 だいたい期限より3日後までは許容してくれたと思います。
あまり遅くなると評価されなくなります;
MSNで検索して、ある掲示板なら答えてもらえるかもよ? 探しだせるかどうかだけど。
789 :
759 :2008/08/09(土) 16:05:31
>>787 マルチとかしたことないです、同じ課題与えられた奴ですねたぶん・・・orz
マルチと思われてもしかたないですね、色々とすみませんでした。
回答者が池沼すぎて可哀そうだw
>>790 煽っても別に回答はつかないよ。
質問者がやる気なさすぎで、エスパー回答しかできないから。
Cを使った授業の課題よりも簡単になってるのか。 追加、削除、ソートだけで、検索機能や検索と組み合わせたデータの削除とか無くなってる。 受講条件はCを知っていることだし、講義スケジュールにもJavaのGUI関連はないみたいだから、 GUIは不要というか、逆にGUIだとオーパーツ扱いされたりするのかも。 モデリングやUMLの講義も入っていることだし、講義内容から見て、 追加、削除、ソート、XMLEncoder/XMLDecoderによるデータの保存と読み込みの機能を付けた データオブジェクトの集約クラスを作成することが演習の主眼で、 mainメソッドを含むクラスは、これをテストするためのコード程度なのかも。 4月から続いた講義の最後の演習だから、 課題の曖昧さは実際に受講した人間にはピンとくる部分があるかもしれないし、 分からないにしても、課題の出題は先月の半ばで、講師に質問する時間的余裕もあったはず。 データオブジェクトのクラスとその集約クラスに関しては課題文と講義予定の資料から推測できるけれど、 mainメソッドを含むクラスにどの程度のことをさせるのかが不明なのがどうにも。
>>792 オマエみたいなエスパー会話要求するやつと同列なだけ。
課題にある言葉でぐぐってみたら講義のページにたどりつけたんで、そこから推測してみただけなんだが。 依頼者に対する確認の意味が大きいレスなので、意味が分からなくて混乱したのならすまん。 期限から3日で許容限界ってことで機を逸したのかもしれんが、頻繁にスレを覗いたりしないから。
>>794 なにしろ、依頼主は
>>780 で追加はxmlで読み込むといっているし、
依頼どおりに作ってもパスしない雰囲気・・・
796 :
759 :2008/08/10(日) 19:37:53
なんかいろいろと迷惑をかけてるみたいですみません;
期限は15日くらいまでは大丈夫みたいでした。
後半の講義は他の講義とかぶっててあまり行けなかったので
独自でやろうとしてもよくわかりませんでしたorz
形だけでもいいのでどなたかお願いできないでしょか?
完璧なものではなくてもある程度形になってたら評価はしてくれるそうなので・・・
>>795 仕様が自分でもよくわからないので追加がxmlで読み込むとかは推測なので;;
>>796 > 後半の講義は他の講義とかぶっててあまり行けなかったので
今時は、重複のあるような履修計画が受理されるのか?
>>797 前年に落としたのはかぶってても履修できるのです。
>>796 そもそも、
>>792 の言う、XMLEncoder/XMLDecoderを使うとか、GUIは使わないとかは合っているのか?
>>799 過去の資料をみたところ課題ではなるべくXMLEncoder/XMLDecoder
を使ってみてと書いていたのでそうだと思います。
GUIかCUIはぐぐったりしたのですがよくわからないんですよね・・・・
できればどちらかわかりやすいほうでお願いしたいですorz
>>800 三年の科目を去年落として・・・、五年生か・・・
GUI/CGIはわかるのですが今までEclipseだけ使っていたためか そこらへんは気にしてなかったのでググってみて どちらが適しているのだろうか調べた感じです。 Eclipseを使っている時点でGUIなのでしょうかね? 無知ですみません;;
演習4,5が楽しそう
808 :
759 :2008/08/10(日) 23:08:11
>>805-
>>806 CUIでしたか;
できればCUIでどなたか回答お願いできないでしょいか?
自分では力不足で・・・・お願いします<(_ _)>
>>809 返信遅くなってしまってすみません。
動作確認してみたところ正常にxmlファイルができて理想的な動作ができました!
本当に感謝します、ありがとうございました<(_ _)>
色々迷惑かけたみなさんもありがとうございました!
>>810 いや、本当のところ、オレもオマエも出題者の要求が分かってないんじゃね?
>>811 確かにそうかもしれませんね;;
ですがデータベースの形ができているので感謝してます!
質問させて下さい。
現在、スライダで図を大きくしたり小さくしたりするアプレットを作っています。
appletviewerでは問題なく表示されるのですが、HTMLを作成して表示させようとすると左上に赤いバツが出て
何も表示されません。
アプレットのクラスファイルと、画像ファイル、HTMLファイルは全て同じフォルダに入れてあります。
セキュリティの問題は調べているうちにtoolkitの使用に問題がありそうな事はわかったのですが、
クラスファイルが見つからないというエラーは全く原因がわかりません。
変数宣言等に問題があるのでしょうか?
ソースとHTML、画像ファイル、javaコンソールで表示されたエラーの入ったzipを上げさせていただきます。
ご教授宜しくお願い致します。
ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/401.zip
>>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でのアクセスの違いがわかっていない事が原因なのか、もっと違う所が駄目なのか、
完全にハマってしまいました。宜しくお願いします。
>>814 applet#getImageとかで処理するんじゃねーの
>>815 お返事有難う御座います。Imageクラスで読み込む事はいけないと言う事ですか。
やってみます。まずはお礼まで。
>>814 static final String image_file = "gachoooon.gif";
↓
static final String image_file = "
http:// <略>/gachoooon.gif";
でどうかな?
エラーログの内容的には、ローカルファイルを読みにいって、
(Java)のセキュリティにひっかかってるみたいだけど。
【 課題 】BMI(Body Mass Index)クラスを作る それを使った main含みのclassも作る。 ソースファイルは,合わせて1つ。 BMIの男性の理想は22とし,女性の場合は21とする。 キーボードから体重・身長・性別を入力すると,BMIを求めそれにより一言コメントを表示させる。 【 形態 】たぶんその他。コマンドプロンプトで動かすあれです。 【 期限 】今日の夜10時までにお願いします。 【 Ver 】1.6.0_07 【 用語 】BMI・・・体重÷身長の2乗(m) 【 補足 】クラスを二つ必要なのですが、自分にはわかりません。だれかお願いします。
>>818 普通に形態は「1.Javaアプリケーション」だと思ったんだが
そうではなくてコマンドプロンプトで動かすあれって何だ?
仕様は明瞭に
>>819 コンソールアプリケーションです。
仕様不明確にして申し訳ないです。
822 :
デフォルトの名無しさん :2008/08/13(水) 22:58:46
【課題】(最適化手法)Particle Swarm Optimization のプログラム 【 形態 】1. Javaアプリケーション 【 期限 】8月16日 23:59 【 Ver 】1.6.0_06 【補足】 完全まる投げですすみません。 よろしくお願いします。
【 課題 】2つのテキストファイルを読み込んで比較し、違いがあったら別のファイルに書き込んで出力する。 【 形態 】1. Javaアプリケーション(main()で開始) 【 期限 】提出期限8月18日12:00、解答希望日8月15日 【 Ver 】1.5.0_07 【 用語 】 【 補足 】
何を書き込むんだ
>>825 ファイル1(元になったもの)とファイル2(改変後)を読み込み、違ってる部分をファイル3に書き込むという感じです。
>>826 差分の出力形式は?適当に決めていいってこと?
テキストファイルの比較っていっても比較する単位が分からんことには、
相違部分をどれだけ書き出せばいいか分からん。
一文字違っていただけでも違っている部分は全文ですとか言って、
全部書き出すようなプログラムを作られる前にはっきりさせておいた方がいいかも
>>824 よくあるdiffライクな出力なら行単位だろうし、文字単位とか、単語単位とか。
>>827 いいみたいです。
>>828 1バイトごとに比較して、違うところだけを抽出するらしいです。
aaaaaとaaabaだったらbのところだけ、と。
830 :
デフォルトの名無しさん :2008/08/15(金) 08:54:52
>>830 30も過ぎたら、エンジニアも小手先のコーディングだけじゃなくて、
担当分野の業務知識、法知識、
部下の面倒や、
もっと大きくプロジェクトのマネージメント、
諸々の能力が求められる時期。
下働きとして入りたいと言う人間に行く先など無いだろ・・・
833 :
デフォルトの名無しさん :2008/08/16(土) 01:56:03
>>822 >>832 本当にありがとうございます!!
今やっと提出できました。
レス遅くなってすみませんでした。
834 :
デフォルトの名無しさん :2008/08/16(土) 01:57:43
間違った・・・
>>822 の方本当にありがとうございます!!
>>835 「プログラムを書きなさい」じゃなくて、「解読しなさい」だから、
25パターン試して、よさげな平文を自分で選んで提出するだけでは?
837 :
835 :2008/08/19(火) 23:48:47
>>836 入力して解読しなさいなので、プログラムを組む問題だと思います。
>>837 妥当性をプログラムで判定するわけではないでしょ?
841 :
835 :2008/08/20(水) 15:01:07
【問題】 プログラム引数を一覧するプログラムを作成して下さい。 プログラム引数が無い場合は「プログラム引数を入力して下さい」と画面に表示させて下さい。 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
for文の前に if(引数がない場合) { 「プログラム引数を入力してください」と表示 プログラム終了 }
>>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]);
}
}
}
>>843 >>844 ありがとうございます!できましたー!
引数が無い場合をどう書くか…と考えていたのですが、
引数無しの時 args.length = 0 になるのをみて、ようやく気付きました。
for文の前に if(args.length == 0){System.out.println("引数を〜");
を追加して完成しました。
こんな初歩的な質問に答えてくださってありがとうございましたm(__)m
846 :
835 :2008/08/21(木) 01:44:10
>>840 このプログラム本当に凄いと思うんですけど、
自動的に推測するアルゴリズムはどういったかんじでやっているのですか?
>>846 >>840 じゃないけど、
一番多く登場する文字をeに変換する鍵を探してる。
英語では、eがもっとも多く使われると言われているから。
848 :
835 :2008/08/21(木) 11:08:57
>>847 なるほど。理解できました。
ありがとうございます
849 :
842 :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
ソースをざっと見た感じだと、for(int j = i + 1;j<args.length;j++)辺りかな
うーん、for(int j = i + 1;j<args.length;j++){ if(a[j] < min){ で、a[i]と、a[i+1],a[i+2],a[i+3]…を順に比較していけると思ったんですが、 どうおかしいでしょうか?
>>851 a[i+1], a[i+2],... は値が代入されていないので初期値の0が入っている。
>>852 うーん、なぜ値が代入されないのでしょう。引数を入力したら、二つのfor文を経て、
小さい値の順にa[0],a[1],a[2],…と代入されていると思ってたんですが…。
その辺り、もう一度考え直してみます。ありがとうございました。
>>853 >>849 のプログラムでは、コマンドライン引数を変換して配列の各要素に代入する操作と、
ソートの操作を同時に行おうとして間違った結果になっている。
表示の部分を上の2つの操作とは別のfor文に分けているように、
最初のfor文も配列の要素への代入とソートとの二つに分離した方がたぶん間違わない。
つまり、配列の要素全部に正しい数値が代入されたのちに、ソート操作を始めるようにする。
>>849 は全部のデータが配列に入らないうちにソート(のようなこと)をしようとしている。
もちろんデータを順次読み取りつつソートを行う方法もあるけれど、
>>849 のやり方はそうではない。
少数個の引数が与えられたとき、どう動作するか、手を使い紙の上で各変数の値の変化を追いかけてみるといい。
補足すると、二つに分離した方がというのは
>>849 で
二重for文 // 配列への代入と並べ替え
for文 // 表示
になっている構成を
for文 // 配列への代入
二重for文 // 配列要素の並べ替え
for文 // 表示
にするということ。
>>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 >>842 ,
>>849 と同じ人?
宿題というよりも独習か何かの自習っぽくて、しかも期限が無いのなら、
少しやっただけで、すぐにうまくできない分からないと投げるよりも、
ウエブや書籍にある既存情報を収集して、それを基に徹底的に自分で考えて、
そうやって問題を解決する癖をつけた方がいいと思うよ。
このスレはどちらかというとプログラミングができるようになりたいというよりも、
理解はどうでもいいから期限内に宿題を提出したい人向けって気がする。
向上心はありそうだし、時間は十分あるわけだし、
短期間に続けざまに問題を投げるくらいなら、もう少し自力でがんばってみては?
問題を解くに当たっての疑問点とかが絞れそうなら、
そこだけを質問スレで質問してみるとかもいいかもしれない。
疑問を自分の言葉で整理して説明するのも理解を進める上で役に立つので。
単に「うまくできません」ではなく、
こうだからこうなると思ってこうやったけれどこういう風にうまくできないとか。
859 :
858 :2008/08/24(日) 01:41:46
確かにそうですね。テストが近いので焦っていました。 質問スレで要点だけ聞いてみようと思います。
860 :
842 :2008/08/24(日) 11:46:01
あ、今スレ覗いてみたので、一応。
私は
>>857 の方とは別人です。課題はおかげさまで全てできました。
ありがとうございます。
【 課題 】ハノイの塔を作成せよ。 その際、早さ、円盤の数を変更できるように作成する事 【 形態 】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の二つずつのペアを使い、
}
}
864 :
デフォルトの名無しさん :2008/08/31(日) 17:39:49
>>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
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種類の図形を抜き出す。 全然理解できないのでどなたかお願いします。
>>870 画像を読み込むのは、画像が入ってるディレクトリを選ばせる感じで良いですか?
>>872 勘違いしすぎだろw
パターンマッチングだろ?
どんまい! 修正版期待!
Javaでデータベースを利用したサーブレット作成の宿題があったんですけど、 一応自分でmysqlを使って作ったのですが、こういうものってDBへの接続時に使う ユーザ名とパスワードは普通プログラムの中に書いちゃって良いんでしょうか? ユーザは見れないといえどrootのパスとかがプログラムの中で丸見えになってたりして良いのかな?と。
>>876 宿題なら構わないんじゃないかな。
それが本物の成績の入ったDBとかじゃないければw
>>877 ありがとうございます。
ちなみに実務だったらユーザ名とかパスワードなんかは暗号化したファイルに入れて、
そこから復号化してDB接続の関数に渡したりするんですか?
なんで復号化すんだよw パスワードが復号できたら意味無いじゃんw
881 :
デフォルトの名無しさん :2008/09/03(水) 16:22:34
>>880 あれ?復号化しないとDriverManager#getConnectionの引数にどうやって渡したらいいんですか??
>>882 ユーザ名とパスワードなんだから、
プロンプトなりダイアログなり出してユーザに入力させるのが普通じゃね?
>>884 通常のアプリとかな起動→入力待ちにすると思うんですけど、
サーブレットってずっと動いててそこにユーザがアクセスしてくる感じですよね。
そうすると動かす側がDB接続のユーザ名とかを入力するタイミングって存在しなくないですか?
tomcatなんかのアプリケーションサーバ起動→ユーザのアクセス待ちな感じだから。
886 :
デフォルトの名無しさん :2008/09/03(水) 17:47:16
>>885 システムインターフェースが見えない。
ログインシステムがあって、DBにアクセスするのか
常に起動してあって、そこに随時アクセスするのか
それ次第でやり方はいくらでも。
>>886 えっと、amazonみたいなショッピングサイトを作ってくるっていうのが宿題の内容です。
ユーザは一般ユーザと管理ユーザの二者を想定して、一般ユーザは普通に買い物して、
管理ユーザは商品を追加したり削除したりといった管理が出来ます。
一般ユーザのログインはamazonみたいな感じで、管理ユーザは管理用のページからIDとパスでログインします。
このシステム自体は常に起動してあって、一般ユーザも管理ユーザもそこにアクセスする感じです。
>>887 そのショッピングサイトに一般ユーザや管理ユーザがアクセスすることと、
そのサイトで使用しているDBにアクセスすることとは分けて考えた方がいい。
DBに直接アクセスできるのはユーザではなくサイトで動作しているプログラム。
> そうすると動かす側がDB接続のユーザ名とかを入力するタイミングって存在しなくないですか?
そうするとこれは、プログラム自身の持つアカウントでもって任意のタイミングでDBへ接続できる。
一般ユーザと管理ユーザの区別はDB接続のアカウントとは別のもので、
DBを操作するプログラムの使用権を得るアカウントとして表面上はプログラム自身が管理する。
実態としてプログラム自身の管理でなく、このアカウントを管理するDBを裏で使ってもいい。
使用権の違いでDBへの操作に制限を設けたりするのはプログラムが行う。
一般ユーザや管理ユーザのアカウントは実際の使用時にユーザ自身によって入力させ、
裏で接続するDBへのアカウントは宿題レベルならプログラムコードに書くとかでもいいと思うし、
サイトユーザにはアクセスできないプログラムとは別の場所に置いたリソースから読み取るようにしてもいい。
それを平文のまま置くとか暗号化するとかは好きなようにできる。
ところで、宿題をやってもらいたいならテンプレを書いた方がいいと思う。
単なる質問なら今度からは質問スレへどうぞ。
889 :
870 :2008/09/03(水) 20:39:17
890 :
870 :2008/09/03(水) 20:58:43
>>878 新しく自分で画像を作った場合動かないんですが
サイズが違う場合はどうすればいいのでしょうか?
>>890 サイズが違う場合、というのはテンプレートの前景画素のパターンと、パターンを探す画像に含まれる探したいパターンのサイズが違う場合という意味です。
もしそのサイズが異なるものを使用したい場合はこの簡単な手法ではだめです。
プログラミングの課題としての答えであればこの程度で十分だと思うのですが・・
すみません。 ループ回数が一つ足りてませんでした。 3重ループの外側二つの範囲を1プラスしておいてください。
>>876 今さらだけど、余裕があるならコネクションプールはっとくのもいいよ(*‘ω‘ *)
【 課題 】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を実行し、その結果を貼ります。 《必須》 【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》 【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。 丸投げでない場合は、途中までのソースとその経過報告、 質問点、疑問点を書きます(なるべく丸投げにしてください)。 よろしくお願いします。
895 :
894 :2008/09/04(木) 19:31:36
>>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);
}
};
897 :
895 :2008/09/04(木) 21:10:16
>>896 結構急いでいたので、凄く助かりました(^^)
ありがとうございます(^^)あなたは神様です。
899 :
デフォルトの名無しさん :2008/09/05(金) 01:11:24
ばれてほしいねw 誰か教授にメールしたら?w
麻雀の板じゃねえか、しかも確率の話なんてだれもしてねえぞ
>>896 >>897 それ違うんじゃないか。
課題12の元になってる課題8で作ったのは、恐らく標準入力から一行ずつ数値を入力するタイプだろう。
903 :
デフォルトの名無しさん :2008/09/05(金) 04:22:16
905 :
デフォルトの名無しさん :2008/09/05(金) 22:01:03
>>904 動作確認しました。
これからソースを追いかけ、自分でも組むことができるように勉強したいと思いますw
今回はどうもありがとうございました。
906 :
:2008/09/05(金) 23:54:48
課題にurlだけじゃなw どういう課題なのかぐらい書けないのかよw
課題のjpgにはアプレットと書いてあるよーに見えるんだがw
909 :
デフォルトの名無しさん :2008/09/06(土) 02:53:50
UTF-8の文字列をShift-JISに変換させるサンプルを下さい。 Javaってこんなに文字列操作が苦手と思わなかった。
>>909 String#getBytes("Shift_JIS")
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 --------------------------------------------------------------- こんな風にエラーになります。 何が原因でしょうか?
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);} }
916 :
915 :2008/09/06(土) 18:24:29
どちら様かよろしくお願いいたします。
>>915 >メインメソッドでテストされたパラメタが二つのうちの一つが入力済みかどうか
等の文の意味が分かんないんだが。
標準入力から2値(String or Integer)を入力してSortedPairオブジェクトを
作ってソートされているのを表示して確認しろってことなのか?
oneMatch や twoMatch は、標準入力から2値を得る際に本当に入力されているか
(空文字、改行のみ等じゃないか)をチェックするメソッドか?
元になる課題文があるならそれを公開してくれ。
>>913 環境変数JAVA_HOMEにjdkのディレクトリが正しくセットされてない。
920 :
918 :2008/09/07(日) 01:48:27
921 :
915 :2008/09/07(日) 03:53:11
>917 お世話になります。元になる課題文が無く、うまく言葉で説明できず分かりづらい部分がありました。もう少し詳しく説明しますと、 oneMatchメソッドは渡された1値が2つの内いずれか一つかを確認する。 twoMatchメソッドはSortedPairにある二値がSortedPairに渡された二値と一致するかを確信し、そうであればtrueを返す。 ですから今回のコードから例えますと、メインメソッドではoneMatchを確認する際、ABCと入力する[SortedPairに渡されている値です]的なメッセージをプロンプトさせます。 twoMatchの場合は,-987と987を入力すると「二値は渡されています」的なメッセージを返します。 逆にそれ以外のInteger, Stringを入力した場合は何も一致しないという内容のメッセージを表示させます。空文字null valueなどの確認は不要になります。 よろしくお願いいたします。
922 :
918 :2008/09/07(日) 11:54:42
すいません自己解決しました。申し訳ないです。
【 課題 】○テキスト表現によるサーバ、クライアントシステムの作成 ・サーバ:クライアントからの接続要求が来る度にそのクライアント用のサーバ・スレッドを起動し、 クライアントから送信された文字列を標準出力にエコーし、同時に内容をdoubleとして解釈し その平方根をクライアントに応答として送り返す。 ・クライアント:サーバに接続した後、標準入力から一行のテキストを読み込み、 それをサーバに送付し、サーバからの応答を標準出力に出力する。 ヒント:平方根の計算はMathクラスのsqrt()メソッドを使う。 【 形態 】1. Javaアプリケーション(main()で開始) 【 期限 】9月10日 【 Ver 】1.6.0_07 よろしくお願いします。
>>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("二値は渡されていません");
}
926 :
925 :2008/09/07(日) 17:38:29
あ、 >・クライアント:サーバに接続した後、標準入力から一行のテキストを読み込み、 逆にしちまったぃ。ダメなら自分で直してくれw
927 :
915 :2008/09/08(月) 03:37:27
>924 天才。ありがとうございます。
>>927 作りたいプログラムの説明が上手くないのは、プログラムに何が必要ということと、
それをどういう言葉で表現すればいいのかを分かってないからだろう。
メソッドなら引数や戻値、型とかをはっきりさせてくれな。
JavaDoc の書き方を参考にするといいかもしれない。
>>925 ありがとうございました。
その部分は自分で直してみます。
930 :
デフォルトの名無しさん :2008/09/11(木) 12:17:16
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:ウサギ ------------------------------------------------- とにかく番号順に並び変わればよいそうです。 どなたかご指導お願いいたします。
>>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です。 よろしくお願い致します。
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さん申し訳ありません。以後気を付けます。
>>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);
}}}
Windows だと標準入力に ^Z 送ると System.in が EOF になっちまうんだが… どうすりゃいいんだ?
944 :
デフォルトの名無しさん :2008/09/11(木) 16:58:08
>>943 すいません、Zでお願いいたしますm(_ _)m
946 :
デフォルトの名無しさん :2008/09/12(金) 07:04:53
>>945 945様、お早い回答ありがとうございます!
助かりました^^
心の底から感謝いたしますm(_ _)m
test
はじめましてJava初心者です。 丸なげで申し訳ございませんが宜しくお願いします 【課題】 それぞれのプロパティには決められたフォーマットがあり、それに基づきなさい。 フォーマットが異なる場合はそれを通知する isError(int type,・・) メソッドにてtrue又はfalseを 返すメソッドを定義しなさい。引数のtypeはそれぞれのプロパティーの整合性結果を知ることができる様に実装しなさい。 また、このTypeに相当する定数を定義しなさい。 【 形態 】1. Javaアプリケーション(main()で開始) 【 期限 】9月12日(できれば今日中に) 【Ver】 java version "1.6.0_05"
>>948 一連の課題の一部か何かか?
「それぞれのプロパティ」ってなんだ?
「決められたフォーマット」は?
「基づきなさい」って何をしろと?
問い2:Infomationクラスにはコンストラクタがあり、全ての引数がコンストラクタを用いて初期化できる。 また引数が指定されていない時は下記のデフォルトが設定されている。 名前:ミッキーマウス 住所:千葉県浦安市舞浜 電話:不明 年齢:秘密 上記の問題のつぎの問題になります。申し送れてすみません! あと・・・問い1:Infomationクラスにはname,age,adress,telephonNoの4つのプロパティがある。 それぞれのプロパティーにはゲッターとセッターが定義されている。
952 :
ウォン :2008/09/12(金) 16:14:47
942さんありがとうございました。
>>948 日本語的にひどくないか?
isErrorメソッドは、typeによってどのプロパティのエラーチェックをするのか指定するということ?
そんな方法絶対使わないけどw
きちんと課題を書くことも出来ないのかよw
>>955 人類の中でも、最もやる気の無い部類だからな。
大学は卒業率85%とか聞いたので、この種の人々が卒業しないまま去ってゆくのだろう。
やる気の有無は知らないが、分からない人間が適当に略すとこうなるという典型だな。
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
【 補足 】掲示板で回答するには長いコードになってしまうのでそれぞれのメソッドとメインのコードのみをいただければで結構です。少し量が多く大変恐縮ですが、どうぞよろしくお願いします。
>>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; }
>>961 参考になる答えは無かったからって理由でトピック消すんだぜ?
答えてやるなよ
963 :
デフォルトの名無しさん :2008/09/15(月) 14:35:14
>>962 トピックを消して誰が損するの?トピ主と書き込んだ人のコミュニケーションによるんじゃない?俺氏らね。
>>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;
}
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++; } }
// 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());
// 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());
>>963 そういう思想を持ってると、いつか酷いめになりますよ。
>>964-967 1個に収まらないならうpろだに入れろよw
で、
>【 GUI 】1. AWTのみ
じゃね?
970 :
名無し氏 :2008/09/16(火) 09:48:32
【 課題 】Eclipseを用いてスケジュール管理ソフトを作成する 【 形態 】1. Javaアプリケーション(main()で開始) 【 GUI 】すいません、何のことだか分からないです; 【 期限 】9/17(23時くらいまでに) 【 補足 】含める機能として「ファイル入出力」(テキストファイルの読み出し・書き出し) をつけることが必須条件とされています。 スケジュールの内容は「時間・学年・行事」を日付ごとに分かるように表示しなければなりません。 ちなみに、自分のJAVAに関する知識が本当に初心者レベルなので、 あまりに凝った記述は避けていただければ助かります; また、ソースの説明を簡単にコメントとして記述しておいてもらえるとなお有り難いです。 丸投げですみませんが、宜しくお願いします。
>>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 ご丁寧な対応をどうもありがとうございます。
大変助かりました。本当にどうもありがとうございました。
いわゆるスケジューラーなのかただのTODOリストなのかよく分からん説明だな。 まあ、カレンダーとか言ってるからスケジューラーなんだろうけど。 さあ誰かカレンダーコンポーネントを作る作業に入ろうか・・・。
976 :
名無し氏 :2008/09/16(火) 23:09:51
またまた説明不足ですみません; カレンダーの日付をクリックすると「時間・学年・行事」を書き込める、 スケジューラーのjavaアプリケーションです。 なので、TODOリストでなくカレンダー形式のスケジューラーとしてお願いしたいです。
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); } } }
インターフェースって習ってないのか?
985 :
ウォン :2008/09/17(水) 18:12:40
申し訳ないです、習っていません。
>>983 の何をどう応用しろと言ってるのか意図が分からないんだけど俺が馬鹿?
987 :
942 :2008/09/17(水) 20:10:18
標準入力からなのに2パスでやれと?w ArrayList<String> をちゃんと教えてやってくれれば こんなとこに配列なんて使わんて>講師
インターフェースすら教えてないのにコレクションなんて教えてるわけないだろ。 どうせコレクションの再開発やらせるのが落ちだろ。(わけわからん糞仕様で) java教えるならコレクションはアルゴリズムだけで良いよ。
>>987 >>979 に「txtファイルを読み込んだときに」ってあるから
標準入力ではないと思う。
…が、非常に答える気の起きない課題だなぁ。。。
990 :
942 :2008/09/17(水) 20:40:41
なるほど。納得。 失礼しました。
>>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");
とか。
うげ
>>993 >if(all != "") all += "\r\n";
↓
if(all.length() > 0) all += "\r\n";