[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/24 18:23 / Filesize : 383 KB / Number-of Response : 978
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:JavaScriptは板違い、Web制作板をご利用ください。 [2007/01/20(土) 22:34:12 ]
【質問者へ】
回答者の便宜のため、以下の注意事項を遵守してください。
・質問は【課題提示用テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・数学問題は「○×法でせよ」だけでなく、その数式、前提条件も説明してください。
・JavaScriptは板違い、Web制作板をご利用ください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・回答されたら動作報告を必ずしてください。

【課題提示用テンプレ】
【 課題 】与えられた課題文をそのまま書きます。 《必須》
【 形態 】1. Javaアプリケーション(main()で開始)/2. Applet/3. Servlet/
       4. 携帯(開発環境のver.必須)/5. その他(明記のこと) 《必ず選択》
【 GUI  】1. AWTのみ/2. Swing/3. SWT/4. 制限なし/ 5. その他(明記すること)
       《GUIの課題の場合必ず選択》
【 期限 】提出期限、解答希望日を書きます。「できるだけ早く」はNG。 《必須》
【 Ver  】コンソールでjava -versionを実行し、その結果を貼ります。 《必須》
【 用語 】数学用語、専門用語の意味、説明を書きます。 《あれば必須》
【 補足 】課題について自分なりに補足する事、何か思う事があれば書きます。
       丸投げでない場合は、途中までのソースとその経過報告、
       質問点、疑問点を書きます(なるべく丸投げにしてください)。

【回答プログラムの掲載場所】
Java質問スレWiki  www.wikiroom.com/java/
ソースポストネット  sourcepost.sytes.net/

【前スレ】
pc10.2ch.net/test/read.cgi/tech/1165167516/

286 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 20:38:17 ]
怖かったらトリでもつけて質問すれば?

287 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 00:07:01 ]
261がマルチだろうとマルチを騙られたにしても真実は関係ない。
実際に存在するレスから各回答者が判断するだけだ。
マルチでも構わんっていう回答者だっているかもしれんしな。
依頼者は少しでもリスクを減らしたいならトリップを付けるべき。

288 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 00:50:38 ]
トリップ推奨とかどんどんC/C++宿題スレと似てくるなあ。
まあ、向こうの方が歴史あるからな。

289 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 02:37:57 ]
言語は違え、宿題スレは宿題スレだから、似た傾向になるのは仕方ないかも。
窮屈な方向に進むのは褒められたことではないけど。

290 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 21:52:34 ]
>>283
>たぶん僕にはできませんから。

普通こういう場合って、単位落としていいんじゃないかと思うが・・・
態度によっては・・・、とした場合も態度も最悪だしなぁ・・・・

291 名前:デフォルトの名無しさん [2007/02/05(月) 06:08:30 ]
>>261
ttp://a-draw.com/uploader/src/up13740.zip.html

一応、動いた。

292 名前:あぁ、無情 mailto:sage [2007/02/05(月) 11:57:27 ]
>>291
解凍してもバイナリファイル1つだけだったよ・・・

293 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 14:50:08 ]
【 課題 】JAVAアプレットをアプリケーションでも動かす
【 形態 】Javaアプリケーション(main()で開始)/2. Applet
【 GUI  】1. AWT Swing
【 期限 】2月7日
【 Ver  】java version "1.5.0_06"
【 補足 】前に質問した者ですが、アプリケーションを作るまではできたのですが起動まではしてくれません
      すいませんがお願いします


294 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 14:50:48 ]
重ねてすいませんソース貼り付け忘れました
ttp://sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29178



295 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 15:52:56 ]
>>293
何で投げっぱなし・・・
どう悪いから起動しないとかかいといたほうがいいだろ・・・
って、そんな気が利くほどのヤツなら自分でエラー見ながら出来てるか・・・

296 名前:デフォルトの名無しさん [2007/02/05(月) 22:14:25 ]
【 課題 】a-draw.com/uploader/src/up13802.txt
【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】2/8
【 Ver  】1.4.2

297 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 00:37:48 ]
>>296
中央値って57.61になる?

