1 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:53:34 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド113【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1204363011/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝のう存じます。 次スレは>>980 あたりで。
511 名前:507 [2008/04/20(日) 18:01:18 ] >>508 ありがとうございます。求めてたのはそれです、、が java.awt.geom.Point2D.Double foo = new java.awt.geom.Point2D.Double(); はO.Kなんですが、 Point2D.Double foo = new Point2D.Double(); と書くとPoint2Dパッケージがないと言われるのですが、そういうものなのでしょうか?? あと、このクラスに限らず、ArrayListの2次元配列に入れたものを取り出すとき bar = data.get(1).get(2).x; 等とやると、java.lang.Object クラスに変数xなんてない、 と言われるのですが、どうしたらいいのでしょうか?
512 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:22:54 ] >>510 ずらずら書くのもループで回すのも構成次第でしょう。 >>511 冒頭に import java.awt.geom.Point2D.Double; と書けばよいのでは?
513 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:23:43 ] 漏れた。 JDK1.4までのArrayList#getの返値はObject型なのでキャストが必要。
514 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 18:50:11 ] ArrayList の現在の要素数を取得するにはどうすれば良いのでしょうか? ArrayList.size で取得できるかと思ったのですが、以下のエラーが出てしまいます 「size は java.util.ArrayList で private アクセスされます。」
515 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:07:38 ] >>511 importも分からずにCollectionとは恐れ入った もう一回勉強した本を読み返すことをおすすめする
516 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:08:05 ] >>514 privateだからアクセスできません
517 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:12:56 ] >>514 メソッドとフィールドに関して勉強して来い
518 名前:514 mailto:sage [2008/04/20(日) 19:23:24 ] >>516-517 レスありがとうございます すいません、質問の仕方が変でしたね。 質問する時は最低限やったことを書くべきだと思ったので size が private でアクセスできないことを確認した旨を書きました。 聞きたかったことは ArrayList の現在の要素数を取得方法です 動的にサイズが変化するので要素数の取得をするべきではないのでしょうか?
519 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:33:05 ] 質問です。 あるJavasprictを改造中なのですが、フォルダの構成上、ファイルまでのパスをURL指定にしたいのですが、 以下の記述をどのように修正すればよいのでしょうか? downloadDir : '../ファイル名.php?img=フォルダ名/'
520 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:37:11 ] >>1
521 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 19:37:47 ] >>518 sizeメソッドを呼ぶ。
522 名前:514 mailto:sage [2008/04/20(日) 19:40:44 ] >>521 ありがとうございます!
523 名前:478 mailto:sage [2008/04/20(日) 21:26:36 ] 勉強になりました。ありがとうございます。
524 名前:510 mailto:sage [2008/04/20(日) 23:00:53 ] なるほど。ありがとうございました。
525 名前:デフォルトの名無しさん [2008/04/20(日) 23:49:12 ] javaのソースの中にたまに「class名#メソッド」 な記載があるのを見るのですが、これって何でしょうか。 staticだったら「class名.メソッド」だろうし staticじゃなかったら「インスタンス名.メソッド」かな と思っていますがそれ以外の何かがあるのでしょうか
526 名前:デフォルトの名無しさん mailto:sage [2008/04/20(日) 23:51:57 ] >>525 インスタンスメソッドを示すときのお約束。 言語的にはそういう書き方はできない。
527 名前:デフォルトの名無しさん [2008/04/21(月) 00:00:20 ] >>526 ありがとうございます!!
528 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:06:00 ] jTextFieldを複数用意していて、 それを全てクリアしたいのですがどういう方法でやればいいのでしょうか? for (int i=1 ; i<=100 ; i++) { myTextField[i].setText(""); } のようにやればできるのですが、 テキストフィールドの変数名に配列を使わないでやるには一つづつsetTextしていくしかないんでしょうか? それだとあまりにも面倒なもので... もし良い案をご存じでしたらお願いします。
529 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:12:47 ] >>528 思いつかないこともないですが、もっと面倒くさいです。 たとえば、getComponents() メソッドで属するコンポーネントを全て獲得し、 forで一つ一つJTextFieldかどうかを確認し、JTextFieldならクリアする…という方法があると思います。
530 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:27:58 ] >>526 嘘をおしえるな。
531 名前:デフォルトの名無しさん [2008/04/21(月) 00:28:09 ] ユークリッドの互除法を用いて、 与えられた2つの整数の最大公約数を出力するJavaのプログラムを示せ。 java GCD 45 18 ←入力 9 ←出力 この問題どなたか分かりますか?
532 名前:デフォルトの名無しさん [2008/04/21(月) 00:40:15 ] >>492 です、>>493 〜>>529 の皆さん、ありがとうございました。 おかげさまで、スクリーンセイバーの件は解決できました。 興味が出てきたのでジャバの勉強もしてみようと思います、 これからいろいろと質問とか疑問に思った事を相談に来ると思うので、 その時は宜しくお願いします。 ☆⌒(*^-゜)v Thanks!!
533 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 00:46:04 ] >>531 まず、ユークリッドの互除法でぐぐってみてはどうだろうか 一番上にWikipediaが来て、 1. 入力を m, n (m ≧ n) とする。 2. n = 0 なら、 m を出力してアルゴリズムを終了する。 3. n が m を割り切るなら、 n を出力してアルゴリズムを終了する。 4. m を n で割った余りを新たに m とし、更に m と n を取り替えて 3. に戻る。 こんな解説が載ってるわけだが
534 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:40:55 ] ループ文を break で抜けるように メソッドを抜ける方法はありますか? public void hoge(int i) { if (i > 3){ System.out.println("nothing to do"); //ここでメソッド抜けたい } fuga(); }
535 名前: mailto:sage [2008/04/21(月) 01:42:05 ] return; と書けばいいよ。
536 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 01:47:09 ] 返り値が void でも return が使えたんですね、知りませんでした。 ありがとうございます
537 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 12:41:56 ] javaの初めからあるクラスで、エクステンズしてもいいクラスと いけないクラスの区別のつけ方と、 クラスのオーバーライドしてもいいメソッドの区別の仕方を おしえてください。 オーバーライドしてもいいメソッドやクラスは正常に動作するという意味です。
538 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 15:40:07 ] 自宅では問題ないいのだけれど、出先(友人宅や学校など)でJava Runtime Environment が入ってないPCでJavaアプリを使いたいのですが、USBやリムーバブルHDでJRE環境を 持ち歩くにはどうすればイイでしょうか?持ち歩いている人なんていないのでしょうか?
539 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 19:35:32 ] >>537 アクセス制限に引っかかることがなく、かつ final ではない場合、クラスの継承およびメソッドのオーバーライドが可能。 意味が分からなければ、実際にやれば分かる。コンパイルエラーになるから。
540 名前:デフォルトの名無しさん [2008/04/21(月) 21:36:57 ] postlet.com/ このアプレットでは日本語ファイルの送信時に、文字化けが発生するので ソースのUploadThread.javaの265行目のfile.getName()をUTF−8にエンコードするようにしてリコンパイルしました。 (コンパイルは通り、アプレットは生成されました。) これをtomcat/struts環境で利用するとエラーが発生します。 オリジナルのアプレットは正常に動くのですが、リコンパイルしたものではエラーが発生する状況です。 この状態の回避方法を教えて下さい。 このアプレットで日本語ファイル名のファイルを文字化けなく送信したいです。
541 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:39:09 ] ログ読もうよ。TOMCAT_HOME/logs/stdout.log あたりになんか 吐き出されてるんじゃないの。
542 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:42:07 ] >>538 pc11.2ch.net/test/read.cgi/software/1196692396/l50 portableapps.com/node/1141 thingamablog.sourceforge.net/phpBB2/viewtopic.php?t=16 USB に JRE を積んで、それを叩くバッチファイルを作ればいい みたい。詳しくはリンク先で確認してちょ。
543 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 21:51:27 ] >>536 m9(^Д^)プギャー
544 名前:デフォルトの名無しさん [2008/04/21(月) 21:57:15 ] double x = 1010.101ってのを整数部と小数部に分けたいんだけど 整数部はMath.floor(x);でいいんだけど、 小数部はどうしたらいいのか分からないっす・・・ 小数部 = x - Math.floor(x)ってやると0.100999999999ってなっちゃうんです。
545 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:02:42 ] >>544 > ってやると0.100999999999ってなっちゃうんです。 doubleの数値を10進の文字列Stringに変換してから小数点で トリミングして切り出せばいい。
546 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:09:50 ] 今日からjavaやってみようと思う、コマンドの1つも知らない俺に優しいサイト&本ある? ポケット辞書みたいなのあったらありがたいんだけど
547 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:18:03 ] >>546 java.sun.com/docs/books/tutorial/index.html >>544 整数部: x / 1.0 小数部: x % 1.0 文字列として正確に出力したいなら >>545
548 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:23:38 ] おー、調べるまで知らなかったけど、Javaにはfrac()ってないのか。
549 名前:デフォルトの名無しさん [2008/04/21(月) 22:34:28 ] >>545 String seisu = String.valueOf((int)整数); String bin = String.valueOf(1010.101); String ss = "0." + sh.substring((int)seisu.length() + 1, (int)bin.length()); 小数部 = Double.parseDouble(ss); みたいにやったらできました。ありがとうございました。
550 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:39:36 ] APIみながらコード書いてたらファイアフォックスのタブがもの凄い数になるんだけど プロのみなさんはAPIとか見ないの?
551 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:56:03 ] >>550 見るよ
552 名前:デフォルトの名無しさん [2008/04/22(火) 00:53:20 ] コンストラクターとは何の為に存在するのでしょうか?
553 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:57:32 ] インスタンス生成時に処理を行いたいから
554 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:57:31 ] >>551 いちいち見ながら書いてたら時間がすぐに経ちませんか? といっても覚えられるものでも無いでしょうけどw 俺が遅いだけだと思うけどコード書くのって時間かかるものなのかな
555 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 03:35:38 ] やってるうちに「この手のメソッドはこのへんのクラスにありそうだな……」で 引数の順序とかだけ確認する感じになる。慣れとセンスが大事。
556 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:39:57 ] intからshortに変換するにはどのようにしたらいいでしょうか? int i = 5; short s; s = (short)i; ではeclipseに怒られてしまいます。
557 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:43:59 ] >>556 本当に?エラーメッセージは?
558 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:46:51 ] >>557 すみません。怒られませんでした。
559 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:17:40 ] JDK 1.6 Security.getAlgorithms("SecretKey") で得られる共通鍵ファクトリの名前が "ACTORY.DES" とかに なってて先頭の "F" が抜けてるような気がするんだけど、これは直せなくなったバグの類なのかね。
560 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:19:55 ] JEditorPane editor = new JEditorPane(); JScrollPane scroll = new JScrollPane(editor); JTabbedPane tabbed = new JTabbedPane(); tabbed.addTab("title",scroll); Container container = getContentPane(); container.add(scroll); と書いた後で、editorを取得するにはどうすればよいですか。 getSelectedComponent()あたりを使ったが、editor取得まで たどり着けません。
561 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:27:17 ] >>560 メンバフィールドで参照しとけば?
562 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:32:37 ] >>561 ありがとうございます。 確かにおっしゃる通りだと思いますが、 将来的にタブ数を増減できるようにするつもりで、 動的に扱えればと考えていました。
563 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:13:24 ] >>554 IDEがAPIドキュメントの必要な部分をポップアップしてくれる
564 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:38:01 ] テキストフィールド内に 文字が入力された場合とされなかった場合とで 処理の内容を変えたいのですが テキストフィールド内に文字が入力されているかどうかを 判定できる方法があれば教えてください。
565 名前:デフォルトの名無しさん [2008/04/23(水) 00:32:06 ] getText()
566 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:53:26 ] まあgetText()して正規表現?
567 名前:デフォルトの名無しさん [2008/04/23(水) 00:58:52 ] 可変長配列を使うと<identifierがありません>とエラーが出ます。なぜなんでしょうか? class FallPane{ Vector<AbstractFallBall> balls; //エラー部分 public FallPane() { //コンストラクタ balls = new Vector<AbstractFallBall>(); //エラー部分 }
568 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 01:28:08 ] エラーがでますではなく、出力されたエラーメッセージをコピペ汁
569 名前:デフォルトの名無しさん [2008/04/23(水) 04:40:46 ] パッケージ名に「core」ってよく見るんだけど、どんなクラスを入れるの? ビジネスロジックのあるクラス?なんか重要っぽいという事しかわかんね。
570 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 04:58:12 ] フレームワークのutilsじゃなくてcoreな部分
571 名前:567 [2008/04/23(水) 08:58:18 ] 567です。 エラーメッセージはこうです。 Fall.java:83: <identifier> がありません。 private Vector<AbstractFallBall> balls; ------------^(この矢印は山形カギ括弧を指しています。) Fall.java:89: '(' または '[' がありません。 balls = new Vector<AbstractFallBall>(); ----------------^ 公開されているサンプルプログラムをそのまま実行しても こうなります。 なぜなのかわかりません。 java環境のバージョンは1.4.2で pcはmacです。
572 名前:567 [2008/04/23(水) 09:01:28 ] >>571 のエラー部分の矢印が、ずれてますが 2つとも、Vectorの次の山形カギ括弧を指しています。
573 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:28:51 ] >>571 公開してるサンプルプログラムは 1.5以上必要で、 君の jdk のバージョンが 1.4.2 だから、コンパイルできない。
574 名前:567 [2008/04/23(水) 10:09:12 ] VectorやArrayListなどの可変長配列は使えるんで、 オブジェクトの型を記述する<>の部分がjdk1.5じゃないとダメってことですね。 今のPCでは1.5にヴァージョンUPできないので、 その代わりとなるjdk1.4.2でも可能なコードってありますか? <>の部分をはずして使うと Fall.java:143: 互換性のない型 検出値 : java.lang.Object 期待値 : AbstractFallBall AbstractFallBall ball = balls.get(i); とエラーが出ます。
575 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 10:25:03 ] >>574 > AbstractFallBall ball = balls.get(i); AbstractFallBall ball = (AbstractFallBall)balls.get(i); みたいに、全部明示的にキャストするとか。
576 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:05:24 ] タイムゾーンの "Asia/Tokyo" みたいな 「地域/都市名」 表記って ISO かどっかで標準化されてんの? それとも Java 独自?
577 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:23:43 ] >>569 これだっ!っていうクラス
578 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:44:50 ] >>576 RFC2445、らしい。
579 名前:567 [2008/04/23(水) 15:11:58 ] 575さん、ありがとう。 解決しました。キャストすればよかったですね。
580 名前:デフォルトの名無しさん [2008/04/23(水) 15:16:58 ] キャストは明示的にやる癖つけた方がいいね
581 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:18:06 ] 他人が見ることを前提に作らなきゃな
582 名前:デフォルトの名無しさん [2008/04/23(水) 16:01:35 ] JavaMailでsetFlagsがサーバー側に保存されません。 (接続部分省略) Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_WRITE); //メッセージ数表示 System.out.println(folder.getMessageCount()); //適当なメッセージを取得 Message msg = folder.getMessage(2000); System.out.println(msg.getSubject()); //フラグを変更 Flags flag = new Flags(Flags.Flag.SEEN); msg.setFlags(flag, true); //フラグの立っているメッセージを取得 Message[] msgs = folder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), true)); for(int i=0; i<msgs.length; i++) System.out.println(msgs[i].getSubject()); //再び総数と、未読数を取得 System.out.println(folder.getMessageCount()); System.out.println(folder.getUnreadMessageCount()); folder.close(false); store.close(); これで、実行すると未読数の数は減ります。 で、取得するメッセージを変えても、以前の物にフラグが立っていない状態です。
583 名前:582 [2008/04/23(水) 16:05:37 ] DELETEのフラグをたてて folder.close(true); にすると削除されます。 やりたいことは、メールを削除しないで、処理していないメールのみを受信することです。 プロトコルはPOP3です。 削除フラグだけたててfalseのままcloseも試したけどリセットされてる感じです。 サーバーから削除しないで、新しいメールのみと受信はどうすればいいのでしょうか? お願いいたします。
584 名前:582 [2008/04/23(水) 17:48:08 ] もしかしてPOP3では不可能で ttp://www.mew.org/~kazu/sut/2002-1st/12.html ここにあるように一回前の受信のUIDをサーバーと見比べて受信するのでしょうか? 上のサイトにはリストを保持、ってあるけど、最後のUIDだけあればいけそうですね。 微妙にJAVAの話題じゃなくなってきたけど・・・ 「メールをサーバ側に残す」 はこんな感じで実現してるんでしょうか?
585 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:44:49 ] 質問です!!!! try{ System.out.println("文字を入力してください"); BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) ); String str = br.readLine(); System.out.println(str+"をファイルに出力します"); FileWriter fw = new FileWriter( "test.txt" ); fw.write( str, 0, str.length() ); fw.close(); } catch( IOException e ){ System.out.println(e); } これで実行して文字を打ち込んでもファイルに出力されないんですがどこがおかしいですか?
586 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:56:53 ] >>585 です ちゃんと出力されてました すいませんもう二度と書き込みませんのでどうか許してください
587 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 19:10:03 ] >>578 サンキュー 該当の RFC、ナナメ読みしただけではどこが該当してるんか分からんかったが 参考文献に定義ソースと思しきデータの場所見つけたので張っとくわ。 ftp://elsie.nci.nih.gov/pub/tzdata2008b.tar.gz
588 名前:デフォルトの名無しさん [2008/04/23(水) 21:04:20 ] Javaアプリケーション上から別のDOSで動くアプリケーションを呼び出したいのですが どうすればよいのでしょうか? Robotクラスでも何とかできるのですが、DOSアプリなので表示の必要は無く、 見た目上はJavaアプリケーションしか走ってない状態がいいのですが、方法がわかりません・・・。 よろしくお願いします。
589 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:08:40 ] >>588 ProcessBuilder
590 名前:デフォルトの名無しさん [2008/04/23(水) 21:15:27 ] >>589 おおありがとうございます!でけますた!!
591 名前:588 mailto:sage [2008/04/23(水) 21:43:42 ] >>589 あまりにも感謝の気持ちが強いのでお礼の気持ちでうp image.i-bbs.sijex.net/bbs/mini/1208006729394o.jpg blog67.fc2.com/r/rakuen2/file/20080328_009.jpg g003.garon.jp/gdb/Go/yK/E4/Gb/Jf/Uf/B3/LT/Wp/Y5/x8/F1C6.jpg
592 名前:589 mailto:sage [2008/04/23(水) 21:45:04 ] なぜ、女なんだ
593 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:47:00 ] グロ貼んな
594 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:39:15 ] うpじゃねーし
595 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:35:55 ] 近所の猫も飼い主に捕れたてのネズミをプレゼントしようとしてたな
596 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:45:17 ] >>540 ですけど下の様なエラーが出ます。 javax.servlet.ServletException: Processing of multipart/form-data request failed. Stream ended unexpectedly at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:194) at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:405) commons-fileupload-1.1.1.jarだったのをcommons-fileupload-1.2.1.jarに変更してみてからは上のも含め下の様なエラーが出ることもありました。 javax.servlet.ServletException: Header section has more than 10240 bytes (maybe it is not properly terminated) at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:194) at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:405) javax.servlet.ServletException: Stream ended unexpectedly at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:194) at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:405) この状況を改善するにはどうしたらいいでしょうか・・・
597 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:08:02 ] >>586 絶対に許さない。絶対にだ。
598 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 03:40:32 ] >>582-584 その通り。POP3では既読/未読の区別はない。
599 名前:デフォルトの名無しさん [2008/04/24(木) 11:10:18 ] wicket.ApplicationPagesがimportできないのは…なぜ!? ちなみにwicketのversionは1.2.7です。 参考サイトはversion1.1.1を使ってるから名称が変わってるのかな?; 誰か教えてください><
600 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:13:56 ] バージョンのせいにしたいならバージョン入れなおして 試せよ
601 名前:デフォルトの名無しさん [2008/04/24(木) 11:20:11 ] だってversion1.1.1が見つからなかったんだもん〜♪
602 名前:デフォルトの名無しさん [2008/04/24(木) 11:39:25 ] javaからMySQLに接続し、データベースを操作するプログラムを作っています。 System.out.println("商品コードを入力してください。(5文字)"); System.out.print("商品コード:"); String str=br.readLine(); このstrの頭が全角スペースや半角スペース、未入力のときに例外処理(「未入力です」と出力など・・)を行う記述を教えてください。
603 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:42:46 ] if (str.startsWith(" ") || str.startsWith(" ") || str.length() == 0) { System.out.println("未入力です"); }
604 名前:デフォルトの名無しさん [2008/04/24(木) 11:48:44 ] >>603 できました! ありがとうございます!!
605 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 12:47:55 ] >>603 startsWithが先頭。 ということは最後の文字を弾くには・・?
606 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 13:48:14 ] endsWith
607 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:51:20 ] >>602 です strにコードを入力させ、そのコードの情報を出力するプログラムなのですが String str=br.readLine(); String sql = "select * from kadai where コード='"+str+"'"; ps = con.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while(rs10.next()){ // コードデータを取得 String a = rs.getString("コード"); String b = rs.getString("名前"); String c = rs.getString("電話番号"); // データの表示 System.out.println("コード :"+a); System.out.println("名前 :"+b ); System.out.println("電話番号:"+c ); } ここで入力したコードに該当するコードがなかった場合、「コードは存在しません」と出力させる記述をお教えください。 ExcuteUpdateならintにして0か1で返ってきたのですがExcuteQueryだとできなくて・・
608 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:53:52 ] jar実行ファイルで起動するアプリを作ってるんだけど、わからない事があるので質問します。 antでコンパイルとjar作成をしてるんだけど、jarの中にLogback用設定ファイルを置きたい。 設定ファイルはクラスパスが通ってる場所に置けばいいらしいが、どこに置けばいいですか? あるいは、MANIFEST.MFのクラスパス属性にこう書けば良いよってのがあれば教えてください。
609 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:15:25 ] >>607 先にResultSetの件数を調べて、0件なら該当無しとすればいいかと www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26815&forum=12&5 課題乙w
610 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:17:34 ] >>607 正しいやり方というか、標準的なやり方ではないかもしれんが int count=0; while(rs10.next()){ // 処理... count++; } if(count<1) { System.out.println("コードは存在しません"); } とでもしたら?
611 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:30:15 ] >>610 できた! あ〜そんな手が・・
612 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:36:37 ] >>608 普通は出来ないような気がするけど、FatJarとかなら出来るんでないかな?
613 名前:608 mailto:sage [2008/04/25(金) 11:44:06 ] >>612 なるほど、もしかしたら設定ファイルじゃなくて、jarに突っ込んだLogbackのjarが見れてないのかも知れません>< FatJar試してみます!ありがとうございました。
614 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:51:05 ] 実際のところ「Write Once, Run Everywhere」ってホントなのですか? 環境依存とかないのですか?
615 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:00:08 ] PC 程度以上ならどれでも動くよう作りこむことは出来る。 ただし実行環境や DB なんかのミドルウェア依存のコード書けば依存するに決まっている。 動かねぇと言ってる奴の大概はテメェのバグとどっからが環境依存かを分かってない無知。
616 名前:608 mailto:sage [2008/04/25(金) 12:00:53 ] >>612 早速試してみたところ、いともあっさりと出来ました! 改めてありがとうございます!
617 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:13:03 ] >>614 各JVMでの、微妙な挙動の違いがトラブルの元になったりする だから、どうしてもプラットフォームごとに動作試験をすることが欠かせない場合もある そのことを指して(場合によっては皮肉を込めて) Write Once, Test Anywhere と言われることもある
618 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 13:08:49 ] >>615 >>617 なるほど。参考になりました。
619 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 15:36:32 ] テキストファイルを読み出すときに、指定した文字コードで化ける文字が含まれてたら 例外にしたいんだけどどうすればええんじゃ。
620 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 21:07:17 ] >>619 java.nio.charset.CharsetDecoder#onUnmappableCharacter(CodingErrorAction) java.nio.charset.CharsetDecoder#onMalformedInput(CodingErrorAction)
621 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 23:30:29 ] >>619 可能です。 以上。 はい次の方。
622 名前:デフォルトの名無しさん [2008/04/25(金) 23:49:00 ] SDKのインストールに関して質問させてください SDKのインストールの途中、以下のエラーメッセージが出てしまいました 「このインストールに必要なキャビネット ファイル 'st160000.cab'は壊れているため使用できません。 ネットワークエラーまたはCD-ROMからの読み取りエラーが発生したか、 このパッケージに問題がある可能性があります」 以下のページ(英語)で同じ症状が出てるようなのですが、よくわかりませんでした… forums.java.net/jive/thread.jspa?messageID=254470 行き詰まってしまいました。何かヒントを教えていただきたいです よろしくお願いいたします
623 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 00:39:54 ] 同じJNLPファイルをwww.java.com/ja/ でダウンロードした実行環境で実行した結果 二台のPC中、片方だけ「could not create the java virtual machine」というエラーが出るのですが 何度か再インストールを試してみたり開発環境をつっこんでみたり、ぐぐって見たりもしたのですが 大体再インストールで直っている例が多く、具体的に何か弄ったり手動で消すような項目も見当たらず 行き詰っています。 何かしら糸口でも構わないので教えていただけないでしょうか。
624 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 00:42:15 ] >>622 可能ならブラウザのキャッシュを消してから、 ダウンロードし直し。
625 名前:デフォルトの名無しさん [2008/04/26(土) 01:28:14 ] eclipseの参照検索のソース見たいんですが、ソースzip内のどこら辺か知ってる人いたら教えてください 出来れば主要クラス、仕組がざっくりと分かるサイトなんかも・・・
626 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 03:09:02 ] Javaで一般に使ってスピードが速い変数はどれですか? intは整数のみだし doubleは64bitで大きいし floatが適していますかね? でもあまりfloat使ってるの見かけないような。
627 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 04:41:46 ] そんなの気にしない
628 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 05:29:27 ] >>626 実数型のfloatよりも整数型のint方が圧倒的に速い。 しかし、現実には>>627 の言うとおり。 そんなのを気にするほど神経を使うのなら、 そもそもJavaを選択することが間違っていると言える。 Cかアセンブラでも使っておけ。
629 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 10:40:13 ] >>626 まず原則としては>>627 >>628 の言う通り。 あと、一般的には、CPUで直接計算可能なdoubleの方がfloatより速い。 (もちろん例外はある)
630 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 10:52:03 ] Intel CPU とか、小数は 80-bit で double より大きいだろ・・・。
631 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 10:56:35 ] >>629 float がCPUで直接計算できないとでも?
632 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:04:37 ] >>626 言語としてのJavaからはint演算とfloat演算でどっちが速いとか遅いとかは一切言えない。 本番の実行環境と実際に使用するコード(マイクロベンチではなく)で速度比較するのが一番手っ取り早い。 詳しく知りたいならJITコンパイラのコード読んでみるとか、 そこまで元気がないなら、前スレ906の > デバッグ版のJDKだと -XX:+PrintOptoAssembly オプション付きで起動すれば > 出力できるらしいって d.hatena.ne.jp/kkawa/20080330 に書いてある。 でJIT後のアセンブリコード比較してみるとか。
633 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:12:52 ] みなさんいろいろなご意見ありがとう。 VBではintよりdoubleが一番速いとききました(32bitだから?)。 Cへの流用も考えているので 整数ならint、実数ならdoubleを使うことにします。 Cではfloatよりdoubleが速いんですよね。
634 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:33:12 ] VBはlongが速いだろ
635 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:33:48 ] > Cではfloatよりdoubleが速いんですよね。 そんなんCPUの世代が変わっただけで逆転したり、 コンパイラの最適化が変わっただけで逆転したりするよ。
636 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 12:55:18 ] 使用型での2倍以下のの速度差を気にしてる初心者は 得てして100倍遅いアルゴリズムをどうどう使ったりしてるから注意
637 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 16:49:12 ] >>623 iTunes classpath
638 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 18:21:35 ] JRE5と6を両方インストールして firefoxがJavaアプレットを実行するのは5 ・・・という設定にするにはどうしたらいいですか <JRE5>/bin/javacpl.exe でfirefoxのアプレットタグサポートをONにし <JRE6>/bin/javacpl.exe ではOFFにする、 という方法を試みましたが、6で実行されてしまうようです (OSはWindows Vista)
639 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 18:28:03 ] >>638 Javaコントロールパネル->Java->Javaアプレットのランタイム設定でできない?
640 名前:638 mailto:sage [2008/04/26(土) 19:03:35 ] >>639 その設定項目はパラメータの設定しかできないと思ってたんですが 有効/無効や優先順位も設定できたんですか? もしそうであれば、設定方法を教えていただきたいです それとも、パラメータでそういう設定ができるとか・・・?
641 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 19:46:02 ] 複数のJREがインストールされてたらチェックボックスでどれかえらべるだろ。
642 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 19:56:41 ] 32bit環境では例えばエクセルのVBAなどは常にIntegerよりはLongを使ったほうがいいってこと?
643 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 20:31:11 ] >>642 VBAのスレで聞け。相手してくれる暇人がいるかどうかは知らんが。
644 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 02:19:56 ] >>642 聞くな。測定しろ。
645 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 02:35:53 ] だーから分かんねーならレスするなってんだよ
646 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 11:25:47 ] お前が答えろ
647 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 16:13:55 ] double の 小数点下2桁以下を切り捨てて String に変換するにはどうすれば良いですか?
648 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 16:16:23 ] NumberFormat
649 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 19:58:03 ] そういえば昔初心者禁止を銘打った上級者スレがあった希ガス
650 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 20:00:44 ] >>46 > 昔々、時は J2EE やら C#/.NET の登場やらでム板も大変盛り上がっていた頃のお話。 > それまで質問者の多数を占めていた 「自分で分析してキーワードで答えにたどり着ける」 層に > 代わって 「動きませんできません」 系のニューエイジ層が増え始めた (ようは今の質問レベルに落ちた)。 > 業を煮やした誰かが 「初心者無視スレ」 を立ち上げたが程なく過疎。以後本スレの避難所として > 細々と 1〜2 年 (くらいだったか?) 続いて終幕。ちょうど死滅スレ乱立時代の頃のお話。 やばい。懐かしすぎる。死滅スレ乱立懐かしい。DocletやEJBスレもあって懐かしかったあの頃w あの頃は凄かった。あの頃の彼らをたまに見かけるのが笑える。 いまだに同じ文体でマ板のJava系スレでJava叩いて.NET奨めるレスを見かけることがあるw
651 名前:638 mailto:sage [2008/04/28(月) 00:10:38 ] >>641 ウィンドウ内のどこにもチェックボックスが見当たりません・・・ 解決の糸口が見えてきたような気がするのでいろいろ試してみます ありがとうございます
652 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 04:34:29 ] >>648 ありがとうございます
653 名前:623 mailto:sage [2008/04/28(月) 14:55:15 ] 色々とアンインストールしたりしながら試してみたところ カスペルスキーをアンインストールしたら could not create the java virtual machineが出なくなりました。 保護の一時停止しても駄目でアンインストールすると出なくなるんですが もうセキ板行ったほうがいい気もするんですが何かご存知の方居ましたら教えてください
654 名前:デフォルトの名無しさん [2008/04/28(月) 17:33:30 ] 中小企業勤務の者なのですが、ここで質問をさせてください。 会社の簡単な経理システムをJavaで組もうと思っているのですが、 実際にアプリケーションとして使う場合、どのような形で配布をすれば良いのでしょうか? 会社のシステムは、 WindowsXP機 2台 Windows2003 Server機 1台 WindowsVista機 4台 MacOS X Tiger機 2台 MacOS X Leopard機 3台 です。それぞれで使えるようにとJavaで組もうと思っています。
655 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:36:29 ] ダブルクリッカブルjarで十分
656 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:37:22 ] アプレット
657 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:43:44 ] JavaWebStart
658 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:44:42 ] レスありがとうございます。 とりあえず組んでみて、jarにするかアプレットにするかアンケートをとってみます。
659 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 17:52:32 ] JavaでのGUI開発にはNetBeansだな
660 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:10:04 ] NetBeans使いってなんでEclipseに敵対意識持ってるの?
661 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:18:28 ] >>658 鯖使えるならアプレットよりJavaWebStartの方が良いよ。 てかアプレットはやめときな。
662 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:22:20 ] >>658 jar→(利点)普通のアプリとして組める。(欠点)配布やバージョンアップが面倒。 アプレット→(利点)配布やバージョンアップが楽。(欠点)アプレット特有の制限(ファイルアクセスとか)が付く。 JavaWebStart→(利点)普通のアプリとして組める。配布やバージョンアップが楽。(欠点)情報が少な過ぎ。
663 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:28:19 ] >>660 GUIアプリを作るならNetBeansの方が便利だからじゃ?
664 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:46:16 ] >(欠点)情報が少な過ぎ。 JDKのjavadocにあるドキュメントで十分だと思うんだけど、他になんかいる?
665 名前:デフォルトの名無しさん [2008/04/28(月) 18:52:57 ] 654ですが、再び質問です。 Javaのアプリケーションで入力した内容を、ワード形式、エクセル形式で出力をし、その中身を www.legal.co.jp/products/mamoru/images/11.gif このような感じにする事は可能なのでしょうか?
666 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:54:51 ] WordprocessingMLとSpreedsheetMLを利用すればおk。
667 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 18:55:10 ] >>665 ブラクラ
668 名前:デフォルトの名無しさん [2008/04/28(月) 18:59:02 ] >>666 ありがとうございます。調べてみます。
669 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 19:02:23 ] Apache POIでもできるね
670 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 19:45:06 ] Open Office
671 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 23:36:46 ] GUIのプログラム作ってて 別クラスにリスナー登録して、イベントを処理させてるんだけど ついついメインのウィンドウやらコンポーネントやらを やたらとstatic化してしまうんだけど、なんかすっきりしない。。 GUIのデザパタとか、設計のしかたってみんなどうしてるの?
672 名前:デフォルトの名無しさん mailto:sage [2008/04/28(月) 23:43:27 ] それぞれが独立して使えるように作る
673 名前:622 mailto:sage [2008/04/28(月) 23:51:59 ] >>624 ブラウザのキャッシュを消してからダウンロードし直してみましたが PCの調子自体が悪くうまくいきませんでした ですが別のPCを借りられたので、そちらにインストールできました これから少しずつ勉強します どうもありがとうございました
674 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 01:10:23 ] >>671 メインは、イベントソースとなる子を作る際に自分自身への参照を渡しておく。 new Clild(this); コンポーネントは、それを受け取ってリスナに渡し、このリスナを登録する。 public Child(Parent parent){ Listner listner = new Listner(parent) addListner(listner); } 自分はいつもこんな感じだけど、もっと良い方法があるような気がする。
675 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 10:44:42 ] 子は親に依存しないように作るのが理想
676 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 11:22:36 ] >>674 this(親)そのものを渡すのではなく、Observerとして渡す 無理に親からObserverを引き剥がしても、無駄に複雑になるだけだから親の実装インターフェイスとしてObserverを定義するのが一般的。 そうすることで、子の親への依存関係が薄くなる。
677 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 11:48:18 ] Buttonが特定の親からしか使えなかったらおかしいでしょ それと一緒
678 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:09:17 ] 来月からPGとして入社予定で一からjavaを勉強しているものです。 とりあえず基礎の基礎からはじめてみたのですが、 文章の出力のところでわからないことがあるので質問させていただきます。 class Char2 { public static void main(String[] args) { char a = 'み'; char b = 'ん'; char c = 'な'; String d = "のピースイッツオーライ!"; int e = 3; System.out.println(a); System.out.println(a + b + c + d); System.out.print(a + b + c + e + "つ食べる。"); } } こういうプログラムを組んだのですが、 出力結果が、 c:\java>java Char2 み 37244のピースイッツオーライ! 37247つ食べる。 c:\java> こうなってしまいます。 なぜcharで宣言した変数が結合させると数値になってしまうのでしょうか? よろしくお願いします。
679 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:14:27 ] 37244と37247の差にわろたw
680 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:43:49 ] 吹いたw charじゃなくてStringを使えばいい 'な'じゃなくて"な"
681 名前:674 mailto:sage [2008/04/29(火) 12:45:37 ] >>676 参考にしますアリガト
682 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:47:55 ] charは文字コードを表せる範囲の「整数」を格納する型です。 (現実には1文字1charの関係は破綻してるのだけど) 整数としては a = 12415 b = 12435 c = 12394 という量になります。 文字列なら、1文字であっても String a = "み"; のように文字列で扱う方が自然なことが多いです。 System.out.printlnは System.out.println(char)とSystem.out.println(String)(他にも)があって 前者は受け取ったcharの表す文字をプリントするので、aだけを渡した ものは文字として表示できてますが、それ以外は a + b ...などが整数 の加算として行われてしまうので、期待通りになってないわけです。
683 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:48:57 ] >677 あるボタンは特定の親に依存するのは別にありかと思う。 だが、親のある機能を実行するためのボタン(やメニュー)が複数ある事はよくある。 なので間接的に親を参照するってのが妥当。
684 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:52:05 ] a + b + c + dはこうなる int tmp = 'み'; // tmp == 12415 tmp += 'ん'; // tmp == 24850 tmp += 'な'; // tmp == 37244 String tmp2 = new StringBuilder().append(tmp).append("のピースイッツおーらい!").toString(); System.out.println(tmp2); こうすればコンパイラを騙せる "" + a + b + c + d
685 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 12:54:33 ] >678 ポイントはprintメソッドの引数が色々(int char String)あって、演算子(+)の優先順位とかから選択されているってこと。 cahrを+でつなげると整数として加算されるけど、Stringと+でつなげた場合は文字列として結合される。 基本的には考えなければどの型になるか解らないような書き方をする方がよくないので、680が正解。 でも、学習の段階ではある程度の仕組みを覚えなければならないのも事実やね。 結論だけ言えば、 System.out.println(a); は aをcharとして認識。 System.out.println(a + b + c + d); は加算した整数として認識。 直、(char)(a + b + c + d) だと話も変わる System.out.print(a + b + c + e + "つ食べる。"); これは、(a + b + c + e) + "つ食べる。" と考える。
686 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:05:09 ] >>680 ,682,684,685 皆さんレスありがとうございます。 ちょっとまだ学習していないの単語が出てきていて完全には理解できていないのですが、 ・charで変数に格納されるのは、文字を表す「数値である」。 ・計算した場合それは数値とみなされ、以後文字ではなくなる。(変数の中身は文字を表す機能は持ったまま) ・そのまま出力した場合は文字になる。 ・ややこしいので一文字でも基本的にはStringを使ったほうがいい。 と言うことでよろしいのでしょうか?
687 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:20:18 ] >charで変数に格納されるのは、文字を表す「数値である」。 文字ではあるが、intの下位互換として振舞うので注意しなくてはならない。 >計算した場合それは数値とみなされ、以後文字ではなくなる。(変数の中身は文字を表す機能は持ったまま) 計算した場合は数値とみなされるが、文字となるかどうかはその結果を格納する変数次第。 例えば、 int r = a + b + c; とすれば整数だし、 char r = a + b + c; とすれば文字(ただし、このままだとコンパイルエラー) >ややこしいので一文字でも基本的にはStringを使ったほうがいい。 こればかりはケースバイケースだが、混乱するうちはそう思ってOK
688 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:24:36 ] ・charで変数に格納されるのは、文字を表す「数値である」。 半分正解。このあたりは色々いじくってみないと分からないと思う。 ・計算した場合それは数値とみなされ、以後文字ではなくなる。 No。計算しようがしまいが、数値には変わりない。 だから、文字にint型の定数を加算して、文字に戻すということもできる(やりにくいような仕組みにはなっているけど)。 余談だが、この場合「計算」というより、「加算」とか「算術演算」という方がいい。計算は意味が色々あるから。 ・(変数の中身は文字を表す機能は持ったまま) No。byte、short、charの加算はint型に直されてから加算される。これはJavaの仕様。 ・そのまま出力した場合は文字になる。 Yes ・ややこしいので一文字でも基本的にはStringを使ったほうがいい。 結論としてはYes ややこしいかどうかではなく、状況に応じて「み」「ん」「な」などを文字として扱うか、文字列として扱うかを、プログラマが判断して選ぶ。
689 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:30:06 ] さすが簡単な質問には親切だな>ぽまいら
690 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:33:24 ] だって久し振りの休日なんだもん
691 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:35:13 ] >>687 ,688 ありがとうございます。 なんとなく感覚でですが理解できました。 とりあえずこのまま進めてみます。 今読んでるJava絵本を早く消化したいので(笑) しかしやっぱり中々奥が深いですね、、、 PC用のプログラミングは初めてなので中々難しいです。 またわからないことがあったら聞きに来るかもしれません。 そのときはまたよろしくお願いします。
692 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 13:39:31 ] 難しい質問はたいていの場合情報が少なくて回答しようがないか、長くなるから回答するのがタルイんだよ。
693 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 14:46:29 ] 時刻ではなく、時間を保持するクラスって何を使えばいいんでしょうか?
694 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 14:50:36 ] > 時刻ではなく、時間を保持する ?
695 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 14:54:10 ] longでミリ秒を保持するってことで回答になっているのか?
696 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:01:59 ] >>632 debug版JDK(Windows x86 1.6.0_10)落としたけど、 Could not create the Java virtual machine. Unrecognized VM option '+PrintOptoAssembly' って出る。x86じゃ無理?ボスケテ
697 名前:693 mailto:sage [2008/04/29(火) 15:14:01 ] 動画の時間のようなmm:ssってやつを手軽に扱いたいのです・・・
698 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:15:58 ] >>675 既婚者のコメントみたいで意味深だなぁw
699 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:19:44 ] 管理したい一番細かい単位(秒とか)で持って、 表示にSimpeDateFormatを使う。
700 名前:693 mailto:sage [2008/04/29(火) 15:21:16 ] >>699 それでやってみます。
701 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:22:13 ] あ、もしかしてSimpleDateFormatってDateしか整形できない??
702 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:25:28 ] ミリ秒を渡せばいいぽいな。
703 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 15:30:02 ] >>696 -server ついてないとか?
704 名前:696 mailto:sage [2008/04/29(火) 15:55:42 ] 単純に落とすファイルまちがえてたorz betaじゃだめなのか
705 名前:デフォルトの名無しさん mailto:sage [2008/04/29(火) 21:33:30 ] >>671 こんなの見つけた。 oshiete1.goo.ne.jp/qa3092604.html
706 名前:671 mailto:sage [2008/04/29(火) 23:50:05 ] Mediatorパターンっていいな 作り変えてみるわ みんなありがと
707 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:35:05 ] C#のGraphics.MesureStringに相当するコードってJavaにありますか? あれば教えてください。
708 名前:デフォルトの名無しさん mailto:sage [2008/04/30(水) 17:45:54 ] FontMetrics のこと?
709 名前:707 mailto:sage [2008/04/30(水) 17:56:02 ] FontMetricsで計れました。ありがとうございます。
710 名前:デフォルトの名無しさん [2008/05/01(木) 00:37:18 ] jdkってzipで配布してないの? sunのサイト見たけどexeしか見つけられなかった
711 名前:デフォルトの名無しさん [2008/05/01(木) 00:57:37 ] string k = "00" + Integer.toString( i ); eclipseで開発しておりまして、上記のように書き文字列の頭に00を付け足す事は 成功しましたが、空白を付け足すことができません string k = " " + Integer.toString( i ); こう書くと、出力される文字列に空白のスペースが付与されないのですが どうすれば解決しますか?
712 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 01:03:21 ] 付くだろ糞ヴォケ
713 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 01:35:51 ] >>711 まさか、HTMLでやってて、ブラウザが空白を省略したなんてオチじゃないよね。
714 名前:711 [2008/05/01(木) 02:01:13 ] >>713 そのまさか、かもしれない。今やってるのJSPだし。 <%@ page trimDirectiveWhitespaces="true" %>とかいじってたよorz...
715 名前:711 [2008/05/01(木) 02:04:59 ] <pre></pre>のタグで挟んだら思い通りに出来ました。 解決までに4時間\(^o^)/
716 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 02:08:46 ] 回線切って首つって死ねば良いと思うよ。
717 名前:デフォルトの名無しさん [2008/05/01(木) 12:00:14 ] 誰か質問に答えてください クラスの中のstaticで定義された変数って Cでいうグローバル変数じゃない? Cではさんざんグローバル変数嫌われてたけど、 何でJAVAでは認められてるの?
718 名前:717 [2008/05/01(木) 12:00:41 ] すみません、追加です お願いします、誰か教えてください
719 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:08:21 ] static変数を使うか使わないかは自由。 当然使わない方が好ましいけど、final として定数のように使うことは便利だから用意されている。
720 名前:デフォルトの名無しさん [2008/05/01(木) 12:10:42 ] >>719 なるほど、ありがとうございます
721 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:10:59 ] もちろんpublic staticな変数はグローバル変数的な使い方もできる 一般的に乱用は好ましくない ただ例えばprivateで修飾すればアクセスを制限できる getter、setterメソッドを追加してやればアクセスを制御できる こういう点で単なるグローバル変数とは違う
722 名前:デフォルトの名無しさん [2008/05/01(木) 12:12:25 ] >>721 ありがとうございます
723 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:33:01 ] クラスファイルが大きくなってきて ガベージコレクトか最適化か分からないけどカクカクするようになってきました。 そこでクラスファイル中で初期化だけに使う関数を消したいんだけど無理? ゲームの実行中は初期化に使う関数をガベージコレクトの対象から外したいのです。
724 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 12:33:58 ] メソッドはGCの対象にはならん。 クラスを分割して小さくしろ
725 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 13:34:22 ] クラスを分割してもクラスローダを分割しないと回収されないよ でも効果は薄そうな気がする とりあえず本当にGCが原因なのか確認しる -verbose:gc オプション付けて実行すればログが出るから jconsole を使ってもいいし
726 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 14:55:22 ] DatagramPacket に設定できるデータの最大サイズってどこでわかるナリか?
727 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 15:07:38 ] どっちかといえばNICとかOS側の制約な気がする
728 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 15:32:10 ] それどっかから取れないナリか? ネイティブでもペイロード長分からないんだっけ?
729 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 15:41:21 ] jspでフォームに入力されたメールアドレスが正しく無い場合 入力欄の下に”メールアドレスが正しくありません”と表示させたいのですが どのように実装するのが良いでしょうか? 似たページを複数作るのは手間が掛かりすぎます。
730 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 15:45:41 ] JSTL でも使え
731 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 16:01:00 ] >>728 取り方はわかんないなぁ。 どうせイーサだし、1500以下じゃだめなんかな? PPPoEとか考えてるともっと小さくないとだめだろうけど。 >>729 JavaScriptでチェックしたら?
732 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:13:26 ] Jad と連携させて .class のソースビューワみたいなのを作ってるんですが そもそも、.NET における Reflector みたいなソフトって Java にはあるんでしょうか? よろしくお願いします
733 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:25:49 ] Refactorってのは知らんけど、あんたさんが作っているのはJadclipseってEclipseプラグインであるぞ
734 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:39:54 ] Java Native Interfaceはこのスレで質問しても大丈夫ですか? jchar型の変数にunicodeを代入したいんですがどうしても方法がわかりませんでした。 char型→jchar型の変換は見つけたのですが、char型[]をjchar型にする方法が知りたいです。 8bit(aなど)のものは問題ないのですが16bit("あ"など)がどうしても格納できません。 java神の降臨を願います。
735 名前:デフォルトの名無しさん mailto:sage [2008/05/01(木) 20:51:15 ] めんどくせーので Java 側で byte[] ⇔ char[] 変換メソッド作ってそれを JNI から呼んでる。
736 名前:デフォルトの名無しさん [2008/05/01(木) 23:49:04 ] メソッドの定義でこのようなのがあったのですが public static <T extends Comparable<T>> void sort(List<T> list) <T extends Comparable<T>> の部分がよくわかりません…。 この部分では何がどう定義されているのでしょうか? (T というクラスが Comparable<T> を継承してる???) Java Generics関連らしいのですが 単純に文法的な記述の意味がわからず困っています
737 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:13:35 ] > (T というクラスが Comparable<T> を継承してる???) そんな感じ。
738 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:17:02 ] 『TってのはComparable<T>を実装したTだ』って宣言
739 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:20:52 ] String extends Comparable<String>とかな。 genericsの導入でComparable#compareToなんかもObjectではなく 特定の型を取れるようになったためにこうなる。
740 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 00:21:28 ] implementsですた。
741 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:08:33 ] iアプリを勉強しようと思うけどどれをDLすればいいですか? ttp://www.nttdocomo.co.jp/service/imode/make/content/iappli/tool/index.html あとこれもどれなのかわかりません。 ttp://www.eclipse.org/downloads/
742 名前:736 mailto:sage [2008/05/02(金) 01:10:34 ] >>737-740 レスありがとうございます。 まだわからない所があるので、もう少し相手してもらえると助かります。 ドキュメントによると Comparable は インターフェースですよね。 インターフェースは継承ではなく実装するものだと理解してましたが この場合はなぜ継承されているんでしょうか?
743 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:26:39 ] インターフェースも継承できる。 使いたいなら実装する必要があるだけ。
744 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 01:27:21 ] 補足 この場合の使うというのはインスタンスを作るということに近い。
745 名前:736 mailto:sage [2008/05/02(金) 02:28:32 ] >>743-744 う〜ん、よりわからなくなってきました。(´〜` ;) もう一度インターフェースについて勉強しなおしてきます
746 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 02:32:18 ] >>733 レスありがとうございます Jadclipseを実際に使用したところ 自分が欲しい機能を概ね満たしていたので良かったです ありがとうございます
747 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 08:58:45 ] Servletの話で恐縮ですが <input type="text" name="group[1].line[10].name" value="hoge"> といったように名前のついたパラメータをサーブレット側で 取得しているのですが現在は1と10のところをループカウンタで まわして取得しているのですがあまり処理速くありません。 美しくそして速く処理できるアルゴリズムというか方法は ありませんでしょうか?
748 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 11:46:07 ] >>742 >インターフェースは継承ではなく実装するものだと理解してましたが インターフェースを継承したインターフェースを作ることができるよ public interface Foo extends Comparable<Foo> { ... }
749 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 11:50:08 ] >>742 extends と implements を特に区別する意味がないっつーか。 T がクラスなのかインターフェイスなのかはわからんし。
750 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 11:59:26 ] >>747 なにをどうすると、処理が速くないんだ? ループさせるのが普通だろ
751 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 13:50:11 ] 配列を書くとき、 A[] a=A[10]; A a[]=A[10]; 文法間違ってるかもしれないけど、 四角の場所の違いはどのような考えがあるんですか?
752 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 13:56:36 ] C 風かそうでないか
753 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 14:02:12 ] A[] a → Java スタイル A a[] → C/C++ スタイル A []a → 変態
754 名前:デフォルトの名無しさん [2008/05/02(金) 19:56:39 ] SimpleDateFormat がうまくいきません。 SimpleDateFormat sdf = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z"); sdf.parse("Wed, 30 Apr 2008 13:16:59 +0900"); これでうまくいきそうなんですけど java.text.ParseException: Unparseable date: "Wed, 30 Apr 2008 13:16:59 +0900" うまくいきません。 どこが間違ってるのでしょうか?お願いいたします。
755 名前:734 mailto:sage [2008/05/02(金) 20:03:25 ] >>735 どしてもC側で処理を完結させたいのです。 仕方なくwindows.hを使ったSHIFT-JIS→UNICODE変換を行うことにしたのですが。 UNIXではwindows.hが使えないので困っています。 iconvを使った変換方法があるらしいのですが、iconvってUNIXのコマンドですよね。 C言語内で使用する参考サイトなど教えていただけないでしょうか。
756 名前:デフォルトの名無しさん mailto:sage [2008/05/02(金) 20:12:13 ] >>754 そのままだと解析のロケールが日本なのでコンストラクタかなんかで Locale.US あたりを設定する。 >>755 プリプロセッサで差し替えるなりモジュール化設計するなりしときゃいいじゃん。
757 名前:754 [2008/05/02(金) 21:37:29 ] >>756 サンクス! うまくいきました。
758 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:19:50 ] JAVA基礎の本を一通り終え、次のステップに移りたいと思っています。 どんなことを勉強したらいいでしょうか?おすすめを教えてください。 例;GUIアプリ、JSP、サーブレットとか
759 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 01:27:08 ] 自分が欲しいものを作る。
760 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 02:40:35 ] コンポーネントにフォーカスを設定するのってどうすればいいんでしょうか? どこかのサイトでみたのですが、 // TextBox1 にフォーカスを設定する this.textBox1.Focus(); // Button1 にフォーカスを設定して、成功した場合はその旨を表示する if (this.button1.Focus()) { MessageBox.Show("Button1 がフォーカスの取得に成功しました"); } これってあってますかね?このとおりやってみてもエラーなんです...
761 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:04:40 ] それなんていう言語?
762 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:07:37 ] >>760 はスレタイ 100 回読み直して腹を切って死ぬべき
763 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:07:56 ] ん〜javaって書いてあったんですけどやっぱ間違いですよね。。。 あの、、どなたかやり方教えていただけませんでしょうか?
764 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:12:38 ] MessageBoxつー名前が出てくる時点でMSの言語っぽい気配が濃厚なので、 たぶん.Netの何かじゃない?
765 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:17:04 ] とりあえずjava.awt.Component#requestFocusとisFocusOwnerを調べよ。
766 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 03:17:08 ] もしかしてJ#とか?
767 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 04:07:25 ] 同じような質問なんですが、Enterキーを押したときに そのフォームに記入されている値をチェックし、 次のフォームに移動(TABを押したように)したいんですがどうやればいいんでしょうか?
768 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 04:15:30 ] Web 作成か WebProg 板逝け
769 名前:767 mailto:sage [2008/05/03(土) 04:19:44 ] transferFocusでできました。すいませんありがとうございました。
770 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 04:24:28 ] 3次元ベクトルを扱いたいのですが、Vector3Dクラスですと値がintのみになってしまいます doubleも扱える3次元ベクトルクラスは無いのでしょうか?
771 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 09:41:24 ] >>770 org.apache.commons.math.geometry.Vector3D でも使えば?
772 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 11:57:36 ] Java3Dのjavax.vecmath.Vector3fやVector3dを使えばいいはずだが、 Vector3Dとは何ぞや。
773 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 12:52:31 ] >>771 >>772 javax.vecmath.Vector3dで目的のものが出来ました。 私が見ていたVector3Dはnttdocomoの特殊なものだったようです。
774 名前:デフォルトの名無しさん [2008/05/03(土) 13:14:16 ] NetBeansで.jarファイル(Javaアプリケーション実行ファイル)として出力するにはどうすれば良いのでしょうか?
775 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 14:54:02 ] >>774 NetBeansスレへ
776 名前:デフォルトの名無しさん [2008/05/03(土) 14:56:19 ] d.hatena.ne.jp/javastudy/ こういうことになりかねますか?
777 名前:デフォルトの名無しさん [2008/05/03(土) 15:25:34 ] はじめまして。 自宅にネットがつながっていないのですが、javaがつかいたいんです。 ネットカフェに来てUSBにダウンロードをして自宅で使用したいのですが、やり方がわかりません。 どなたか教えていただけませんか?
778 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 15:45:17 ] 大嘘つきはふしあなしてからにしろ
779 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 16:19:13 ] ネカフェに1日行かなければ1ヶ月ネットが使えるよw
780 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 16:48:24 ] おまいら ADSL すらまだ使えない田舎や離島のことも配慮しろよ。
781 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 16:53:04 ] そんな田舎にはネカフェなんかないだろ
782 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 16:57:08 ] そこまで田舎じゃなくてもブロードバンドが普及しない離れ小島状態はけっこうある。 そうかと思えば基地局遠すぎて利得損失が大きいからADSLはダメで いきなり光が来ることもある。
783 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 17:01:11 ] 街まで出てネカフェという状況も想像できないゆとり
784 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 17:37:06 ] >>780 ,782,783 だったら777に手取り足取り教えてやれよ
785 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 17:46:52 ] 今JAVAの勉強中で置換をやっているんですが、先頭の文字だけ置換するのはどうやったらいいのでしょうか。 charAt(0)で取得すると変数は"先頭の文字"としてじゃなくて1つの文字とみなされ他の文字まで置換されて困っています。
786 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 18:13:55 ] ゆとりの逆切れ炸裂
787 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 18:16:47 ] 意味不明 先頭文字置換なら、charAtで取得して、replaceFirstでOK もしくは、他の置換とかもあることが多いので、StringBuilderに格納してすべての置換処理を行い、toStringで置換後のStringを取得する。 StringBuilderの方が、文字列操作のクラスだけあって、色々やりやすいメソッドが多い
788 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 18:20:58 ] >>785 String s = "hoge"; t = "m" + s.substring(1); とか u = s.replaceFirst(".", "m"); とか
789 名前:デフォルトの名無しさん [2008/05/03(土) 19:16:29 ] 50枚ぐらいのJPanel(その上にも色々なコンポーネントを乗せて10) 見たのですが、CardLayoutで切り替えしているのですがどうも重たいです。 このぐらいの量だとベースのパネルにJPanel をくっつけて削除 した方がいいのですかね?その時に気をつけなければならないことは何ですか? 教えてください。宜しくお願いします。
790 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:22:19 ] CardLayoutで50枚ってユーザは全部使うの? 使用頻度の低いPanelは開かれたときに初期化するなど工夫すればいいと思う。 そもそも、CardLayoutを勘違いして使っていると思うぞ。 例えばRPGでオープニング画面とフィールド画面と戦闘画面と町の画面をCardLayoutで切り替えるとかやっているんじゃね?
791 名前:デフォルトの名無しさん [2008/05/03(土) 19:31:13 ] >>790 どうもです。 作成して初期化するっていう感じでいいですかね? 作成するときにどれだけかかるかにもよりますが・・・ 一応50枚のパネルは共通のインターフェース使っているので、 よく使う物は最初にロードしておいて定数ぽく使って、後は生成するというパターンが いいですかね?baseのパネルから貼り付けたりremoveしたりでOKですかね? ちょっと勢い余ってかなりの量のコードを組んでしまったので・・・Javaでこれだけ組むのは 初めてです。 なんだかグラフィックのリソースを食いまくっていて他に影響が出そうです
792 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:41:14 ] Java以前に、50枚切り替えとか常識的に考えて設計がおかしいだろ どういう手段を実現したいのかではなくて、どういう目的を実現したいかを説明してみ
793 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:45:10 ] 業務アプリとか作ったことないのか…
794 名前:790 mailto:sage [2008/05/03(土) 19:45:29 ] >>791 作成して初期化するって意味が解らん 新しい画面を表示するときにnewした所で一瞬 792も言っているが、まずは何をしたいかを説明した方がいい
795 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 19:46:17 ] >>787 >>788 有難うございました。本を見ながらなんとか出来ました。結城さんもうすこし分かりやすく書いてよ・・ StringBuilderとかまだ分からない言葉もありましたが助かりました。
796 名前:デフォルトの名無しさん [2008/05/03(土) 19:53:13 ] >>792 詳しいことは省きますがあるアプリケーションを作っていて本当に様々な 操作をするのに50枚いるのですが、メニュー画面から親JPanelは50枚以上かな・・・ その上にももちろんJPanel載っています。そしてメニュー画面のボタンを押すと切り替えていっています。 そしてデータなどの入力・編集・印刷処理などをさせています。今現実的にうまくは動いているのですが、 ただ重たくて・・・できるだけ簡単に改造できればと思っています。 プログラムをロードするときに全部作っていてCardLayoutでばんばん貼り付けていました。 それをmediatorパターンで中央管理していたのですが・・・おそらくそこでJPanelを生成するクラスを作って 管理すればいいですかね?
797 名前:デフォルトの名無しさん [2008/05/03(土) 19:58:27 ] >>793 その通りですw 言語処理系でプログラムをやっていたんですが急に業務用のアプリを速攻で作りましたw Windowを使ってプログラムを書くのは初めてです。 >>794 インスタンスを作るという意味ですinit()やexit()をcallしています。 インスタンスを作ってあるものを。今はCardLayoutで切り替えて共通のインターフェースでinit()で データの初期化やロードをしたりexit()メソッドを呼んだりしています。
798 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 20:55:24 ] >>793 確かに業務アプリには糞設計のGUIが散見されるな
799 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 20:56:32 ] m9(^Д^)
800 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 20:59:10 ] >>796 重くなっている原因がJPanelの数って話は推測ですか、実測した結果ですか? また、起動パラメータやJavaのバージョンをあげるなど、ソースに手を入れずに出来る対策はされましたか? ちなみにSwingであれば、大雑把に1.4から5.0にすると2倍、5.0から6にすると1.5倍くらいのパフォーマンスアップが見込めます。 起動時のヒープ確保量のデフォルトも大きくなっています。
801 名前:デフォルトの名無しさん [2008/05/03(土) 22:09:01 ] >>800 どうもです。 残念ながら推測です。ただグラフィックの資源を食いつぶしているのではないかと 感覚的にしかつかんでいません。今5.0 を使っていますが、6.0にするとそれだけの パフォーマンスがアップするんですか・・・ちょっと考えて見ます。 実行時のパラメータはメモリ関係の方はかなりあげています。 もうかなりの人間が使っているのでソースはいじりたくないですからね。 何せ、今回GUIでWindow自体の開発は初めてでデザインパターンやJavaの本を短期間で 読みあさりどんどん書いていってしまったのでここに相談させていただきました
802 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:10:10 ] >>798 質問している人間ではなく50枚も作るのかと言っている人間じゃないのか(笑)
803 名前:デフォルトの名無しさん [2008/05/03(土) 22:19:58 ] 教えてください、今ホームページを作っていてHTMLのsubmitボタンを押したときの 時間を取得するのは可能ですか? 昔本呼んだswingかなんかの処理ではたしかイベント処理があったと思うんが HTMLのボタンでもイベント処理とかできるんですか? 初心者なんで可笑しなこと聞いてたらすみません
804 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 22:22:49 ] Javaは関係なさそうな・・・ フォームとJavaScriptでいけるんじゃね?
805 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:11:19 ] >>804 すいません、今Javaを習っていて web3構築を使ってホームページを提出しなきゃいけなくて どーしても押された時間によって処理したいことがあって ちなみにJavaScriptはまったく分かりません swingもまだ習ってないんですけど たしか昔本で読んだことがあって
806 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:14:20 ] >>805 Submitを押された時間ではなくて、Servletでリクエストを処理した時の時間ではダメなのか? 多少の誤差は出るが、十分な気がするけど。 むしろ、クライアント側の時刻なんて各マシンの時刻だから信用できるものでもないし。
807 名前:デフォルトの名無しさん mailto:sage [2008/05/03(土) 23:14:33 ] よくわからんけど課題って習ったことを使えばできることなんじゃないの?
808 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:15:23 ] >>806 >Servletでリクエストを処理した時の時間ではダメなのか? そういう方法もあるんですね、十分だと思います ていうかDateクラスで得られる時間って 自分のパソコンに設定されている時間だってことに気付かされました ありがとうございました >>807 ショッピングサイトならなんとか作れそうなんですけど 落ちこぼれなんで、皆と違うものをと思ったんですけど 自分で調べろ的な学校だし 大人しくショッピングサイトのほうがいいかもしれません
809 名前:デフォルトの名無しさん [2008/05/04(日) 01:51:50 ] 例えばArrayListなどのインスタンスを、メソッドに引数として渡し、 メソッドの中で、そのインスタンスに対して操作を行うことは、 Javaのマナー的に、やらない方がいいのでしょうか?
810 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:55:56 ] モジュール結合度が上がる (共有結合になる) のであまり良くはない。 まぁクラス内に閉じていて private 宣言されているようなユーティリティメソッドとかなら良いんじゃないの。
811 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 02:37:03 ] ケースバイケース 禁忌ではない
812 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 04:19:14 ] むしろ、弄られないことを想定している場合は (そのメソッドが継承できるように公開されている場合は) 呼び出し側でコピーを作って渡すべき
813 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 05:13:28 ] 操作を行うって書いてあんじゃん。 それにコピーなんか作らなくても Collections#unmodifiableList() で十分。
814 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 08:00:49 ] >>812 呼び出し側でコピー作るのか? 普通は呼ばれた方(コンストラクタ等)でコピーを作るんじゃね? ArrayList(Collection col) とかそうだろ?
815 名前:809 mailto:sage [2008/05/04(日) 17:29:19 ] >>810 >>811 どうもありがとうございます。 禁忌じゃないけど、あまり良くないという感じでしょうか。 ケースバイケースで考えてみます。
816 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:45:08 ] >>814 コンストラクタでコピーするのは、 生成されたインスタンスが内部に保持するフィールドを防御するためで、目的が違う。 それにコンストラクタは、明示的にクラスを指定しなければいけないから 何をするべきかは、ドキュメントをみて決定していいと思う。 >>813 unmodifiable〜で十分なのは、ごもっともで
817 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:56:07 ] >>815 むしろ、何が行われるかをドキュメントに書くことが重要 外見は同じでも、 /** ソートしたリストを返す。元のリストはそのまま */ List sort(List list) /** 引数の list を破壊的にソートした後、そのリスト自身を返す */ List sort(List list) の2つじゃ、使う側のどきどき感が違う
818 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 19:19:44 ] ドキュメントは重要は同意 設計の方針としては、どんな使われ方しても自分のバグにならないように保守的にするのが良い。 コンストラクタの中でのコピーはそういう観点でもある。
819 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:11:25 ] >>818 でもそれを徹底し過ぎると、メモリを無駄に馬鹿食いする危険性も。 Objectに変更可否フラグがあれば良かったのかもしれんが……。
820 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 21:13:37 ] たいしてつかわねーよw
821 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:05:10 ] >>819 それがドキュメントであり、設計なのでは? シャローかディープのコピーでも違いがあると思うけど。
822 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 23:51:52 ] そんなふうに色々考えているうちに、頭のCPUがフル稼働して、自分が何に悩んでいるかすら忘れ、結局は一番簡単で手抜きの設計に落ち着くわけです
823 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 00:13:50 ] まさにYAGNIの原則。
824 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:24:07 ] 防御コピーは徹底しろ。それが嫌な奴はオブジェクト指向言語など使うな。 どうせ、「オブジェクトを作ると遅くなる」とか言い出すのだろうし。
825 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:29:29 ] 極論バカが来ました
826 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:42:13 ] 防御コピーが極論か。 オブジェクト指向がこの世に出てから半世紀近く経っているのにな。
827 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 01:50:24 ] オブジェクト指向覚えたての社会人 2 年目かよw でも経験少ないから適材適所のような程度問題が判断できないんだよな。
828 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 03:09:17 ] 全てのオブジェクトをイミュータブルにしてしまえばいいんだよ 停止し結晶化した世界は美しいぜ
829 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 03:11:13 ] 吟遊詩人が現れた
830 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 04:22:00 ] >>828 それ何てErlang? まぁErlangだとI18N/L10Nが絶望的なので、実用を考えるなら Scalaでありとあらゆるオブジェクトをvalで宣言するのが良さげ。
831 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 09:24:54 ] [問題]与えられた9個の変数(int型)の中から最大値と最小値を求め、表示しろ。 [解1]3つのメソッドを作る void setData(int...data){// ここでmaxとminを求める} int getMax() {} int getMin() {} // こんな単純な問題でメソッドを3つも使う必要があるのか? [解2]変数maxとminを持った内部クラスを作る class Data { int max; int min; } Data getData (int...oneDatas) {// 最大値、最小値を求めDataクラスに格納して返す} // なんか気持ち悪い。 先輩方はこのような宿題を出されたら、どのように解答したらいいと思いますか?
832 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 09:57:32 ] どういう状況で出された問題なのか解らないのではっきりとは言えないが、解答として間違っていないとは思われ。 クラスという概念になれるっていう場面ならば、解1の方が良いと思う。 だけど、setDataでmaxとminを求めるのではなく、フィールドに変数を格納しておき、getMax, getMinで最大(最小)を求める方が良い。 解2の方は内部クラスとして定義しているだけならば、本質は解1と何も変わらん。 1つのメソッドで2つ以上の値を返す時には普通に使う。
833 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 09:58:48 ] 表示しろだろ? 素直にそのままやろうぜー max(int ...data)とmin(int ...data)を作っておいてそれを利用して普通に出力かな 2回も走査しないといけないじゃないか!って気持ち悪い場合は、これくらいのロジックだしその場で書く。 これくらいで新たなクラスやら、その結果専用のクラスを作るのはどうかと思う。
834 名前:832 mailto:sage [2008/05/05(月) 10:01:00 ] 補足。 解1でフィールドに保持しておくと、メモリ使用の点、最大最小を求めるコスト的な点ではデメリット。 だが、そのクラスに「平均値を取得するメソッドを追加しろ」という仕様変更に強いのがメリット。 全ての処理をsetDataでやっている場合、まったく異なる性質のメソッドを追加しているのにもかかわらず、最大最小を求めるメソッドがデグレを起こす可能性があるからね。
835 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 10:09:41 ] APIの使い方の話題なのか、for文とif文レベルの話題なのか、832の書くようなクラス設計の話題なのか、問題文に記述するべきだな。
836 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 11:19:13 ] >>831 本題には無関係だが、dataは複数形で、単数形はdatumだ。 (dataを単数扱いすることもあるらしいが、どちらにしろdatasにはならない)
837 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 17:27:12 ] アプレットが初期化されていませんって言うのはいったい何のエラーなんですか? あとアプレットをhtmlに組み込むのって<body>の中に何か書く必要ありますか?
838 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 17:44:42 ] アプレットが初期化できていないってエラーだ。 www.google.co.jp/search?q=java+%E3%82%A2%E3%83%97%E3%83%AC%E3%83%83%E3%83%88+%E5%85%A5%E9%96%80
839 名前:デフォルトの名無しさん [2008/05/05(月) 20:40:18 ] すんません、メソッドについて質問させてください。 Aクラス ・メンバ変数ふたつ(static) ・メソッド(実行すると引数をもとに計算してメンバ変数の内容を書き換えるメソッド) 適当なクラスファイルでAクラスのインスタンスを生成して、 メソッドに引数を渡して処理をし、その次の行にAクラスのメンバ変数ふたつを呼び出したところ、 変数はどちらも初期値のままでした。なにがいけないのか全くわかりません。 どなたか教えていただけませんか。 メソッドは戻り値はなく、メンバ変数を書き換えるだけなのでvoid宣言してありreturnは書いてません。
840 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 20:46:27 ] >>839 書き換えてないからでしょう
841 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:01:26 ] >>840 どうして書き換えられていないのか心当たりになるようなケースありますか?
842 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:04:37 ] まずはコードを貼るんだ
843 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:06:00 ] とにかく問題のコードを書いてくれ
844 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:11:16 ] 開始時刻と終了時刻を入力して経過時間とともに表示するプログラムです。 package XXXXXX; public class ex134{ /* クラスフィールド */ public static int hh, mm; public int subTime(int h1,int m1,int h2,int m2){ mm = h2 * 60 + m2; mm = mm - (h1 * 60 + m1); /* 終了時刻が翌日であるケースの修正 */ if (mm < 0){ mm = 24 * 60 + mm; } hh = mm / 60; mm = mm % 60; } }
845 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:15:01 ] import XXXXXX.*; public class XXXXXX{ public static void main(String[] args){ /* 変数 */ String buf; /* インスタンス生成 */ KeyIn key = new KeyIn(); ex133 ex = new ex133(); /* 時刻の入力 */ //入力文省略 /* 経過時間の計算と表示 */ //省略 ex.subTime(h1, m1, h2, m2); buf = " " + ex.hh; buf = buf.substring(buf.length() - 2); System.out.print("経過時間 " + buf + " 時 "); buf = " " + ex.mm; buf = buf.substring(buf.length() - 2); System.out.println(buf + " 分"); } }
846 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:17:14 ] すいません、貼り付けた直後に自己解決しました。 インスタンス生成するとこのクラスファイル名を間違えていました。 voidもintになってた!本当にすいません。
847 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:34:45 ] これもカーニハンの言うテディベアの話と同じ原理なんだろうか
848 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:39:32 ] マーフィーの法則w
849 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:07:38 ] >>832 ,834 わかりやすい説明ありがとうございます >>833 getMin(int...datum)、getMax(int...datum)の二つのメソッドを作って提出したいと思います。 ありがとうございます。 >>835 問題のレベルとしてはif文、for文を正しく使うレベルだと思います。 しかし、授業ではメソッドやクラスを使うところまでは学んだので、これを使って問題を解いてみようと考えてみたら上手にメソッド分けが出来なくて・・・ >>836 英語の勉強をがんばりますXD
850 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:23:25 ] 必要のないところにオブジェクト指向的なプログラミングをするのは 不必要な複雑さを導入するだけ
851 名前:デフォルトの名無しさん [2008/05/05(月) 22:31:45 ] JSPでFormから入力された文字列をInteger.parseInt()で int型の数字にして利用しているのですが、例外処理の書き方が判りません。 Integer.parseInt()に"12345q"とか入った時点でエラー吐いて止まってしまいます。 どのように回避すれば良いのでしょうか?
852 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:31:50 ] parseIntで発生する例外をcatchするか、charにばらして1文字づつチェックするか、正規表現で数値かどうかをチェックするか、好きにしろ
853 名前:デフォルトの名無しさん [2008/05/06(火) 00:22:03 ] Java SEのダウンロードページにアクセスできません このままでは仕事が出来ないので誰かインストーラうpしてください><><<<
854 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:33:37 ] またかよ・・・ バージョンの指定はないな。 ほれ sakuratan.ddo.jp/uploader/source/date80855.zip
855 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:59:50 ] (;゚д゚)ァ.... 本当に聞いてくれるとは思わなかった。ありがとう。 とはいうものの、今更バージョン違うなんて言い辛いorz
856 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 01:38:35 ] applis.servehttp.com/ の 00013292.exe パスはjdk6
857 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 03:46:59 ] journal.mycom.co.jp/column/java/023/index.html を参考に勉強していたのですが 下のコードがバイトコンパイルを通らず困っています バージョンを変えないといけないのでしょうか? $javac GenericClass.java GenericClass.java:1: '{' がありません。 public class GenericClass<E> { ^ GenericClass.java:3: '}' がありません。 } ^ エラー 2 個 環境は以下の通りです 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)
858 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 03:54:22 ] 本当に1.6のjavac使ってるか? javac -version で確認してみろ。 1.4とか出てきたならば、pathを確認してみるべし。
859 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 04:11:38 ] …間違ってました。orz パスを確認したら1.4 を呼んでました。 ちなみに 1.4 では javac -version が用意されてないようです
860 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 16:26:41 ] >>859 javac -J-version
861 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:07:30 ] linkedlistで最後の要素を追加、削除するときは、その処理を実行するたびに先頭からたどっていくのでしょうか? それとも前回参照した値からたどっていくのでしょうか?
862 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:40:15 ] 一般的な実装であれば最後に追加するのに先頭からどうこうすることはない。 気になるならば、ソース読んでみたら?
863 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:50:01 ] 実装軽く読んだけど、まあ少なくとも線形探索はやってない感じ
864 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:18:53 ] www.kab-studio.biz/Programing/JavaA2Z/Word/00000319.html ↑を読むと ただし、LinkedListクラスの要素を取得する場合、インデックスナンバーから直接取得することはできず、 先頭に当たる要素からリンクをたどって数えていき取得することになる。 そのため、データの取得はArrayListクラスよりも遅い。 という風に書いてあったんですけど、先頭から削除しても、最後尾から削除してもすべての要素を削除するのに かかる時間に違いがなかったので質問させていただきました。 で更にぐぐってみたら www.stackasterisk.jp/tech/java/collection02_02.jsp ↑に 削除する要素が後半だったら、最後尾から探索するって書いてあったんで理解しました
865 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:26:17 ] 先頭と最後尾へのアクセスに特化させて効率をよくしたのがLinkedListなんだよ 基本的なデータ構造なんだから覚えておけ
866 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:30:23 ] バカが現れた。
867 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:51:16 ] いやいや、釣りだろw
868 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:56:03 ] 彼は僕達には理解できないLinkedListの真理に到達したに違いない
869 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:06:28 ] あぁ、まりちゃんね。
870 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:35:31 ] VMが落ちると出力されるコアダンプについてですが、 ファイルを見ても何がなんだかさっぱり分かりません?_? 最低限、コアファイルから分かる情報は拾えるようにしたいのですが コアダンプについて詳細に解説してるサイトを教えてくださいm(__)m できれば日本語のサイトが良いです。
871 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 20:50:16 ] コアダンプというのは、簡単にいえば、プログラムが動いていたときの そのプログラムが使っていたメモリの状態をファイルに落としたもの。 落ちたプログラムをデバッガにかけるときに、死んだときの状況を再現する ためにコアダンプを与えることが出来る。単体ではあまり意味はない。 デバッガとかgdbとかdbxという単語とペアでぐぐればいいと思う。
872 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 21:11:46 ] ありがとうございます。 コアダンプ単体では意味がないのですね。 教えていただいた単語も含めぐぐってみます。
873 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 01:19:20 ] wavを再生する際の音量を調節するにはどうすればいいのでしょうか? 調べては見ましたがどうもそれっぽいのが出てこず・・・ www.google.com/search?q=java+%E9%9F%B3%E9%87%8F%E3%80%80wav&hl=ja&lr=&client=opera&rls=ja&hs=wF5&start=20&sa=N
874 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 06:03:01 ] [form.jsp]の入力フォームに入力された値をtxtファイルに書き出したいのですが、うまくいきません。 エラー無く[form_ok.jsp]に移動はしてくれるのですが、data.txtがどこにもつくられません。 どこをどう直すべきでしょうか。(改行が多すぎるとエラーが出たので、妙な改行になっています。すみません。) [form.jsp] <form action="form_ok.jsp" method="post"> <input type="text" name="data"><input type="submit" value="送信"> </form> [form_ok.jsp] <jsp:useBean class="form.form" id="mail" scope="session"/> <html><head></head> <% String data = request.getParameter("data"); form.main(data); %> <body>(以下略) [form.java] package form; import java.io.*; public class Mail { public static void main(String data) throws IOException { try{ FileOutputStream fos = new FileOutputStream("data.txt"); OutputStreamWriter osw = new OutputStreamWriter(fos , "MS932"); BufferedWriter bw = new BufferedWriter(osw); bw.write(data); bw.close(); osw.close(); fos.close(); } catch(Exception e){ e.printStackTrace();} } }
875 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 10:44:23 ] long型を使って19桁までの計算はできましたが、20桁以上の計算のやり方がわかりません。 具体的に言うと12345678901234567890*12345みたいな計算です。 お願いします。
876 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 10:49:06 ] BigDecimal
877 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 12:40:27 ] 整数だけでいいなら BigInteger
878 名前:875 mailto:sage [2008/05/07(水) 13:46:56 ] >>876-877 レスサンクスです。 それらについて検索して、色々やってみます。
879 名前:デフォルトの名無しさん [2008/05/07(水) 19:17:43 ] プログラミング学びたいんだけどC、C++、JAVAどれから始めればいい?あとなんかいい本ある?
880 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 19:26:50 ] >>879 初心者のためのプログラミング言語ガイド Part8 pc11.2ch.net/test/read.cgi/tech/1208186034/ 目的を書いた方がいいよ 何のためにプログラミングを学ぶのか、具体的に何を作りたいのか
881 名前:デフォルトの名無しさん [2008/05/07(水) 20:17:39 ] 就活で使いたいんだよねー 今年学部で就活してみてIT技術の大切さが分かったから院でまた就活するときに使えるように ITコンサルいきたいって思ってるんだけどなにがいいかな?多分企業によっても違うんだろうけど、一番使い勝手がいいのは何?
882 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 20:27:39 ] こうやってまた学校が屑を押し付けてくるのか
883 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 20:34:05 ] Cは、その選択肢の基礎になる。 Cができれば、UNIXのカーネルも読めるし。
884 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 21:51:57 ] Cができればカーネルが読める、 英語ができればカーネルさんと話せる
885 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 22:01:46 ] javax.swing.tree.DefaultTreeModelの仕様について質問です。 DefaultMutableTreeNode n1 = new DefaultMutableTreeNode(); DefaultTreeModel t = new DefaultTreeModel(n1); System.out.println(t.getRoot()); => null なぜnullが出るのでしょうか? コンストラクタはrootを要求しています。 なのでn1がrootとして取得出来ると思うのですが、 どうすればn1がrootとして取得出来るようになるのでしょうか? ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/tree/DefaultTreeModel.html
886 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 22:15:00 ] 追記です。 加えて System.out.println(t.getRoot()==null); => false になります。 nullではないと言ってるのにnullが出るのはなぜでしょうか・・
887 名前:デフォルトの名無しさん [2008/05/07(水) 22:35:55 ] ファイルの書き込みをFileWriterでやるのはうまく出来たのですが 書き込むときにまっさらにして書き込みたい時はどうするのでしょうか? ループの中で一行のテキストを書き込んでるのですが、追記じゃなくて、その時書き込んだものだけが残るようにしたいです。 File file = new File("path"); file.delete(); FileWriter fw = new FileWriter(file); fw.write("書き込むテキスト"); とかやってみたけど、ファイルサイズ0になってしまいました。 お願いします
888 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 22:49:49 ] closeしろ
889 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:40:15 ] >>885-886 > DefaultMutableTreeNode には、ユーザオブジェクトへの参照、つまりユーザが独自に定義するオブジェクトへの参照も格納できます。 > DefaultMutableTreeNode に toString() を指定してその文字列表現を要求すると、そのユーザオブジェクトの文字列表現を返します。 を踏まえたうえで ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/tree/DefaultMutableTreeNode.html#toString() こいつが呼ばれているからだと思う
890 名前:超初心者 mailto:sage [2008/05/08(木) 00:08:55 ] すみません。 .jadファイルと.jarファイルをアップして、 携帯でDLして、正常に起動できるようにしたいのですが、 どうすれば、いいでしょうか? とりあえず、2つのサーバーの内、一つのサーバーでは、 アップしたデータが携帯で正常に起動する事が出来たのですが、 もう一つのサーバーでは、ミスマッチと表示され、起動できませんでした。 .jarファイルは、URL認証がOKのサーバーじゃないと無理なのでしょうか? ちなみに、.htaccessに.jadと.jarのmime-typeは、追加しています。 すみませんが、どなたかご教授お願い致します。m(__)m
891 名前:デフォルトの名無しさん [2008/05/08(木) 08:52:56 ] お邪魔します。同じく超初心者です。 課題でハングマンをいう文字当てゲームのプログラムを書いてる所なんですが、 なにやらもうにっちもさっちもいきません。 見本の一部がこんな感じです。 Word: _ _ _ _ _ _ _ _ _ _ _ _ _ _ Misses: Guess a letter: a Word: _ _ _ _ _ _ _ A _ _ _ A _ _ Misses: Guess a letter: e Word: _ _ _ _ _ _ _ A _ _ _ A _ E Misses: インプットされた文字をcharにストアしてanswerと照らし合わせて‥ みたいなとこですでに行き詰まってます。 for (int i = 0; i <= answer.length; i++) { if (answer.charAt(i) == input) { System.out.prin(input); } else if (answer.charAt(i) !=input) { System.out.print("_"); } } } 前に予想した文字もプリントしようとすると際限なく長くなっていっちゃうんですが‥‥ しかも答えはランダムに選ばれるので答えの文字数は不明です。 どんなループに入れたらいいんでしょうか? それと予想された文字を正誤順番問わず繋げてストリングにストアしろという ヒントも出してもらったんですが‥ 課題の目的としては、Boolean method, while loop, text processing、 あたりの知識を理解しろということみたいです。 かなり適当な説明ですが、なにかしらご教示いただけるととっても助かります。
892 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 09:02:33 ] >>889 どうしてそうなるの? getRootでなんでそんなものを呼び出すのか分からない。 理由がないだろ
893 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 10:23:27 ] tomcat + データベースでjava.util.Dateを扱うときなんですけど。 データベースからrs.getDate()メソッドで日付を取り出したとします。 jsp側でDateのインスタンスを生成しデータベースから取り出したDateと生成した Dateをequials()で比較するんですけど上手くいきません。 何かおかしいところがあったらご教授下さい。
894 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 10:30:07 ] >>892 getRootの戻り値になっているDefaultMutableTreeNodeオブジェクトのtoStringが呼び出されて いるのであってgetRootが直接手を下しているわけではないってことでわ?
895 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 10:44:15 ] >>893 > データベースからrs.getDate()メソッドで日付を取り出したとします。 こっちはjava.sql.Dateで > jsp側でDateのインスタンスを生成しデータベースから取り出したDateと生成した こっちはjava.util.Dateになってて違うオブジェクトを比較しようとしてない?
896 名前:895 mailto:sage [2008/05/08(木) 10:50:01 ] そうかも・・・・早速修正してみます。助言ありがとうございます。
897 名前:893 mailto:sage [2008/05/08(木) 14:35:20 ] どうしても上手くいかないのでjava.sql.Dateの日にちを拾得したインスタンスを Stringとして扱うことで解決させました。
898 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 15:23:58 ] >>895 equals()で比較している限りtrueになるので、それはない。 Date date = new Date(); java.sql.Date sqlDate = new java.sql.Date(date.getTime()); System.out.println(sqlDate.equals(date)); // trueになる System.out.println(date.equals(sqlDate)); // trueになる >>895 日付以外のフィールド(時分秒)が一致していないのが原因じゃない?
899 名前:893 mailto:sage [2008/05/08(木) 16:57:14 ] >>898 sql.Dateへのコンストラクターdate.getTime()を System.currentTimeMillis()で行っていたのが原因かもしれません。
900 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 18:00:45 ] JavaのGCには、以下の3つの種類があることを知りました。 www.atmarkit.co.jp/fjava/rensai3/javavm02/javavm02_2.html ・SerialGC ・ParallelGC ・ConcurrentGC java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/gc-ergonomics.html によると、Server VM (java -server)では ParallelGCが使われるようですが、 -XX: オプションをつけない場合、どのタイプのGCが使われる使われるのでしょうか? server VM だけでなく、いまどきのJVMでは、常にデフォルトでは ParallelGC? java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/server-class.html によると、Java は自分が動いているOS、メモリ量から、server VM か client VMかを 自動で切り替えるようですが、GCの種類もそうなのかなと思って質問しました。
901 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 18:26:52 ] ConcurrentGCじゃなかったけ? ParallelGCは-XXオプションつけないとならない
902 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 19:27:43 ] JavaMailでアラビア語などの日本語や英語以外の文字の メールを送るにはどうしたらいいでしょうか?
903 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 19:36:47 ] ISO-8859-6などのアラビア語を扱える文字コードを指定すればいいんじゃね メーラもそれに対応してないと読めないと思うけど
904 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 19:49:37 ] UTF-8の文字列で送っちゃうのはだめなのかな。 UTF-8 か >>902 さんのほうかどうかはともかく、メールのヘッダで Content-Type: text/plain; charset="UTF=8" と指定しておくのはわすれないように。 ※ 昔の日本の電子メールのとき(MIME 関連のヘッダをつけなくとも生JISにしておけばメーラで読めた) のように、アラビア語圏の世界では、メールのボディの文字列をISO-8859-6 にしておけば、 ヘッダにMIME 関連のものをつけなくても読めるのだろうか。 いまどきはアラビア語圏といえども、たいていの人は Outlook とか ThunderBird(MIME 対応メーラ)なのかな。
905 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 20:27:48 ] >>903 , >>904 ありがとうございます。 本文に日本語も混ぜたいのでUTF-8で試してみたいと思います。
906 名前:デフォルトの名無しさん [2008/05/08(木) 21:20:12 ] コントロールパネルに数行に渡ってjavaのluntime updateなたいなのが あるけど消していいの? それぞれ144MBくらいのやつ。
907 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 21:22:38 ] >>906 一番バージョンの大きいのが一つ入っていれば良い。
908 名前:デフォルトの名無しさん [2008/05/08(木) 21:25:20 ] ありがとう。消したら、ウインドウズに設定してる?? みたいな表示が出て、ホントは消えないような感じがしたわw
909 名前:初心者 [2008/05/08(木) 22:17:10 ] まじで素人な質問なんだけどコマンドプロンプトでディレクトリを移動したいんだけど指定されたパスが見つかりませんになっちゃうんだけどどうしたらいいの?
910 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 22:56:12 ] まず質問に適切なスレを見つけたらいいと思うよ
911 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:40:56 ] Aクラスを継承したB01〜B20クラスがあります。 このB01〜B20クラスは、B01とB05, B09とB15の ような感じで、2つのクラスをセットで使います。 このときに、 B01とB02の場合は、100 B01とB03の場合は、150 ・ ・ B19とB19の場合は、200 B19とB20の場合は、120 みたいに、クラスの全ての組み合わせで 決まった値を持ってくるようにしたいんだけど、 どうやるのがスマートなんでしょう?
912 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 00:55:27 ] それだけの情報だと、 Aのstaticフィールドに「Aのサブクラス2つ」(からなるオブジェクト) をキーにしたMapを持つ くらいか。 2つの組み合わせを別途クラスとして定義するほうがいいかもな。 AやBに具体性があるともうちっとよい助言が得られるかも。
913 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 01:08:14 ] クラス名を連結させてハッシュ関数に放り込むとか・・・・・?
914 名前:902 mailto:sage [2008/05/09(金) 09:35:29 ] 下記のようなソースでアラビア語を送ってみました。 OutlookExpressでは正常に表示できたのですが Beckyでは■になってしまいました。ただその文章をIEのテキストエリアに 貼り付けるとアラビア語が復活するのでBecky側の問題かもしれません。 プログラムとしては下記でよいものでしょうか? mimeMessage.setFrom(new InternetAddress(this.fromAddr,"", "utf-8")); mimeMessage.setRecipients(Message.RecipientType.TO, this.toAddr); mimeMessage.setSubject(this.subject, "utf-8"); mimeMessage.setContent(this.text, "text/plain; charset=utf-8"); mimeMessage.setHeader("Content-Transfer-Encoding", "8bit"); mimeMessage.setSentDate(new Date());
915 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 09:46:43 ] JAVA初心者です。 ファイルの保存をするために、下のようなメソッドを書きました。 FileDialog fd = new FileDialog(this, "Save", FileDialog.SAVE); PrintStream ps; FileOutputStream fos; public void save(){ fd.show(); String filename = sd.getFile(); if(filename == null) return; fos = new FileOutputStream(filename); ps = new PrintStream(fos); ps.print(display.getText()); ps.close(); fos.close(); } これをactionPerformedメソッドでボタン押下時に呼び出すようにしています。 保存ダイアログはちゃんと開くし、保存もできるのですが、場所の指定ができません。 違うフォルダを指定しても、javaファイルが置いてあるところと同じ場所に保存されてしまいます。 なぜなのでしょうか? JAVAを勉強し始めたばかりなので、トンチンカンなこと書いてたらすみません。
916 名前:915 mailto:sage [2008/05/09(金) 09:51:28 ] すみません、saveメソッド内2行目は String filename = sd.getFile(); ではなく、 String filename = fd.getFile(); です。
917 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 10:50:56 ] >>915 ,916 試してないから違うかもシレンけど、 getFile()じゃなくてgetDirectory()じゃないの? あと、JDK5以降だったら、showじゃなくてsetVisible使うんじゃなかったっけ。
918 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 11:02:17 ] >>911 それだけだと、「B01〜B20はインスタンスでいいんじゃないの?」って気がする。
919 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 11:37:06 ] showじゃなくてsetVisibleつかうのは1.4以降
920 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 11:47:35 ] よろしくおねがいします。 Simpleformatクラスを使用して、 Timestamp型をString型("yyyy'/'M'/'d' 'H':'m':'s"形式)にしたのですが、 このStringをTimestamp型に再変換するにはどうすれば良いでしょうか?
921 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 13:27:28 ] >>920 SimpleDateFormatでパースして、得られたDateを Date#getTimeして、Timestampのコンストラクタに与えたらどうだろうか。
922 名前:900 mailto:sage [2008/05/09(金) 14:36:32 ] >>901 レスどうもありがとうございます。 java.sun.com/j2se/reference/whitepapers/memorymanagement_whitepaper.pdf の P14 には、 java.sun.com/javase/ja/6/docs/ja/technotes/guides/vm/server-class.html において Server VM が選択された場合はデフォルトで Parallel Collector が使われ、 それ以外のケースは Serial Collector がデフォルトになるとありました。
923 名前:920 mailto:sage [2008/05/09(金) 14:45:09 ] >>921 それで行けました!ありがとうございます!
924 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 14:51:06 ] >>919 FileDialogというかDialogやWindowに関しては1.4ではshowは非推奨メソッドではない。 deprecatedになってsetVisibleを使用しろとされたのは1.5から。 Componentは1.1からshowは非推奨だったので、 非推奨になるのが遅かったのはトップレベルウインドウ特有の何か事情があったんじゃないかと思う。
925 名前:915 mailto:sage [2008/05/09(金) 17:15:00 ] >>917 ,919,924 レスありがとうございます。 getFileをgetDirectoryにしてみたり、showをsetVisibleにしてみたりしましたがやはりだめなようです。 ファイルの保存自体はできているのですが・・・・・・、なぜなんでしょうかね・・・
926 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:31:31 ] >>925 File file = new File(fd.getDirectory(), fd.getFile()); fos = new FileOutputStream(file);
927 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:33:55 ] >>925 FileDialogやめてJFileChooser使ってみれば?
928 名前:デフォルトの名無しさん [2008/05/09(金) 17:53:06 ] プログラムを動かすとブラウザでホームページを表示できるようにしたいんですけど、どんな感じで書けばいいですか?誰かお願いします!
929 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:55:20 ] Desktop クラス使え
930 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 17:59:43 ] >>928 java.awt.Desktop.getDesktop().browse(new java.net.URI("www.google.co.jp/ "));
931 名前:デフォルトの名無しさん [2008/05/09(金) 19:09:47 ] >>929 >>930 ありがとうございますm(_ _)m
932 名前:デフォルトの名無しさん [2008/05/09(金) 23:31:12 ] <T> XXX<T> hoge(XXX<T> xxx){...} という関数があったときに、返り値の型の <T> XXX<T> ↑ はどういう意味があるのでしょう?
933 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 23:34:56 ] Tという名前の型引数を使いますよ
934 名前:デフォルトの名無しさん [2008/05/09(金) 23:41:23 ] >>933 Tの型は、 hoge(new XXX<YYY>()); と書いたときに決まっているのでは? <T> XXX<T> hoge(XXX<T> xxx){...} と、 XXX<T> hoge(XXX<T> xxx){...} が同じということでしょうか?
935 名前:デフォルトの名無しさん mailto:sage [2008/05/09(金) 23:47:29 ] ジェネリクスは型だけじゃなくてメソッドでも使えるんだよ
936 名前:デフォルトの名無しさん [2008/05/09(金) 23:52:36 ] template<typename T> XXX<T> hoge(XXX<T> xxx){...} ということですか、納得です。 ありがとうございました。
937 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:00:33 ] うむ 精進しろよ
938 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:05:07 ] そんな感じ C++の化け物テンプレートほどの威力は無いが・・・・
939 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:07:49 ] っていうか並べて比べるのもおこがましい程度
940 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:20:44 ] そもそも比較すること自体が間違ってる。
941 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 00:24:56 ] templateはわかめみたいにふえていくからなあ
942 名前:デフォルトの名無しさん [2008/05/10(土) 01:08:02 ] >>934 ごめん その方法で生成した任意の型の出力が可能ってことでいいのかな
943 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 09:16:29 ] テンプレートパターンというのを知らない池沼がいるから困るwwww
944 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 09:20:46 ] 久しぶり
945 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 10:13:22 ] 今からでもランタイムサポートできないのかな
946 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 10:26:18 ] やりたきゃ自分でVMを実装するんだな 言語名はJava++ みたいな感じでwww
947 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 10:51:58 ] ジェネリクスがキャスト挿入のシンタックスシュガーだというのは 実装次第じゃなくて言語仕様で決まってることなの?
948 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 10:58:08 ] 決まってる。
949 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:13:24 ] ttp://www.objectclub.jp/technicaldoc/java/java_gene ここの「JavaへのGenerics導入の方針」参照。
950 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:17:50 ] java7っていつ出るの?
951 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:19:20 ] 来年。(予定は未定)
952 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:25:58 ] もうjava5以前のクソ仕様な部分はすべて後方互換性無視して 作り替えて欲しい。java5以降は神だが、それ以前はめちゃくちゃ。
953 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:49:15 ] import java.security.SecurityException; import java.io.IOException; import java.io.File; public class Sample{ public static void main(String[] args){ File f = new File("c:/test.txt"); try{ if(f.exeists()){ System.out.println("ファイルは存在します。"); if(f.canRead()){ System.out.println("ファイルは存在し、かつ、ファイルは読込めます。"); if(f.setReadOnly(){ System.out.println("ファイルを読取専用にしました。"); if(f.delete()==false){ System.out.println("ファイルを削除できません。"); }else{ System.out.println("ファイルを削除しました。"); } }else{ System.out.println("ファイルを読取専用にできません。"); } }else{ System.out.println("ファイルは読込めません。"); } }else{ System.out.println("ファイルは存在しません。"); } }catch(IOException e){ System.out.println(e); }catch(SecurityException e){ System.out.println(e); } } }
954 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 11:50:07 ] ファイル操作関連で、2点質問があります。 使用OSは、Windows xp Pro SP2で、c:/test.txtを作成後、上記プログラム実行時、ファイルを削除できないようにしたいですが、どうもうまくいきません。 ファイル作成時、ファイルのプロパティで、読み取り専用チェックボックスにチェックを入れてみた後、削除ができてしまうのも、なぜなのか、ちょっとわからないです。 読取専用なのに、削除ができることが、おかしいと思うのですが、ちがいますか。 Windowsの場合は、どうやったら、削除できなくすることができるのでしょうか。 それと、ファイルの読込み権限について教えてほしいです。 ファイルは存在し、かつ、フィルが読込めない時(権限がない場合)、プログラム実行時、ファイルが読込めないようにするには、どうすればよいでしょうか。 よろしくおねがいします。
955 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:02:16 ] >>950 JavaOne2008の時点では来年夏予定。
956 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:08:53 ] ファイルに対する読み取り専用ってのは、 (ファイルを存在させたままで)内容を変えることが出来ないということ。
957 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 12:19:00 ] >>954 それ、Javaの質問なんか?
958 名前:915 mailto:sage [2008/05/10(土) 13:47:35 ] >>926 できました!ありがとうございます。 Fileクラスというのを使えば良かったのですね。 ちゃんと指定した場所に保存する事が出来ました。 どうもお騒がせしてすみませんでした。
959 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 20:01:14 ] 画像データを byte配列に持ってて、ある位置に○を描画したり、 他画像を貼り付けたりするのってどうやるのでしょうか。。。
960 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 21:05:08 ] byte配列を画像データに展開して、○を描画したり他画像を貼り付けてから、byte配列に戻す
961 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 21:35:45 ] >959 1.画像データを読み込んで表示するプログラムの作り方を覚える 2.○とか簡単な図形を表示するプログラムの(ry 3.表示した画像と図形を画像データに変換するプログラムの(ry
962 名前:デフォルトの名無しさん mailto:sage [2008/05/10(土) 23:13:17 ] >>960-961 トンクスです! なんとなく、何から始めればよいか分かった気がします!
963 名前:962 mailto:sage [2008/05/10(土) 23:41:42 ] 簡単な例ですが出来ました! BufferedImage srcImage = ImageIO.read(new File("src.gif")); Graphics2D graph = readImage.createGraphics(); graph.setPaint(Color.BLACK); graph.draw(new Ellipse2D.Double(100 100, 100 , 100)); ImageIO.write(srcImage, "gif", new File(workdir + "dest.gif"));
964 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 00:01:19 ] こんにちは。以下のソースをコンパイルすると、”Test.java の操作は、未チェックまたは安全ではありません。 注:詳細については, -Xlint:unchecked オプションを指定して再コンパイルして下さい。” という警告(無検査キャスト)がでるのですが、ソースを書き換えて警告が出ないようにする方法はないのでしょうか? javac -source 1.4でコンパイルするか、@SuppressWarnings("unchecked") を頭に付けると出なくはなるのですが…。 public void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException{ req.setCharacterEncoding("Windows-31J"); int index = Integer.parseInt(req.getParameter("test")); res.setContentType("text/html;charset=Windows-31J"); PrintWriter pw = res.getWriter(); //この辺でhtmlの前半生成・この直後まで削ると警告は出ない HttpSession session = req.getSession(); ArrayList<String> list = (ArrayList<String>)session.getAttribute("testArray"); //これ以降を削っても警告が出る if(list == null){ list = new ArrayList<String>(); } list.add(testValues[index]); //testValues[]はインスタンス変数で宣言済み //この辺でhtml生成 session.setAttribute("testArray",list); //この辺で</body></html>生成 }
965 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 00:07:47 ] >>964 無理。 @SuppressWarnings("unchecked") を ArrayList<String> list に付けるしかない。
966 名前:964 mailto:sage [2008/05/11(日) 00:25:34 ] >>965 ありがとうございます。 session.getAttribute()の戻り値がObject型だから、 Stringにキャストできるかどうかわからない…のかと思ったのですが、 それで合ってるのでしょうか?
967 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 00:31:41 ] >>964 「@SuppressWarnings("unchecked") を頭に付ける」が正しい 1.4互換のソースとあわせて使う場合は仕方なし。 どうしても気持ち悪いっていうならば、@SuppressWarningsを許可するUtilクラスなんかを作成しておくのはあり。 @SuppressWarnings("unchecked") public class SessionUtil { public List<String> getAttributeList(HttpSession sesstion, String key) { return (List<String>) session.getAttribute(key); } }
968 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 00:33:26 ] >>966 それで正しいよ。 静的なレベルではどんな型か解らない。 ただ、仕様としてList<String> 以外はありえない。 Tigerの拡張で、静的にList<String> 以外はいれられない/取得できないって制限をかけることが可能になった
969 名前:964 mailto:sage [2008/05/11(日) 00:54:16 ] >>967 ,>>968 ありがとうございます。 getAttributeで得たものを変数に格納しようとすると、 必ず出てしまう警告だということですね。 何か落ち着きませんが…次からは@SuppressWarningsを許可するクラスを作って対応しようと思います。
970 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 02:23:50 ] JSPでカレンダーを作ってます。 今月は問題なく表示できましたが、 先月、次月という2つのボタンを配置してボタンを押してそれぞれ表示させようと思うのですがどうすればいいのでしょう。 現在は先月、次月のボタンを配置したところまではやりましたが実行してボタンを押してみると、 先月はうまくいきましたが次月を押すと、先月と同じ動きをします。 リクエストパラメータを使う?とかなんとか聞いたのですがよくわかりません。
971 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 02:50:42 ] >>954 ファイルそのものじゃなくて、そのファイルがあるディレクトリを読み 取り専用にすればいいじゃないかな。
972 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 03:09:50 ] >>970 リクエストパラメータを使って何月のカレンダーを表示するかをサーバに渡せばいい。 わからなかったらリクエストパラメータとJSPでぐぐってから質問しろ
973 名前:970 mailto:sage [2008/05/11(日) 11:03:33 ] >>970 すいません。 >リクエストパラメータを使って何月のカレンダーを表示するかをサーバに渡せばいい。 これがググってもわからなかったので質問させてもらったんですが。 <form method="post" action="calendar.jsp?year=<%=intYear%>&month=<%=intMonth-1%>"> <input type="submit" value="先月"> <b><%=intYear%>年<%=intMonth%>月</b> <form method="post" action="calendar.jsp?year=<%=intYear%>&month=<%=intMonth+1%>"> <input type="submit" value="次月> </form> 今はこんな状態です。一体どこにどうリクエストパラメータをつかうのかがよくわかりません。
974 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 11:33:47 ] >973 Java以前の話だ。 「HTTP POST GET パラメータ HTML FORM 」あたりのキーワードで調べろ
975 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:04:06 ] swingの勉強中なのですが、ImageIconクラスを使った画像の読み込みで 画像が表示されません。 自分でやってみてもダメだったので本に付属のソースをインポートしてやってみたのですがやはり表示されませんでした。 下記が本のソースで、画像ファイルstream.jpgはjavaファイルと同じディレクトリ(pkggui/以下)にインポートしてあります。 本のソースで表示されないあたり画像ファイルの置き場所が間違っているような気がするのですが、どうしたら良いのか教えてください。 public class ImageLabel01 extends JFrame { public static void main(String[] args) { ImageLabel01 w = new ImageLabel01( "Imagelabel01" ); w.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); w.setSize( 350, 250 ); w.setVisible( true ); } public ImageLabel01( String title ){ super( title ); JLabel panel = new JLabel( new ImageIcon( "stream.jpg" ) ); getContentPane().add( panel ); } }
976 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:26:37 ] Javaファイル(ソース)ではなく、クラスファイルと同じ場所に配置しているか?
977 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:40:55 ] >>976 そっちか!!と思ったのですが、 eclipseがbin/pkggui以下に勝手に置いてくれてたっぽくて今見たらありましたorz ちょっとどうしても分からないので自分の状態が分かるよう 作業画面と実行画面をSSにしてみました。 こんな感じなのですが、どうでしょうか?orz roo.moo.jp/hoge.jpg
978 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 14:51:47 ] ファイル名だけど、pkggui/sample.jpg じゃね? java.sun.com/j2se/1.5.0/ja/docs/ja/api/javax/swing/ImageIcon.html#ImageIcon (java.lang.String)
979 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:22:30 ] >>978 アドバイスありがとうございます! 今絶対パス指定したり色々やってみたのですが、どうやらここでのファイル名はカレントディレクトリとして プロジェクトのディレクトリを参照しているらしく、そこにファイルを置くか./bin/stream.jpgとすることで解決出来ました! 以前、ImageIO.read(getClass().getResource(image))で描画処理をした時は imageに使うファイルはパッケージ以下に入れてファイル名だけを記述して行う形でOKだったため 参照しているディレクトリが同様かと思い勘違いしました><;
980 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 15:42:11 ] >>975 new ImageIcon(getClass().getResource("stream.jpg")) とすればいいと思う
981 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 17:47:16 ] 入社して業務でJavaを使うので一から学びたいのですが、良い書籍などあれば教えていただけないでしょうか? オブジェクト指向についての解説もあれば尚良いのですが
982 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 17:51:20 ] >>981 他の言語の経験は?
983 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 17:54:24 ] 入門程度ならやさしいjava以外ならなんでも良いんじゃない。
984 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 17:57:18 ] SJC-Pの問題集をやるのもあり 2ヶ月もあれば大雑把に概要は学べるだろ
985 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:02:41 ] 今だとどんな本があるんだろか、と思って調べたら柴田望洋氏が何か書いてるな 明解C言語は良かったが、Javaはどうなんだろ いずれにしても、古いものは避けたほうがいい JDK5.0以降に対応しているもの
986 名前:981 mailto:sage [2008/05/11(日) 18:30:04 ] すみません、経験書いていませんでしたね 学校でC++、Java、VBについては一応習いましたがあまり真面目でなかったことと、 卒業してから遊び呆けて全く書かなくなっていたツケが回って現在は忘れまくって酷い有様です。 先ほどちょっとJavaで四則演算のみの計算機作ろうと思ったら変数宣言の仕方までわからない状態でした。 Dim x as Integerって確かVBの方ですよね・・・なんでこれで通らないのかと悩んでみたり まぁ一応一度は習っていた経験は再習得には役立つと思うのですが、流石に変数宣言の仕方も忘れているようでは 何も知らないものと考えて一からと思っています。 Java以外の言語についても同様の状態です。 一応WhileやFor、If等は覚えていますが関数は殆ど忘れてます。 ちょっと上で挙げて頂いた本について調べてみます。
987 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:35:48 ] こういうレスを見るたびに悲しくなる
988 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:39:52 ] 卒業して1ヶ月くらいプログラミングから離れていただけで知識が混濁するようではこの先やっていけないんじゃないか?
989 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:40:13 ] 何しに学校行ってたんだ?時間の無駄はよくないよ
990 名前:981 mailto:sage [2008/05/11(日) 18:43:34 ] 自分には適正が無いという事かもしれません・・・が、悔やんでも仕方ないのでこれからはしっかり勉強して能力を維持していかなくてはと決意を新たに頑張りたいところです
991 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:43:52 ] あれだろ? レポート提出週は演習室で宴会みたいに大騒ぎしてたやつだろ んでレポートはDQNグループの中で一番頭いいやつのコピー レポート提出は考察とかを自分でまとめただけ
992 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:45:06 ] テストは過去ウラヤマシス けど、前年度と違う教授や、問題変わってたら落としてやがったwww あれは腹痛くなるまで笑ったぜww
993 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:46:26 ] >>990 とにかく書店行って入門書を斜め読みしてみ 一度とにかくやったことがあるなら、メタ的な知識はあるはず
994 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:48:05 ] 適正がないと自分で判断したなら辞めるのは正しいよ こんな糞業界、適正でもないとやってられん
995 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:49:56 ] 今学校でVBとかもやるんだな ちょっとびっくり
996 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 18:51:19 ] かたやDelphi、かたやScheme いろいろやるみたいですね
997 名前:981 mailto:sage [2008/05/11(日) 18:54:24 ] >991 不真面目とはいえ提出物はちゃんと自分で仕上げていましたよ 悲しいかな当時学んだ内容が脳に定着してくれなかった訳ですがそれは卒業後のだらけだけが原因ではなく、 学生当時の勉強への力の入れ方が足りなかったのもあったのだろうという事ですorz >993 そうですね、そうしてみます。ただ定期圏内にあまり大きな本屋が無いのが残念ですが・・・
998 名前:デフォルトの名無しさん [2008/05/11(日) 18:57:59 ] 無闇にCの作法が混ざりこんできてるのが感じられるなあ かえって混乱が起きてるようにも感じるが
999 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 19:07:35 ] おれ、ハカーになれるかも知れない・・・
1000 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 19:08:39 ] 1000 なら Java 死滅
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。