298 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 00:51:42 ]
>>296
public class A {
public static void main(String[] args) throws java.io.IOException {
java.io.BufferedReader in = null;
try {
in = new java.io.BufferedReader(new java.io.FileReader("(ファイル)"));
int n = Integer.parseInt(in.readLine());
double[] a = new double[n];
double min = Double.MAX_VALUE, max = Double.MIN_VALUE, mean = 0.0, var = 0.0;
for (int i = 0; i < n; i++) {
a[i] = Double.parseDouble(in.readLine());
if (a[i] < min) min = a[i];
if (a[i] > max) max = a[i];
mean += a[i] / n;
var += a[i] * a[i] / n;
}
var -= mean * mean;
java.util.Arrays.sort(a);
double med = n % 2 == 0 ? (a[n / 2 - 1] + a[n / 2]) / 2 : a[n / 2];
System.out.println("最小値 " + min);
System.out.println("最大値 " + max);
System.out.println("平均値 " + mean);
System.out.println("中央値 " + med);
System.out.println("分散 " + var);
} finally {
if (in != null) in.close();
}
}
}

299 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 00:52:50 ]
>>297
たぶんならない。56.77になった。

300 名前:296 [2007/02/06(火) 01:01:10 ]
無事実行できました。ありがとうございました。

301 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:09:02 ]
>>299
それも含めて引っかけか?

302 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:19:55 ]
>>301
かもね。直接ソートしてみたけど、やっぱり56.77が中央値っぽい。
誤りかどうか判断の最終責任はプログラムを受け入れる依頼者にってことで。

実行例があるとプログラムを作りやすいけど、
それに誤りが含まれてるとプログラミングと違うところで悩んでしまう。

303 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:31:27 ]
>>296
すまん。ソース間違ってる。
double min = Double.MAX_VALUE, max = Double.MIN_VALUE, mean = 0.0, var = 0.0;
は、
double min = Double.MAX_VALUE, max = -Double.MAX_VALUE, mean = 0.0, var = 0.0;
だ。例のファイルは正数ばっかりだから答が誤ってるわけではないけど。
負数が入ったデータだとバグが丸分かりになる。

304 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:34:54 ]
>>303
>負数が入ったデータだと
負数ばかりが入ったデータだと



305 名前:デフォルトの名無しさん [2007/02/06(火) 03:12:32 ]
はじめまして。

【 課題 】ユーザから与えられたクエリーをクエリー文字列に変換し、3つのサーチエンジン(goo,excite、BIGLOBE)に
検索をかけ、それぞれのヒット数を表示するプログラム。
【 形態 】スレッドを使用したいのですが・・・。面倒なら結構です。
【 GUI  】2. Swing(レイアウトは適当で結構です)
【 期限 】2月7日昼1時まで
【 Ver  】1.4.2

どうぞ宜しくお願いします。

306 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 03:23:51 ]
>>305
補足資料として、もう一度自分で調べなおしてみた結果は公開しないの?

307 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 03:24:53 ]
ちょ、おま、さっきのあっちでの質問はその前振りか!?
それとも同じ課題出された奴らか・・・
やっぱ、丸投げより自分で考えてるあっちのヤツを応援したいから、こっちはスルーすることにしよう

308 名前:305 [2007/02/06(火) 03:35:41 ]
>>306
えっと、書き込むのは今回が初めてなので・・・307の言うとおり、
どうやら私と同じ問題を出されたようですね。
>>307
私も自分で考えてぐぐったりしているのですが、どうも思いつかず
こちらに書き込ませて頂きました。
甘えて申し訳ありません!



309 名前:幼女コゼット(3ちゃい) mailto:sage [2007/02/06(火) 09:37:33 ]
仕事ならまだしも、その他でVer1.4.2使う(学ぶ)のはいかがなものなんでしょう?
SE6.0正式リリースされて数ヶ月経つのに・・・
という事で、1.4.2以下はパス

310 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 11:38:11 ]
【 課題 】JformattedTextFieldを利用し、時計の形態で入力できるようにする
【 形態 】1. Javaアプリケーション
【 GUI 】2. Swing
【 期限 】2月8日
【 Ver  】java version "1.5.0_06"
【 補足 】課題の説明が上手く出来ず申し訳ないです。下記のソースで補足します


311 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 11:39:07 ]
import java.util.Date;
import java.text.SimpleDateFormat;
import javax.swing.Box;
import javax.swing.JFormattedTextField;
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;

public class FormatClock {
public static void main(String[] args) throws Exception {
Box form = Box.createVerticalBox();
//@
JFormattedTextField birthdayField = new JFormattedTextField(new SimpleDateFormat("HH:mm:ss"));
birthdayField.setValue(new Date());
form.add(birthdayField);
//A
JFormattedTextField phoneField = new JFormattedTextField(new MaskFormatter("##:##:##"));
phoneField.setValue("12:34:56");
form.add(phoneField);

JFrame frame = new JFrame("FormatClock");
frame.getContentPane().add(form);
frame.pack();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}

@とAを両立させたいのですがどのようにすればいいのでしょうか?


312 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 15:55:27 ]
>>310-311
@とAを両立したいとは、片方の時間が修正されたら、
もう片方の時間も同じにしたいということなのかな?
何をどう両立したいのか詳しく書かないと誰もやってくれないよ

313 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 15:55:54 ]
>>310
機種依存文字使うなよー

// (1)
JFormattedTextField birthdayField = new JFormattedTextField(new SimpleDateFormat("HH:mm:ss"));
new MaskFormatter("##:##:##").install(birthdayField); <== コレ
birthdayField.setValue(new Date());
form.add(birthdayField);

314 名前:313 mailto:sage [2007/02/06(火) 15:57:33 ]
あ、そーいう解釈もあったな >>312
とりあえず、
・ 入力値はHH:mm:ssに限定
・ キーは数字のみ受け付ける
という点を両立させてみた。



315 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 16:20:11 ]
>>312
すいません、確かに見直すと意味分からないですね…

@では入力できる数字の範囲が時計に準じてる(秒だったら0〜59)機能と
Aの字数制限が設定されている機能を併せたモノを作りたい、という意味です


>>313
>"##:##:##"
のことでしょうか?
これはMaskFormatterクラスの任意の有効な数字を指定する#を使いましたので
文字化けではないです

316 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 16:59:49 ]
多分@とかAの事を言ってるんだと思うぞ。>機種依存文字

317 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 17:05:55 ]
そうなんですか
@とAは場所を示すためだけに付けたのですが、普通にコメントにしておけば良かったです
すみません

318 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 17:36:38 ]
@やAはUnicodeに入っているからJavaで正しく扱えば問題は起きない
Javaは動いている環境デフォルトの文字コード→Unicodeへのマッピングをちゃんと持っている
仕事で使うときは、Windows-31Jとかを活用するんだよー
機種依存文字という名称は問題を正しく表していないので気をつけて〜

未だ、機種依存文字が・・・、と言ってるJava技術者は気をつけてね♥

# フォントにグリフが無いのはまた別の問題ね
# V2C使ってるオレは勝ち組!

319 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 18:16:03 ]
>>318
お前は馬鹿か?このスレで使われてる文字セットは何なのか言ってみろ

320 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 18:21:01 ]
>>310
んで、どーなのよ?
>>313 の方法とは違うのか? だったら説明しろ

321 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 18:30:23 ]
>>318
多分Java関係無くて、BBSで使うなって事だと思うぞ。>機種依存文字使うなよー

後、>>313の 「<== コレ 」も意図が伝わってないような気がする。
多分「ここに注目!」とか「こうすれば両立できる!」って事だと思うが。
>>310は理解してるのかな?

322 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 20:14:50 ]
>>320
すいません>>321さんの言うように勘違いしていました

>>313の部分を追加してみたのですが、変化が無いようです
2のように入力時に2桁ずつしか入力出来ないようにしたいのですが…

何度もすいません

323 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 05:49:50 ]
>>319
Shift_JISといいつつWindows-31Jだと思う。
ちなみに、MacOSXでもWindowsでも、このスレの丸数字は普通に見えるよ。
SafariでもFirefoxでも大丈夫。

今、丸数字が見れない環境って何だろ?

324 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 10:41:15 ]
>>323
ネクストPC アッー!!



325 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 13:52:42 ]
>>322
こういう感じか?
sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29181

326 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 14:43:46 ]
>>325
そんな感じです!

あとWindowsの「日付と時刻のプロパティ」の時計のように
25時や63分のような数字を入力できない(キーを押しても表示されない)
ようにしたいのです

本当に説明下手ですいません

327 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 16:13:39 ]
どんどん仕様が加えられていくな。
性質の悪いクライアントに当たった感じだ。

328 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 16:34:13 ]
>>315の説明を解りやすくしようと思って書いたのですが…逆効果でしたかね…


329 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 17:02:45 ]
>>328
仕様変更でなく最初からそういう機能が必要だったのなら
最初に依頼する時に分かりやすく説明してくれていればよかったけどね
一番いいのは問題文を自分で解釈して説明せずに原文のまま出すことだけど

330 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 17:12:31 ]
口頭で伝えられたのでこんな解りにくい説明になってしまいましたが、もうちょっと推敲するべきでした
みなさんを混乱させてしまい申し訳ないです

331 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 17:27:58 ]
よく知らないんだがざっくり作ってみた。
sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29182
正規表現のフィルターって無かったっけ?
どうも無駄な事をしてる気がする……。

332 名前:あい mailto:sage [2007/02/07(水) 17:28:40 ]
>>323
漢字Talk

333 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 17:52:25 ]
>>331
こ、これです!!
ありがとうございます!

付き合って下さった皆様方、本当にありがとうございました
そしてご迷惑をおかけしました

334 名前:デフォルトの名無しさん [2007/02/08(木) 23:01:05 ]
【 課題 】txtファイルに書かれた値(商品コード、工場コード)を読み取る→
      その値からデータベースを検索→
      結果をcsvファイルで出力。
      
      txtファイル読み込みクラス、CSVファイル出力クラス、DB接続クラス、DB検索クラスは
      それぞれ別ファイルで作成する。
     
      [資料]
/*------DBテーブル構成-------------*/
      ★商品テーブル
      *商品コード   *商品
       01      テレビ
       02      ラジオ
       03      掃除機
       04      洗濯機
       05      冷蔵庫

      ★生産工場
      *工場コード  *工場名
       11     東京
       12     神奈川
       13     埼玉
       14     千葉
       15     茨城
【 形態 】1.Javaアプリケーション(main()で開始)
【 GUI  】4・制限なし
【 期限 】2月14日・午前10時
【 Ver  】1.5.0_09
【 補足 】課題内容の説明が不十分ですが、よろしくお願いいたします。



335 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 05:54:27 ]
> 334
>【 補足 】課題内容の説明が不十分ですが、よろしくお願いいたします。
不十分だと思う課題の説明をこの【 補足 】の項でしてくれよ。。。
「よろしくお願いいたします」とかどーでもいーからさー。。

336 名前:デフォルトの名無しさん [2007/02/09(金) 09:38:27 ]
del パス名

で指定したファイルを削除するプログラムってどう作ればいいですか??

337 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 09:47:42 ]
>>336
【初心者】Java質問・相談スレッド97【大歓迎】
pc10.2ch.net/test/read.cgi/tech/1170391493/367

367 名前:デフォルトの名無しさん[] 投稿日:2007/02/09(金) 09:36:26
del パス名

でディレクトリ削除するプログラムってどうつくる?



マルチ死ね

338 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 10:15:58 ]
>>334
足りない情報を確認してみようか

1. DBを使うと書いているが、DBの種類(*1)はなんでもいいのか?
2. txtファイルに書かれた値(商品コード、工場コード)の形式(値区切り)は何か?
3. 2の値は各1種類以内なのか複数あるのか?

*1 一部DBには、属性名にバイト文字(日本語)が使えない場合がある

339 名前:334 [2007/02/09(金) 11:07:11 ]
>335
>338
ご指摘ありがとうございます。
1、DBはAccessを使用
2、値区切りは「行区切り」
3、各値は1種類
です。

340 名前:デフォルトの名無しさん [2007/02/09(金) 13:24:14 ]
【 課題 】魚眼画像を平面画像(平面透視投影画像)に変換せよ。
【 形態 】1. Javaアプリケーション(main()で開始
【 GUI  】2. Swing
【 期限 】提出期限2/13なので12日位、11日だとかなり助かります。。
【 Ver  】java version "1.5.0_06"  
【 補足 】丸投げです。。だいぶ厳しいのでよろしくお願いします。。


341 名前:338 mailto:sage [2007/02/09(金) 13:46:39 ]
>>339
>1、DBはAccessを使用
( ゚д゚ )!? Access95買って以来VerUpしてないな・・・パスだなこりゃ

342 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 13:57:07 ]
>>340
これは画像処理専門にしている方じゃないと厳しいね
Java画像処理専門技術者はかなり少ないと思うよ
前スレでも同じ内容上がっていたけど、みんな素通りだったから今回も無理じゃない

343 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 14:31:48 ]
>>340
魚眼画像のサンプルと、画像変換の式(魚眼→平面画像の座標変換式)を提示すれば、
回答される期待値は上昇すると思われ。変換式はまさにテンプレの用語欄で説明するべきこと。

344 名前:デフォルトの名無しさん [2007/02/09(金) 15:39:40 ]
C++でのソースはあるのですがjavaに書き換えれません・・・。
sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29187
魚眼画像
image-search.yahoo.co.jp/detail?p=%e9%ad%9a%e7%9c%bc&cop=&ib=4



345 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 17:53:50 ]
>>344
これOpenCV?
そのまんまじゃ書き換えられないから、Canvasとかに書き出してGraphics取り出せば。
java2dとかでググってみて。

346 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 19:31:04 ]
宜しくお願いします

【 課題 】プログラムを変更し、「write ファイル名」とクライアントから入力すると
指定されたファイルにstatコマンドの出力と同じ内容を出力するようプログラムを作成せよ

【 形態 】1. Javaアプリケーション(main()で開始)
【 期限 】2/11(日) 18時
【 Ver  】1.5.0_10
【 補足 】プログラム:
sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29189

clientProcクラスのrunメソッドをいじればできると思います
変更点のみ教えて頂ければ幸いです、馬鹿でごめんなさい

347 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 20:16:08 ]
>>346
全部書くの面倒だからヒントだけ。

st.nextToken() をもう一回やると "write" の次の単語が取り出せるので、
それに対して stat を行う。

stat が Linux の stat コマンドのことだとすると、Runtime.exec() で
stat コマンドを実行してしまった方が楽だ。あとはその出力を拾って
out.print() に渡すだけ。


348 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 21:12:19 ]
【 課題 】繰り返し二乗法
【 形態 】1. Javaアプリケーション(main()で開始)/
【 期限 】2/11
【 Ver  】java version "1.5.0_10"
【 用語 】
例)325^30(mod 23)の計算。

30を2進数表示   30=11110(2)
325^2,325^4,325^8,325^16を計算
325^2 =105625 ≡9  
325^4 ≡92 =81 ≡12
325^8 ≡122 =144 ≡6
325^16 ≡62 =36 ≡13

325^30mod23を計算
325^30 =325^16×325^8×325^4×325^2
≡13×6×12×9
=78×108
≡9×16
=144
≡6

【 補足 】用語にあるような動作をして結果を出力するプログラムを書けというのが課題です。
      宜しくお願いします。


349 名前:あぁ、無情 mailto:sage [2007/02/10(土) 00:54:32 ]
期限         レス番号
---------------------------
2/11         >>348
2/12         >>340
2/14         >>335

350 名前:間違えた mailto:sage [2007/02/10(土) 00:55:44 ]
期限         レス番号
---------------------------
2/11         >>348
2/12         >>340
2/14         >>334

351 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 02:25:54 ]
>>348
public class A {
public static void main(String[] args) {
long n = 325;
long e = 30;
long m = 23;
System.out.println(n + "^" + e + "(mod " + m + ") = " + java.math.BigInteger.valueOf(n).modPow(java.math.BigInteger.valueOf(e), java.math.BigInteger.valueOf(m)));
/*System.out.println(n + "^" + e + "(mod " + m + ") = " + modPow(n, e, m));*/
}
/*private static long modPow(long n, long e, long m) {
long p = n % m;
long q = 1;
while (e > 0) {
if (e % 2 != 0) {
q *= p;
q %= m;
}
e /= 2;
p *= p;
p %= m;
}
return q;
}*/
}
例示された325の冪乗計算の途中がおかしいような。結果は合っているけど。
325^a(mod m) = ((325^(a/2)(mod m))^2)(mod m)を利用。例えば、23を法として、325≡3、325^2≡3*3≡9、325^4≡9*9≡12、...
ビットが立ってる桁も順番に掛け算するたびにmodを求めている。

352 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 04:16:45 ]
>>347
ありがとうございます、少し考えてみます。

353 名前:デフォルトの名無しさん [2007/02/10(土) 21:21:44 ]
【 課題 】五目並べの盤面とPASSボタン、RESETボタンを作成せよ。(ボタンはSwingを使って作成すること)
【 形態 】2. Applet
【 GUI  】2. Swing
【 期限 】2007/02/11
【 Ver  】java version "1.5.0_04"
【 補足 】盤面はできているのですがマウスをボタンのところに持っていかないとボタンが表示しません。
      できればアプレットを立ち上げたと同時にボタンも表示したいです。
      途中までのソースを>>353に貼ります。


354 名前:353 [2007/02/10(土) 21:24:00 ]
間違いました354と355と356に貼ります
/*
<applet code="Gomoku_swing_2.class" width=400 height=380>
</applet>
*/

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

public class Gomoku_swing_2 extends JApplet implements MouseListener,ActionListener{

int n = 8; //盤面のマス目
int num = 9; //石を置く場所のマス目
int stone[] = new int[81]; //石の状況(0:黒、1:白、2:なし)
int square = 16; //マス目の幅
int turn; //順番(0:黒、1:白)
int margin = 120; //端まで行かないように余裕をとる
int delt = 5; //余白
int rad = 10; //石の直径
int num_b; //黒石の数
int num_w; //白石の数
boolean place; //石が置けるかどうか
boolean flag; //ゲームが終了かどうか
int you; //ユーザーの石(0:黒、1:白)
boolean win = false; //前のゲームは勝ちかどうか

Dimension d; //表示領域

Container cnt = getContentPane();
JButton BT[] = new JButton[2];




355 名前:353 [2007/02/10(土) 21:24:33 ]
public void init(){
int i,j;

d = getSize();

for(i=0;i<81;i++){
stone[i]=2;
}

stone[0] = 0;
stone[8] = 1;
stone[72]= 1;
stone[80]= 0;

//ボタンを配置
BT[0] = new JButton("PASS");
BT[1] = new JButton("RESET");
cnt.setLayout(new BorderLayout());
cnt.add(BT[0],BorderLayout.SOUTH);
cnt.add(BT[1],BorderLayout.NORTH);
BT[0].addActionListener(this);
BT[1].addActionListener(this);


addMouseListener(this);
}


356 名前:353 [2007/02/10(土) 21:25:59 ]
public void paint(Graphics g){

int i,j;//カウンタ
int k; //マスの番号
int xx,yy;//マスの座標

//バックを黒に塗る
g.setColor(Color.red);
g.fillRect(0,0,d.width,d.height);

//盤面の描画
g.setColor(Color.white);
g.fillRect(margin,margin,n*square,n*square);

g.setColor(Color.black);
for(i=0;i<num;i++){
g.drawLine(i*square+margin,margin,i*square+margin,n*square+margin);
g.drawLine(margin,i*square+margin,n*square+margin,i*square+margin);
}


357 名前:353 [2007/02/10(土) 21:28:08 ]
//石の描画
for(i=0;i<num;i++){
yy = i * square + margin;
for(j=0;j<num;j++){
xx = j * square + margin;
k = i * num + j;
if(stone[k] == 0){
g.setColor(Color.black);
g.fillOval(xx-delt,yy-delt,rad,rad);
}
if(stone[k] == 1){
g.setColor(Color.white);
g.fillOval(xx-delt,yy-delt,rad,rad);
}
}
}
}
}

358 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 21:47:06 ]
>353-357
init()でボタンを描画した後に、paint(Graphics)で背景を赤で上書きしてるから、
ボタンが見えなくなっているのが原因。
対症療法的でいいのなら
g.setColor(Color.red);
g.fillRect(0, 0, d.width, d.height);
の後ろに
BT[0].paintImmediately(0, 0, BT[0].getWidth(), BT[0].getHeight());
BT[1].paintImmediately(0, 0, BT[1].getWidth(), BT[1].getHeight());
と書けばいい。

できればコンパイルできることを確認してからソースを貼ってくれ。
長くなりそうならうpろだ使えば良いし。

359 名前:353 [2007/02/10(土) 22:05:39 ]
>>358さま
ありがとうございます。
そして申し訳ございませんでした。

360 名前:353 [2007/02/10(土) 22:13:28 ]
>>358さま
ところで対症療法的と書きましたが、本来は別の方法を使うのですか?

361 名前:358 mailto:sage [2007/02/10(土) 22:25:53 ]
>360
paintImmediately()ってあくまでも簡易的なやり方だと個人的には思ってて
ちゃんとやるなら設計から見直した方が良いでしょ、ってこと。
今回のだと、背景を描画してからボタンを描画すればわざわざ緊急描画する必要ないし。

362 名前:デフォルトの名無しさん [2007/02/11(日) 00:13:55 ]
>>345
CV・・・ですね!アドバイスありがたなのですが・・・わかんないっす↓

363 名前:348 mailto:sage [2007/02/11(日) 00:27:19 ]
>>351
解答ありがとうございます。
ただ私事で申し訳ないのですが、親類が交通事故に遭いドタドタしてしまって動作が確認できていません。
提出期限も延ばしていただいたので、明日確認したいと思っています

あと少し気になったのですが、コメントアウトになっているのはどういう意味なんでしょうか?


364 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 03:27:57 ]
>>363
もちろんシャレ。
コメントアウトしている部分(二つ目のprintlnとmodPowメソッド)の方が本質部分。

コメントアウトされていない一つ目のprintlnの方は、答え合わせ用に入れてある。
課題に必要ではないと思うのでこっちは消して、コメントアウトされた方を復活して。

課題では求められていなさそうなのでBigInteger#modPowと違って負の指数には非対応。



365 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 05:53:32 ]
【 課題 】WEB住所録
【 形態 】WEBアプリケーション
【 期限 】2/15
【 Ver 】java version "1.5.0_10"
【 用語 】
JSP、サーブレット、JAVAビーンズをつかって、住所、氏名、電話番号を登録できるWEB住所録を作成せよ
【補足 】サーバーはトムキャットを使いますが、
どんなサーバーでも動く簡単なもので結構です。
よろしくお願いします

366 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 09:49:36 ]
>365
2点確認したいことが。
1. 住所録というからには登録だけじゃなくて、その情報を閲覧できた方がいいんだけど
そこまでは求められてますか?
2. データベースは使わなくていいの?

367 名前:デフォルトの名無しさん [2007/02/11(日) 14:11:38 ]
>>365
ちょっと待てw
tomcatはサーブレットコンテナとかのインフラだろうがサーバーはどうせapacheだろ。
そこら辺の曖昧性を解決した上で訳の分からん事言い出す前に>>366を埋めろw

#ところで最近cern httpd見ないね最近のNCSA基いapacheは高速でセキュアなの?


368 名前:レ・ミゼラブル放送日 mailto:sage [2007/02/11(日) 14:16:32 ]
期限         レス番号
---------------------------
2/12         >>340 (C++版サンプルソースあり)
2/14         >>334 (Access95はあるが、CD-ROMどっかいった)
2/15         >>365 (>366氏がハリキッテおります)


369 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 14:22:21 ]
>>367
www      パソコン
----------------------
cern httpd  ネクスト PC
apache    IBM PC
IIS       アップル PC

370 名前:365 mailto:sage [2007/02/11(日) 16:18:29 ]
>>366
閲覧もお願いします。
データベースは使わなくて結構です。
本当に簡単なものでいいので…
>>367
スイマセン…少し勘違いしてました

371 名前:デフォルトの名無しさん [2007/02/11(日) 19:35:32 ]
初心者すぎてすれ違いかもしれませんが、お願いします
【 課題 】
/* 誕生日ごとの正座を表示する */

import java.io.*;

public class Horoscope2 {
public static void main(String[] args) throws IOException{
BufferedReader r =
new BufferedReader(new InputStreamReader(System.in));

System.out.println("何月生まれですか?");
String s1 = r.readLine();
int month = Integer.parseInt(s1); /* 月 */


System.out.println("何日生まれですか?");
String s2 = r.readLine();
int day = Integer.parseInt(s2); /* 日 */

switch(month){ /* 生まれた月をチェックする */
case 1:
if(day >=1 && day <=19){ /* 生まれた日をチェックする */
System.out.println("あなたの星座は山羊座です。");
System.out.println("Personality.YAGI");
}
else{
System.out.println("あなたの星座は水瓶座です。");
System.out.println("Personality.MIZUGAME");
}
break;


372 名前:デフォルトの名無しさん [2007/02/11(日) 19:36:49 ]
続き
以下case12まで省略
case12;
if(day >=1 && day <=19){ /* 生まれた日をチェックする */
System.out.println("あなたの星座は山羊座です。");
System.out.println("Personality.YAGI");
}
else{
System.out.println("あなたの星座は水瓶座です。");
System.out.println("Personality.MIZUGAME");
}
break;
のようなプログラムのとき実行した時
「Personality.******」の部分に文章が表示されるように
するため

class Personality{
static String ****** = "文章"; ←case1に対応
以下省略
static String ****** = "文章"; ←case12に対応
   }
のようなPersonalityのクラスにまとめて簡単にして
文章を呼び出そうとしたんですが
実際実行すると
「Personality.******」と表示されて
本当は「文章」させたかったのにうまく出来なくて??困っています
わかりにくくてすみません
というか私自身何もわからないので・・・


373 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 20:23:34 ]
>>396
ああ、IBM-PCがまともになった揚げ句ネクストが経営不振になった訳ね・・・

何かNeXT-cubeの上でWWWじゃなくてwww走らせたくなってきたじゃねーかバーローw

#Stay hungry, stay foolish.


374 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 21:18:36 ]
371
○ System.out.println(Personality.MIZUGAME);
× System.out.println("Personality.MIZUGAME");
↑ダブルクォートはいらない。
あと>>1を参考に環境を書きましょう。



375 名前:sage [2007/02/11(日) 21:27:24 ]
>>374
環境はeclipeでした、以後気をつけます。
どうもありがとうございました。

376 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 23:02:36 ]
テンプレ無視するやつは放っておこうよ
質問スレとの棲み分けもあるし

377 名前:デフォルトの名無しさん mailto:sage [2007/02/11(日) 23:07:52 ]
>365
ttp://www.wikiroom.com/java/index.php?SourcePost________#ye0bcf43

378 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 00:15:37 ]
期限         レス番号
---------------------------
2/12         >>340
2/14         >>334

>>373
新一 = コナンなんだぜwww

379 名前:365 mailto:sage [2007/02/12(月) 00:43:00 ]
>>377
ありがとうございます!
少し質問なんですが、このWEBアプリケーションを実行するフォルダの構造はどのようにすればいいのでしょうか?
ほとんど理解してなくてすみません・・・

380 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 02:39:07 ]
>>364
動作確認させて頂きました、ありがとうございます
ただ、値を大きくして実行すると(4〜5桁以上)正確な答えが出力されないのは何故なんでしょうか?
多分longintの範囲内に収まってると思うのですが…
プログラム11行目のqが1のままreturnされてしまうみたいです
無知で申し訳ありません


381 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 03:18:18 ]
>>380
どういう値を使うと誤答する?
n = 1234567;
e = 8901234;
m = 5678901;
とかでも問題なかったけど。

382 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 03:48:04 ]
q*=p;とp*=p;でオーバーフローの可能性があり、pとqは上限をmで抑えられている。
longは18桁までのあり得る整数を全て表現できたと記憶してるので、
mが9桁までなら計算の途中でオーバーフローはしないと思う。

383 名前:377 mailto:sage [2007/02/12(月) 07:36:04 ]
>379
Tomcat入れてるんだったらサンプルアプリを参考にすれば?
申し訳ないがそこまで面倒見れない。

384 名前:デフォルトの名無しさん mailto:sage [2007/02/12(月) 11:37:51 ]
自分の環境にtomcat入れてるのとは違うかもしれないからフォロー入れとくとIT厨な奴らがそこらへんで自身満々に解説してるからググってみれば?

IBMかどっかもapach+tomcatでwebアプリ環境構築の解説をしてた気がする。




385 名前:365 mailto:sage [2007/02/12(月) 20:59:34 ]
調子に乗ってすみません。
自分のPCにトムキャット入っていないので今日学校で実行してきました。
本当にありがとうございました

386 名前:デフォルトの名無しさん mailto:sage [2007/02/13(火) 00:28:56 ]
期限         レス番号
---------------------------
2/14         >>334






[ 続きを読む ] / [ 携帯版 ]

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

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