1 名前:Javaが初心者 mailto:sage [2008/05/12(月) 03:05:27 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド114【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1207385614/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
751 名前:デフォルトの名無しさん [2008/06/02(月) 20:29:52 ] >>749 仮にも何も、もう設計上出来ないんだよ。 まあ書いてもいいんだけどね(笑) インスタンスをコピーするってことはどういうことなのかをよく理解すればいいんじゃないの?
752 名前:デフォルトの名無しさん [2008/06/02(月) 20:30:47 ] >finalは、イミュータブルな性質を維持するために必要なことだから、仕方ない こういうこと平気で書いちゃうような人だしなぁw
753 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 20:58:23 ] >>751 俺がバカだからか、よくわからないので教えてほしい。 インスタンスをコピーするってことはどういうことなんだ? コピーなんかせずに同じインスタンスを使えばいいじゃないか?
754 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:00:45 ] >>750 いや、スゴい事ってのは >Javaで開発用エディタを作ったのですが、 の部分。 質問するより答える立場の人でしょ。
755 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:01:58 ] >>721 に戻ると、 ・これは普通shallow copyと言わないのでは? という話だよね。たしかに「オブジェクトのshallow copy」とは言えない。 フィールドにぶらさがったものを複製しているからね。 でも、「(このオブジェクトが表している/保持している)配列のshallow copy」ではあるでしょ。 参照の羅列としての配列を複製しているだけで、配列の要素をいちいち複製していないから。 〜 完 〜 てことじゃないのかい
756 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:04:53 ] > 配列の要素 配列にぶらさがっているオブジェクト と言った方がいいか
757 名前:デフォルトの名無しさん [2008/06/02(月) 21:21:20 ] clone()したくローン先の方で変更したら、クローンもとのオブジェクト でも変わる事が期待されるでしょ。 o2=(...) o1.clone (); o1.set (1,val) シャローコピーって書いてあるなら、このときo2, o1の保持してるvalは同じであってほしいよね。 今さらだから、APIドキュメントの方をそう書き直せばすむんじゃないの? 確かVector.clone()の記述はそんな風に書いてあった(jdk 1.5だけど)。 ドキュメントにうそ書いてあると、実装するとき困るんだよ。
758 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:25:47 ] >>757 > clone()したくローン先の方で変更したら、クローンもとのオブジェクト > でも変わる事が期待されるでしょ。 クローンを殴ったらクローン元も痛みを共有するわけですね、わかります
759 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 21:43:53 ] >>721 > (The elements themselves are not copied.) って但し書きの意図を汲めば、まー、まず迷わないと思うんだけどどうよ。 でも、ここで「elements」を「参照」ではなく、「参照先のインスタンス」だと解釈しなければならないってのが、 微妙といえば微妙なのかな。ふつうわかるんじゃね?名前を書き写さずに何が名簿のcloneなのかっていう。 >>757 > シャローコピーって書いてあるなら、このときo2, o1の保持してるvalは同じであってほしいよね。 全然思わない。(一応言っておこうw)
760 名前:デフォルトの名無しさん [2008/06/02(月) 21:58:51 ] ああ、わりい。飯食ってた >clone()したくローン先の方で変更したら、ローンもとのオブジェクト 気がつかなったかけど笑えるね。たぶん自己破産の相談なのかな? >全然思わない。(一応言っておこうw) 長年使ってると、全然思うのが、まあ普通なんだけどw その挙動がArrayListにふさわしくないなら、clone実装すんなってこと。もしくはAPI DOCのバグを書き直せ。 どうせ翻訳の人も見てんだろうしSUNに言っといてよ。頼むよ。
761 名前:デフォルトの名無しさん [2008/06/02(月) 22:03:40 ] >>754 >Javaで開発用エディタを作ったのですが、 実はTextAreaをaddしただけでも、偉そうに言えばこうもいえるんじゃないの? どう凄いのかわかんないんだけど。
762 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:25:02 ] >>760 一応言うだけ言ってみるけど、トリップつけてくれないかな
763 名前:デフォルトの名無しさん [2008/06/02(月) 22:27:39 ] なんで?
764 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:28:17 ] 無視したいから
765 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:34:36 ] >>760 >長年使ってると、全然思うのが、まあ普通なんだけどw 悪いけど風呂入ってくるから、全然思わないにもう一票入れておいてよ
766 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:39:21 ] >>754 ,>>761 開発用「エディタ」なので、ホントIDEみたいに立派なもんじゃないです><; インテリセンスとかキーワード色分けとかオートインデントとか IDEの中で自分が欲しい部分だけ取って軽く書きたいときに使う用に作った程度です。 普段はC/C++畑でJavaは全然なので、勘違いさせてすいません。。
767 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 22:56:37 ] 質問です。 Component.createImage(int width, int height); でcreateImageしたのですが、これに透過色を設定したgifファイルをdrawImageすると透過される(ハズ)の部分が白で塗りつぶされた状態になってしまいます。 試しにcreateImageを使わないでただgifファイルをdrawImageすると透過はされていたのでgifファイルには問題がないように思います。 また、createImageしたImageにgifファイルを書き込まずImageをdrawImageしても白で塗りつぶされてしまっています。
768 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:06:34 ] >>767 component.getGraphicsConfiguration().createCompatibleImage(width, height, Transparency.TRANSLUCENT); でイメージを作って、gifを乗せる前に ((Graphics2D)g).setComposite(AlphaComposite.Src); するといいよ
769 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:17:10 ] >>757 > clone()したくローン先の方で変更したら、クローンもとのオブジェクト > でも変わる事が期待されるでしょ。 期待されない。 > 確かVector.clone()の記述はそんな風に書いてあった(jdk?1.5だけど)。 書いてない。 > Returns a clone of this vector. The copy will contain a reference to a clone of the internal data array, > not a reference to the original internal data array of this Vector object.
770 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:20:26 ] >>768 ご丁寧にどうもありがとうございます。 無事透過したまま書き込むことができました。 それにしても他のソースで使ってるコードなのに突然動作が変わるなんてなんだか怖いです。 精進します・・・。
771 名前:デフォルトの名無しさん mailto:sage [2008/06/02(月) 23:25:59 ] >>757 > clone()したくローン先の方で変更したら、クローンもとのオブジェクト > でも変わる事が期待されるでしょ。 それをしたいなら、o2=o1;でいいよーな。
772 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:31:41 ] charにnullが代入できない。 納得いかない。 char test1 = ''; char test2 = null; どっちも駄目なんだよな。
773 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:33:58 ] 納得いかないかもしれないが、そういうものだと思って使うしかない。
774 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:37:25 ] 新しいプログラミング言語が生まれることを期待したい!!
775 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:39:37 ] 新しいプログラミング言語はすでに色々あると思うけど・・・ C#などはいかが?
776 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:52:21 ] >>772 > char test1 = ''; これはないでしょw Unicodeだっつってんだからその範囲内でなんとかしようよ
777 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 00:57:35 ] Character c = null;
778 名前:772 mailto:sage [2008/06/03(火) 01:13:41 ] 返信ありがとう。 int型にもnullを代入できないや・・・。 昔は代入できたよね? 勘違いかな?
779 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:23:15 ] >>772 あそうか、「何charにnull突っ込んでんのww」と未熟者に突っ込む機会喪失問題か
780 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:23:41 ] 違ったらしいなw
781 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 01:30:42 ] ␀
782 名前:デフォルトの名無しさん [2008/06/03(火) 01:32:05 ] web.xmlの<servlet>タグでサーブレットのクラスを指定すると、それまでアクセスできてたjspにアクセスできなくなるんですけど、、なんで!?
783 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:19:38 ] >>778 nullは参照型のリテラルであり参照型からプリミティブ型への暗黙の型変換は プリミティブ型のラッパークラスからのauto-unboxingによるもの以外にない
784 名前:778 mailto:sage [2008/06/03(火) 02:37:23 ] >>783 暗黙の型変換を使えば、プリミティブ型にnullを代入出来るって言ってるのかな? ちょっと判り難かったから・・・すみません。 とりあえず有難う。 もう寝なきゃ・・・。
785 名前:デフォルトの名無しさん [2008/06/03(火) 02:39:33 ] >>769 君、しつこいよ。荒らしと同じだよ。 そういう君独自の解釈はもういいから、早くSUNの翻訳担当の人に言っといてよ。
786 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:41:40 ] >>783 場を和ませたい人がいるのか、たぶん釣りだと思うんだがww
787 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 02:42:52 ] >>785 ごめん、これで最後にするけど、>>764 以降漏れは無視してるから
788 名前:デフォルトの名無しさん [2008/06/03(火) 02:59:29 ] >>787 一日中2CHに張り付いてんですか…邪魔する気はありませんけど、ホント、ご苦労なことですね…
789 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 03:29:09 ] >>784 釣りじゃなくてマジ? プリミティブ型にはそもそもnullという概念自体存在しない。
790 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 05:58:03 ] もしSQL流のNULLがJavaにあったらキッツイ気がするな
791 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 10:57:57 ] >>772 charに無効な値を入れたいなら、U+FFFFというソレ用のコードポイントがある。
792 名前:784 mailto:sage [2008/06/03(火) 11:35:32 ] >>789 大マジまんだけど、でもようやく理解できた。 int型にnullへのポインタ突っ込むのは無理があるもんな。(遠い昔C言語をやっていた頃の記憶を呼び起こした。間違ってるかも。) >>791 それ使える。 int(Unicode補助文字)ならU+FFFFFFFFって訳ね。
793 名前:784 mailto:sage [2008/06/03(火) 11:43:15 ] >>784 >>791 感謝の言葉を忘れていた。 ありがとう。
794 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 16:40:14 ] nullは-1でいいのか?0がいい感じの気がするけど。
795 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 17:55:27 ] j
796 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 17:57:04 ] 一貫してれば具体値は何でもイイよ。
797 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:16:55 ] 質問させてください。 Eclipseの使用を考えています。 そのためには、どの程度のPC性能が必要ですか? 現在使用中のPCは、 CPU Pentium4 3.0GHz MEM 1Gbyte です。
798 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:20:14 ] どなたかご教授願います。 ------------------------------- class sample1 { public static void main(String args[]) { double ans3 =(double)5/3; System.out.println("5÷3は" + ans3 + "です。"); } } --------------------------------- 上のようなソースがあるとして、 5/3の前に(double)の表記を入れる理由というのはなぜなんでしょうか? すでにdouble ans3 のところでdoubleと書いてあるのでans3には、 ちゃんと小数点が含まれた答えが表示されると思うのですが。 もしかしてアホすぎる質問でしょうか
799 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 20:20:52 ] >>797 大丈夫だと思うが、とにかく落としてきて軽く動かしてみ どのぐらいが「快適に動かせる」と感じるかは、個人差がある
800 名前:797 mailto:sage [2008/06/03(火) 20:34:03 ] >>799 > 大丈夫だと思うが、とにかく落としてきて軽く動かしてみ とりあえず動くようで安心しました。さっそく、インストールしてみます。 回答ありがとうございます。
801 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:21:38 ] >>598 5/3するときにはそれがdouble型に代入されるなんて気にしちゃいない。 つーか、思ってるだけじゃなく、キャストのありなしで結果が違うことくらいは試せ。
802 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:34:41 ] >>798 www.lcv.ne.jp/~kenmio/yomimono/yomimono4.htm ここの「5割る2は2?」って所を見ると良いよ。
803 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:46:15 ] >>802 ありがとうございました。 これで寝れそうです。
804 名前:デフォルトの名無しさん mailto:sage [2008/06/03(火) 21:48:18 ] >>803 マルチ先にも断っとけよ。
805 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:39:53 ] 設計に関して質問があります。 今作っているソフトの中でJButtonやJTextなどのオブジェクトが多数出現します。 こうした場合配列にしておくと JButton button[]=new JButton[BUTTONNUM]; for(int i=0;i<button.length;i++) { button[i].〜 } みたいに一括で処理できるものもあるので便利なのですが、 個別の名前(例えばdeletebutton)を付けた場合に比べて button[1]、button[2]では何のボタンか分かりづらい面があります。 こういう場合、一般的にor皆さんの場合どうしているか教えてください。
806 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 01:43:31 ] ちなみに今現在の処理方法ですが、 HashtableとgetIndex(String)という関数を作って、 Hashtabel hash=new Hashtable(); hash.put("delete","0""); hash.put("prev","1"); ・・・ public int getIndex(String buttonname) { return Integer.parseInt((String)hash.get(buttonname)); } button[getIndex("delete")]という風にしています。
807 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 03:46:46 ] 自分では使ったことのない機能: enum MyButton { DELETE, ... } ... button[MyButton.DELETE] ... (いきなり質問の条件を無視してみる)
808 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 04:08:34 ] >>806 そういうハッシュテーブルの使い方をするくらいなら、 間接的に配列のインデックスなんかに結びつけるんじゃなくて、 HashMap<String, JButton> buttons = new HashMap<String, JButton>(); buttons.put("delete", new JButton()); buttons.put("prev", new JButton()); ... buttons.get("delete").〜 みたいに名前とインスタンスを直接結び付けておいてもいいような。 >>805 のように一括して処理したいようなループを回すときは、 for (JButton button : buttons.values()) { button.〜 } のようにできるし。
809 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 04:30:13 ] >>807 たぶんそれコンパイルできない Cの列挙型ではないからもしやるならbutton[MyButton.DELETE]でなくbutton[MyButton.DELETE.ordinal()]だ
810 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 08:03:06 ] >>805 個別の名前をつけて配列にも入れておけばいいじゃない JButton deleteButton = new JButton(); JButton prevButton = new JButton(); ... JButton button[] = { deleteButton, prevButton, ... };
811 名前:デフォルトの名無しさん [2008/06/04(水) 08:45:22 ] ボタンいくつ貼り付けてるの?
812 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 11:26:13 ] >>810 たぶん、そういう生成もループで済ませたいんじゃないかな。わかんないけど。 たしかに「多数」ってどのくらいなのか気になるw
813 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 12:11:24 ] >>805 一括に処理したいというのと個別に名前で指定したいという要求はバッティングするんじゃ? 本当に希望しているのは、個別に指定したいけど、コード量は減らしたいってだけじゃないの? それなら、 private JButton getButton(String name,...){} JButton delete = this.getButton("削除",...) みたいなビルダーメソッドを作ればいいのでは
814 名前:805 mailto:sage [2008/06/04(水) 12:57:50 ] 皆さんありがとうございます! ですね、一括で処理したいのは生成も含めて、 パネルへの追加とかフォントの指定とかまとめて共通の処理を行う部分で、 個別に判断する所というのはActionListenerを実装したりする部分なんかです。 色んな方法を聞けて勉強になりました、列挙体に至ってはJavaであることを知らなかった…。 今日学校からやってみます、本当にありがとうございます! ちなみにリネーマ&ファイル整理用のプログラムなのでボタンは今は プレビュー、リネーム、ファイル検索、削除、移動、ディレクトリ表示くらいですが、 テキストフィールドの方が ワイルドカード、正規表現、前方一致、後方一致、ユーザ定義用etcとたくさん指定出来るように作ってあって11個くらいといった感じでしたw
815 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:03:17 ] >>57-58 を見て思った。 >>57 のような意味不明なレスをすると自分のレス番号が該当になったとき >>58 のように「おかしい」とおもわないといけない儀式でもあるのか? おかしいと思ってる>>58 まったく理解できないのだが。 別の意味でおかしいとは思うけどさ
816 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:07:34 ] 君がThreadとか理解してるなら気にしなくていいんじゃない?
817 名前:デフォルトの名無しさん [2008/06/04(水) 17:09:58 ] 結局ビルダーパタンで落ち着いたのね。 せいぜいそれぐらい(11個)とか思ったけど、チェックボックス(とラベル)が100個超えてるUIのパターンもあるから。 それならソースコード11行とか100行にわたり書けばいいんじゃないかと思うけど。
818 名前:デフォルトの名無しさん [2008/06/04(水) 17:27:06 ] ここで聞くことかどうかわからんが。 大昔、いろんなラベルがついた箱が線でくっついて うにゃうにゃ(バネモデルか何かで)動くデモってのを見た記憶があるんだが、 うまく見つけられなくて困り中。 誰か在処か名前をご存じでしたら教えてください。
819 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:39:42 ] スレッド番号100から、スレが経った日付を列挙してみた。 100 2007/03/31 101 2007/04/30 102 2007/05/29 103 2007/06/27 104 2007/07/27 105 2007/08/28 106 2007/09/19 107 2007/10/18 108 2007/11/07 109 2007/11/25 110 2007/12/15 111 2008/1/13 112 2008/2/8 113 2008/3/1 114 2008/4/5 115 2008/5/12 Javaスレの進行速度は月1ペースか。今から4年ほど前はスレが50くらいだったのに 急激にスレの消費速度が加速していって2007年3月末の時点で100になったときは そのスレッドの消費速度の速さには驚いたものだ。 Java登場当初にはAppletの影響でJavaは遅いなどと言われC/C++プログラマの間でも 不評が多く、プログラム板、プログラマ板で頻繁にJava叩きが行なわれていたにも関わらず、 これほどにまでJavaの知名度の人気が上がるとは誰が予想しただろうか。M$が2000年にC#を発表した とき、一部の者やM$の関係者は、「これからはC#が普及し、Javaは衰退する」と言っていたにもかかわ らず、あれから8年経った今でもJavaは衰退する様子を見せず、後から登場したC#はほとんど普及し ていないという有様。 気がつけばJava関連の求人も毎年毎年増え、Javaだけでも食うに困らない状況にまでなった。 書店のコンピュータ関連書籍コーナーにはJavaだけで占められた本棚が大きく占有していった。 今では書店ではAjaxやWeb関連書籍が多いが、WebにJavaを利用することはもはや当たり前に なった感がある。M$のC#を揺るがした背景にはGoogleの影響が少なからずあるのではないかと思えてくる。
820 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:40:44 ] この調子で行けば、2010年にはスレは スレは12月で122、2009年1月で123、2010年1月で135、2011年1月で147、 2012年1月で159、2013年1月で171、2014年1月で183、2015年1月で195、 2016年1月で207、2017年1月で219、2018年1月で231、2019年1月で243、 2020年1月で255にまで伸びるだろう。 その頃までに、2chがあるのか、今の2chが存在しうるかどうかはわからないが。 blogなどの外部のコミュニティに徐々に質問者が移行するときがやってくるだろうか? Javaは何十年経っても古いプログラムを動かすことができる。 だからその頃にこのスレがなくなってもJavaは相変わらず健在だろう。
821 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:41:45 ] >>815 なんか口に出さないで指指された気分になるじゃん。 m9(^Д^)
822 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 17:43:24 ] 懐かしいAAだな
823 名前:デフォルトの名無しさん [2008/06/04(水) 18:25:57 ] 4年も張り付いてるみたいだしw
824 名前:デフォルトの名無しさん [2008/06/04(水) 18:29:03 ] 月に50万円稼ぐ派遣の狼君が捕まっただろ。 人殺し食っちゃったんだっけな? C++/C#好きで、宗教(GNU?)狂信者だって噂だよw そんなやつと同じにされてもね。
825 名前:デフォルトの名無しさん [2008/06/04(水) 18:32:36 ] どこかのIT記事で「天才20歳(何々賞受賞!)」とかの奴もいたけど、似たような狼君じゃないの。
826 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:35:07 ] >>818 JDKに付いてるデモなら多くないんだから順番に試していけばいいじゃないかw たぶんアプレットのデモの中のGraphLayoutかな?
827 名前:デフォルトの名無しさん [2008/06/04(水) 18:44:38 ] >>808 >そういうハッシュテーブルの使い方をするくらいなら、 そういうひねくれた方法を見つけるほうが実は凄いんだけどね。(実用でもないし、使わないけど) >>806
828 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 18:53:39 ] >826 おお、まさしくコレだ。 てっきりLayoutManagerがらみかと思ってスルーしてた。スマン&&ありがとう。
829 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 19:08:37 ] >>827 どういう意味だ??
830 名前:デフォルトの名無しさん [2008/06/04(水) 19:18:13 ] バグの元になるでしょ。
831 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:42:25 ] >>824 おいおい、マジかよ。なんでそこまで知ってるんだ。 どこかのスレで話題になってるのか?
832 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:44:50 ] >>808 >>827 見て思った。 >>808 のコードは ハッシュでボタンを区別しているようだが・・・ これこそ、enumを使うべきじゃないかね
833 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:54:06 ] > するくらいなら だから本当は>>808 みたいなのもアレだけどハッシュならハッシュで別に添え字を値にしなくてもってことじゃない? しかも整数値でなくてわざわざ文字列を値にしているし
834 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 21:56:54 ] >>831 板違いの話題だからマ板池
835 名前:デフォルトの名無しさん mailto:sage [2008/06/04(水) 22:27:38 ] >>833 誰かみたいに死体の肉を食べちゃったわけじゃないし、まーいーじゃん。
836 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:26:21 ] >>823 張り付くってどういう意味か。久しぶりにJavaスレを見たんだけどな。 気がつけばスレがここまで進んで驚いているんだよ。 2chで初めてJavaスレに書き込みをしたのは もっと前だけどな。
837 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 02:26:56 ] >>834 なんとなくどこのスレかはわかったが。 誘導スレを紹介してくれないか
838 名前:デフォルトの名無しさん [2008/06/05(木) 02:48:44 ] ここはスルー? 助言求む!
839 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 03:41:54 ] >838 おまい誰だよ。煽りとかじゃなくてマジで
840 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 05:33:41 ] 誤爆か?
841 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 10:52:56 ] つまんねー
842 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 12:28:45 ] swingプログラムの中でメニューやボタンから別のウィンドウを表示させる際に class Window2{ Window2(String title){ JFrame frame2=new JFrame(title); ・・ frame2.setVisible(true); } } こういう風にもう一つのクラスを作ってnewした場合、 setCloseOperation(JFrame.EXIT_ON_CLOSE)を設定すると 呼出し元のウィンドウも含めてプログラム全体が終わってしまいます。 WindowListenerで設定しようかと思ったのですが、 明示的に破棄するウィンドウを指定するにはどうしたら良いのでしょうか?
843 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 12:30:56 ] DISPOSE_ON_CLOSE のこと?
844 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 12:37:46 ] DISPOSE_ON_CLOSE 相当の処理を自分でやりたいってことなら、 DO_NOTHING_ON_CLOSE にして windowClosing で dispose を呼ぶ
845 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 12:38:43 ] >>843 あああすいません、それですね! 何かハンドル渡してウィンドウ指定して破棄みたいなやり方かと思ったらあったのかorz
846 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 12:46:56 ] >>833 添え字というかなぜかStringになってるところが かなりヤバイね
847 名前:デフォルトの名無しさん [2008/06/05(木) 14:45:25 ] JSONみたいにXMLのマージを行うことの出来るJavaのライブラリってある?
848 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:22:02 ] eclipseでJavaの開発を始めたばかりのひよっこです JUnitの使用に慣れておけ、と言われました 明日一日使ってJUnitの勉強をするつもりですが、参考になるサイトがあったら教えてくださいです
849 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:29:20 ] いった奴に責任があるからそいつに聞いておくんなさいまし。
850 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 16:44:22 ] サンのJDKとOPENJDKってやつは同じものなの? どっちもフリーで使える?
851 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:00:39 ] >>721 今更だけど。。もしそこで内部の配列をコピーしなかったら、 要素が増えて拡張されたときに一方の配列がとりかえられて、泣き別れになるよね。
852 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:02:46 ] ていう以前に要素数のカウンターが別管理になるか
853 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:17:00 ] JUnitとか意味ない
854 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:30:02 ] 大体、単体テストツールの使い方なんて 教えてくれるもんじゃないの?
855 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:30:12 ] >>721 >>851 というかEffective Javaを読めとしか
856 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:30:47 ] >>848 @ITとJUnitでググレ
857 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:33:07 ] JUnitの使い方だけ覚えてもServletやDBやHTTPセッションのテストは 容易ではないからなあ。 JUnitだけでなくJakarta Cactus、DBUnit、HTTPUnit、MockObjectの 使い方まで覚えないといけない。 どうせならTestNGも覚えておくことをお勧めしておく。 JUnitはJUnit4が出たのでそれも覚えておくことをお勧めしておく。 ついでにAntやMavenからJUnitを起動する方法も覚えておくことをお勧めしておく。
858 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:41:39 ] JUnitとかのテストツールの使い方覚えるよりも、テストの書き方覚えたほうがいい。
859 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 17:57:11 ] テストの書き方はチーム内のルールがあるのでは? ↓ 「JUnitに慣れておけ」と言った当事者に質問しろ
860 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 18:45:34 ] つまり名目的なJUnitのパターンを研究すれば回避の道が開けるかもしれないわけか
861 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 19:50:54 ] Cactus や HttpUnit は、めんどくさいだけで あまり意味がないと思うのが本音。 テストケースを通すばかりのクラスになり、画面を見れば一目瞭然の問題の エラー、あるいは仕様的にグレーだけど明らかに改善したほうがいい問題 に気がつかないことが多い。 テストケースの作り方が悪いのだろうけど。あと見た目の問題とか。 顧客に「テストの時間一杯取ったのに、こんなのにも気づかなかったの?」と怒られる。 うちのチーム(Webアプリ)は、Unit テストは Serviceクラス、Utility クラス、DAO まで。 UI レイヤ(Struts だったら、Actionクラス、ActionForm、jsp)は、Excel でテスト仕様書起こして 手でやっている。 ケントベックの言う、「いつでも、再帰的にテストをできるようにする」はUIレイヤでは実現できてないけど、 このやり方が、かけるコストと、目的に対する効果が一番バランスが取れていると思っている。 テストクラスの実装にいつも時間がかかるのをどうにかしたいと思っていて、 slenium とか fitness という単語は知っているのだけど、まだ試してみてない。 というわけでみなさんどうしてますか?
862 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 21:44:52 ] ほぼ>861と同様だけど、DAOは検索系しかやらんな。 S2Daoなり使っていると特に。 逆に画面系は入力チェック系だけはHttpUnitとか使う
863 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:24:21 ] >>861 一番面倒くさいのはCactusだな。 そんでみんなしてMockObject使って HttpServletResponseとHttpServletRequestオブジェクトを偽装して Servletのテストしているんだよな。
864 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:28:04 ] >>861 Seleniumでググってみたら これはなかなか使い勝手がよさそうだ
865 名前:デフォルトの名無しさん [2008/06/05(木) 22:37:29 ] あんこ1 あんこ2 あんこ3 あんこ4 あんこ5 あんこ6 あんこ7 このようなテキスト構成のときに 以下のように、改行が2つ続くとき改行したいのですが どのような制御をすればよいでしょうか あんこ1、あんこ2、あんこ3、あんこ4 あんこ5、あんこ6、あんこ7
866 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 22:52:48 ] テキストはファイルからか? readLineで空文字だったらフラグを立てる 次も殻文字だったら改行する ってループではどうかね
867 名前:デフォルトの名無しさん mailto:sage [2008/06/05(木) 23:55:37 ] >>865 とりあえず、マルチポストはやめとけ
868 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:35:42 ] あんこってなんだ? うんこのオマージュか?
869 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:51:18 ] マルチ氏ね
870 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 07:14:34 ] はわわー
871 名前:デフォルトの名無しさん [2008/06/06(金) 12:56:12 ] 基礎的な質問で申し訳ないのですが HTTPURLConnectionのtimeout,wait,retryの上手なやり方が有ったら教えていただけ無いでしょうか TimeoutExceptionを活用すべきなのかどうかも分からない素人です どうかお願いします
872 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:12:56 ] まずTCP/IPとHTTPを学んで来い話はそれからだ
873 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:48:52 ] あるjavaアプリがあって、一連の処理がどのようなクラスのメソッドを実行してきたかをダンプしたいと思っています。 Linuxでいうところのstrace見たいなものです。 プロファイルというものを知りましたが、使用されてメソッドのサマリの表示だけで、 呼び出し順番がわかりません。 実行した順番に呼ばれたメソッドをダンプできる方法はありますでしょうか。
874 名前:デフォルトの名無しさん [2008/06/06(金) 13:54:14 ] 872 分からないなら無駄な返答は不要です
875 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:59:24 ] >>872 Thread.currentThread().getStackTrace() を使う。 あとはデバッガで起動するとか。
876 名前:875 mailto:sage [2008/06/06(金) 13:59:52 ] 失敗。>>873 ね。
877 名前:871 [2008/06/06(金) 14:14:13 ] あさっての答えが返ってきたかと思ってびっくりしたよ 気をつけてね
878 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:23:23 ] Java "execution trace" みたいな話じゃないの。
879 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:41:03 ] JavaでWinのexplorerみたいなのを作りたいのですが、 どうしたら実装出来るでしょうか? 左の方はJTreeで頑張れば出来そうなのですが、 右の選択したディレクトリの中身が表示される部分がよく分からないです。
880 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:44:44 ] JListでいいんじゃ?
881 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:50:28 ] >>875 それは可能なのですが、ダンプをしたいまま差にそのときの、になってしまいます。 一連の処理(時間)の間に呼ばれたメソッドの履歴が取得したいです。 詳しくは解かりませんが、下記のページで実行結果からシーケンス図を作成しています。 イメージとしては、これのメソッドリストがほしい感じです。 AA.aa() BB.aa() AA.bb() …
882 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:39:39 ] eclipse に ajdt というプラグインを入れて、 AspectJ というのを使って関数の前後でログ出力をするようにしてみたのですが、 eclipse でデバッグするのがやりづらくなりました。 ブレークポイントをはりつけても目的の処理でブレークするのが うまく出来なくて困っています。 AspectJ を使ってもデバッグしやすい方法があったら教えてください。
883 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 20:51:32 ] >>881 デバッガに詳細トレースログを取る機能が無いか確認。 無いなら JPDA 使って自分でデバッガを作る。
884 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 17:16:33 ] OpenJDK って Sun の JDK の代わりとして充分使える?
885 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:16:22 ] w
886 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 20:42:09 ] javaのGuiにおけるレイアウトがさっぱりで全然やりたいレイアウトに出来ないので質問させてくださいorz 画面を縦三分割にしたいのですが、それぞれ等隔ではなく真ん中は広く、 またそれぞれの横幅を縮めたり伸ばしたりするレイアウトにしたいのですが こういうのってどうしたら出来るのでしょうか?
887 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:10:25 ] 真ん中は引き延ばすってこと? それならBorderLayoutでも十分そうだけど・・・ 手打ちならGridBagLayoutとかSpringLayout使えばかなりのレイアウトは実現できるよ。
888 名前:デフォルトの名無しさん [2008/06/07(土) 21:34:42 ] それは、レイアウトじゃなくてコンポーネントじゃないか?
889 名前:デフォルトの名無しさん mailto:sage [2008/06/07(土) 21:45:03 ] >>887 レスありがとうございます。 そうです、幅は1:3:1くらいで真ん中だけ大きくしたくて、 かつブラウザのサイドバーみたいに横幅を調整出来るようにしたいのです。 GridBagLayout、難しそうだけどググりながらちょっとやってみます。 >>888 すいません、正直どういう意味か分からないですorz
890 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 00:45:31 ] 境界をつまんでサイズ調整できるやつはJSplitPaneな。
891 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 02:26:34 ] >>890 ありがとうございます!! 頭悪すぎてこんな時間までかかってしまいましたがなんとか出来ました! しかしJavaはC/C++に比べて簡単にGui部品が使えるのに、 レイアウトだけは非常にやっかいですね…。
892 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 02:38:36 ] レイアウトの簡易さはC#にかなわないなJavaは
893 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 02:53:33 ] C#に限ったことではないが、固定配置+Dock/Anchor方式は 直感的に自由度の高いレイアウトが出来るからな
894 名前:デフォルトの名無しさん [2008/06/08(日) 04:49:43 ] しかし一度は位置したコンポーネントを動的に動かしたりは出来ない。
895 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 06:19:46 ] NetBeans6のレイアウト機能はほぼ直感的にレイアウトできるようになっている
896 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 09:14:21 ] ま、レイアウトは言語そのものの問題じゃないから。
897 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 10:05:09 ] 一度配置?
898 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 11:58:01 ] C#というか.NETも、Swingのような窓サイズに合わせた動的配置のコンポーネントが用意されたよ。Ver.2.0くらいから。 しかしあまり使われていないようだ。
899 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 22:18:36 ] javaじゃ動的レイアウトがあたりまえだからなぁ。
900 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 01:46:45 ] C#はあくまでもjavaの模造品の域を超えてないからなあ Cの方は次に期待だよな
901 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 02:05:54 ] X-WindowsやTKをベースに考えるなら動的レイアウトなのは自然だよね。 WindowsFormのDockプロパティはオマケみたいなもので、 動的レイアウトはWPFで全面採用になってる。 ただ動的レイアウトはポトペタ系のツールが作りづらいのが難点。
902 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 02:47:39 ] それで最終的にはCUIに仕上がるんですね。わかります。
903 名前:デフォルトの名無しさん [2008/06/09(月) 11:16:33 ] cは廃れるだろうね
904 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 12:23:20 ] X-Windowsにはつっこんでいいの?
905 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 13:00:21 ] sのあるなしだけだったらつまらないからほってたほうが 他にあるならどぞ CはC++と互換の無いC99はいらない
906 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 14:24:58 ] あるTextFieldに入力するとタイプ毎に任意のJLabelにその文字に 規定の変換がされたものを表示されていくプログラムを作ろうと思ったのですが、 何故かタイプとラベルに表示される文字に時間差があります。 具体的にはこういうコードを書くと、 public void keyTyped(KeyEvent e) { System.out.println("タイプされた文字:"+e.getKeyChar()); System.out.println("表示文字:"+example.getText()); exlabel.setText(example.getText()); } 出力はこうなります。 タイプされた文字:a 表示文字: タイプされた文字:b 表示文字:a タイプされた文字:c 表示文字:ab タイプされた文字:d 表示文字:abc これってどうしてなのでしょうか?
907 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 14:53:41 ] >>906 keyTyped()が呼ばれたときには、まだexampleへのキー入力処理が実行さ れていないから。
908 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 15:57:20 ] うむ
909 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 17:07:45 ] >>907 なるほど、タイプ→フィールドに追加だからですね。 意識したことがなかったので気づきませんでした。 exlabel.setText(example.getText()+e.getKeyChar()); これでいけました、ありがとうございます。
910 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 17:57:49 ] >>909 「文字」と「文字列」を区別したほうがいいと思うけど、それはともかく DocumentListener というものはご存知かな
911 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 18:07:37 ] Javaのjava.util.regex.Patternの動作について質問です。 正規表現に文字クラス"[a-z0-9&&[3-8]c-h]"を与えたところ、 この文字クラスにマッチする文字は 'c'、'd'、'e'、'f'、'g'、'h'の6字になるんです。 これってどういう仕様なのでしょうか? 以下は、マッチする文字を表示するサンプルです。参考に他の文字クラスも表示していますが "[a-z0-9&&[3-8]c-h]"を渡した場合の挙動だけが、なぜそうなるのか良くわからないのです。 ----- import java.util.regex.Pattern; public class RegexTest { public static void main(String[] args) { printMatchingChars("[a-z0-9&&[3-8]c-h]"); printMatchingChars("[a-z0-9&&[3-8][c-h]]"); printMatchingChars("[a-z0-9&&[3-8]&&[c-h]]"); } private static void printMatchingChars(String regex) { Pattern p = Pattern.compile(regex); StringBuilder buf = new StringBuilder(); for (int cp = 0; cp < Character.MAX_CODE_POINT; cp++) { if (p.matcher(new String(Character.toChars(cp))).matches()) { buf.append((char) cp); } } System.out.println(regex + ":" + buf + ':'); } } ----- 出力結果 [a-z0-9&&[3-8]c-h]:cdefgh: [a-z0-9&&[3-8][c-h]]:345678cdefgh: [a-z0-9&&[3-8]&&[c-h]]:: P.S.代理レスでの書き込みなので、返信が遅れるかもしれません。
912 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 18:54:29 ] java.sun.com/javase/ja/6/docs/ja/api/java/util/regex/Pattern.html >文字クラス >[abc] a、b、または c (単純クラス) >[^abc] a、b、c 以外の文字 (否定) >[a-zA-Z] a 〜 z または A 〜 Z (範囲) >[a-d[m-p]] a 〜 d、または m 〜 p:[a-dm-p] (結合) >[a-z&&[def]] d、e、f (交差) >[a-z&&[^bc]] b と c を除く a 〜 z:[ad-z] (減算) >[a-z&&[^m-p]] m 〜 p を除く a 〜 z:[a-lq-z] (減算) > 文字クラス演算子は、次の順で優先順位が高くなります。 > 1 リテラルエスケープ \x > 2 グループ化 [...] > 3 Range a-z > 4 論理和 [a-e][i-u] > 5 論理積 [a-z&&[aeiou]] これを見る限り、 [α-ω[...]] はともかく、 [[...]α-ω] の形がどうなるのかは書かれていない(=例外でもおかしくない?)ように見えるけど、どう? >正規表現構文の動作の詳細については、『Mastering Regular Expressions, 2nd Edition』 > (Jeffrey E. F. Friedl 著、O'Reilly and Associates、2002 年) を参照してください。 だそーですが
913 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 19:38:14 ] >>911-912 BUG-BUG-SunMicro に報告、、ってどうやるの?
914 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:38:32 ] >>911 とりあえず現象だけ見ると、 [a-h0-8&&[3-9]c-z] [a-h0-8&&[あ-ん]c-z] [a-h0-8&&[3-9][あ-ん]c-z] [a-h0-8&&c-z] は、同じく [c-h] と等価になっちゃうっぽいね
915 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:57:52 ] >>912-914 さん、返信ありがとうございます。 >>914 さん、 &&の前の文字セットと、&&の後ろの定義済みあるいは[]で閉じられていない文字セットを論理積してるみたいですね。 &&の前後の文字セットの結果は無視されているような。 そして否定が付くと、(ますます良くわからないのですが) [a-zあ-ん&&[3-8]c-h]:cdefgh: [^a-zあ-ん&&[3-8]c-h]:: (何もマッチしない) となります。 こんな面倒な構文使わなければいいと思われると思いますが、 正規表現からそれにマッチするランダムな文字列を生成するクラスを作っていまして 生成した文字がPatternで必ずマッチするようにしたいのです。
916 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:58:02 ] [a-h0-8&&[c-z]] この基本形を入れとくべきか
917 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:08:45 ] >>915 「ちゃんと例外をスローしてもらわないとなあ」というのが私の感想ですがw
918 名前:913 mailto:sage [2008/06/09(月) 21:51:26 ] [^a-z&&[3-8]c-h] [[^a-z]&&[3-8]c-h] 否定は問題ない
919 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 02:57:34 ] >>912 そのオライリーの本、 「正規表現 第二版」のことだよね。 ちゃんと日本語訳された本があるからそっち紹介してもいいんじゃないかと
920 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 09:48:31 ] [...][...]&&[...]&&[...][...]&&[...][...]&&[...]&&[...] [...[...]]&&[...]&&[...[...]]&&[...[...]]&&[...]&&[...] [...[...]]&&[...&&[...[...]&&[...[...]&&[...&&[...]]]]] [...][...]&&[...]&&[...][...]&&[...][...]&&[...]&&[...] [[...]...]&&[...]&&[[...]...]&&[[...]...]&&[...]&&[...] [[[[[[...]...]&&...]&&[...]...]&&[...]...]&&...]&&[...]
921 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 17:20:25 ] >>912 正規表現 第3版 出てる。
922 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 19:59:46 ] そういえばそうだったあね
923 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 17:44:49 ] スレ違いかもしれませんが、JAVAのことで質問です。 JAVAを使える無料レンサバは何故少ない(というか無い) んでしょうか?
924 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 17:50:27 ] Perlではなくて?
925 名前:923 mailto:sage [2008/06/11(水) 17:57:15 ] >>924 はい、JAVA(できればstruts)で作ったWEBアプリをレンサバ で動かそうにも無料のがなく、有料だと高くて…。 確かにPerlもみかけませんよね。phpはどこでも使えるのに・・・ orz
926 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:15:47 ] >>925 無料では見たことがないな。
927 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:22:02 ] 自分でサーバーたてちまえ
928 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:22:44 ] ただで鯖使おうって根性が間違ってる。
929 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:27:48 ] そんなに大変じゃないだろ
930 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 18:58:12 ] >>926-929 そうですね、やっぱり自鯖をたててみます。 レス有難う御座いました。
931 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:03:33 ] サーブレットとかってwww鯖の申請通ればあとはアパッチとかの設定だけだしな。
932 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:15:03 ] >有料だと高くて… Tomcatでいいんだろ?月500円でも高いのか? www.easytone.jp/ 無料なのがないのはJavaだと自由度が高すぎてセキュリティに問題が起きる可能性が高いからだと思うけどな? それにJavaはphpなどに比べれば難しいから需要も少ないってこともあるだろうなあ?
933 名前:デフォルトの名無しさん [2008/06/11(水) 19:22:10 ] 質問です public void paint(Graphics g) { g.drawImage(); } 上記の場合、アプレットだと public void paint(Graphics g)のgの部分はブラウザから 受け取るとあるのですが、アプリケーションの場合、オブジェクトのgはどこで作られるのでしょうか? 自分でオブジェクトgを作らなくても動くのですがどうしてでしょう?
934 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:28:23 ] >>932 金払ってるのに何のセキュリティが問題になるんだよwアホかおまえは
935 名前:デフォルトの名無しさん [2008/06/11(水) 19:31:34 ] 別に鯖缶に文句は無いけど、客を選んでるようじゃそのうち縮小していって、淘汰されるだろうよ
936 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:36:57 ] >>934 無料の場合の話だろ(wアホはおまえじゃ(w
937 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:37:45 ] >>933 ブラウザっていうか,sunの中の人がGraphicsオブジェクトを作って それを引数に指定してpaintを呼び出すようなコードを書いてて,裏ではそれが動いてる アプリケーションも一緒
938 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:40:05 ] >>932 あ、こんな安いレンサバあるんですね。 なるほど、ありがとうございます。
939 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:43:50 ] >>938 使ったことはないんでいいかどうかはわからないよ。 無料10日間お試しコースってのがあるから試してみたら?
940 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 19:46:26 ] JTreeのTreeWillExpansionListenerを使い展開時に DefaultMutableTreeNode型のインスタンスからそのノードに至るまでの ルートからのパスを取得したいのですが、どうやったら良いのでしょうか?
941 名前:デフォルトの名無しさん [2008/06/11(水) 19:52:31 ] >>937 paintを呼び出す時に自動的に、Grapnicsオブジェクトが作られる という事でしょうか?
942 名前:デフォルトの名無しさん [2008/06/11(水) 19:57:15 ] >>936 セキュリティが問題になるとかいいのがれじゃん。無料とか言って話しをそらすなw
943 名前:デフォルトの名無しさん [2008/06/11(水) 20:02:08 ] JSpinner で 普段は浮動少数(double) 〜〜dB(デシベル) と手打ちした時は 自動で対応する値に変換 (6dB -> 2、20dB -> 10) というのをやりたいのですが、どんな感じで実装するのがスマートなんでしょうか?
944 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:07:46 ] >>941 違う 中の人が作って呼んでる
945 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:33:51 ] >>933 >自分でオブジェクトgを作らなくても動くのですがどうしてでしょう? 初心者的にはまあごもっともな疑問だと思う。ちょっとかみ砕いてみる。 「paintメソッドを作る」ということは、 「もし「ここに自分の姿を描いてね」と言われたらこう描く(こう対応する)、と決める」ということ。 何をどう描くかは決められるけど、何に描くべきかは外から指定される。 「paintメソッドを呼ぶ」ということは、 「「ここ(=Graphicsオブジェクト)に自分の姿を描いてね」と頼む」ということ。 どういう絵ができるかは相手次第だけど、「描く場所」はちゃんと用意してから注文する。 ふつうは、アプレットとは別に画面作りの本部(中の人)みたいなのが動いていて、 必要なときに(paint/updateを呼ぶ前に)Graphicsオブジェクトを用意する、 と考えていればいいと思う。 それ以外にも、画像に描画するGraphicsオブジェクトを生成してpaintに渡せば、 その時の表示内容を画像にできたり、というような使い方もできる。
946 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 20:36:56 ] >>940 JTreeの展開のどの部分のパスなのかしら?
947 名前:945 mailto:sage [2008/06/11(水) 20:40:48 ] ごめん、読んでなかったw >アプリケーションの場合は かw
948 名前:デフォルトの名無しさん [2008/06/11(水) 20:57:47 ] >>945 文句は無いんだけど、もし君が学校か何かの講師ならイマイチ。 安物のJava教本を読んだほうがいいかな
949 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:05:08 ] ageるな厨房
950 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 21:10:47 ] >>946 すいません、C:\Program Files\Adobeとかいう階層があったら、 Adobeを開いた時にC:\Program Files\Adobeという絶対パスを取得してFileに渡したいという感じです。 一応ググったりしながら下のようにやってみたのですが、関数で既にそういうものが用意されていたりするでしょうか? TreeNode paths[]=konode.get(i).getPath(); String path=""; for(int j=0;j<paths.length;j++) path+=paths[j]+"\\";
951 名前:945 mailto:sage [2008/06/11(水) 21:11:07 ] >>948 個人的にはイマイチ講師程度ならうれしいよw
952 名前:デフォルトの名無しさん [2008/06/11(水) 21:50:03 ] こういうアホ講師は得意げになっていって、後々面倒になるんだよね・・
953 名前:デフォルトの名無しさん [2008/06/11(水) 22:13:24 ] >>949 怒るとすぐこんなふうになるし、こいつは短気なんだろw
954 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:28:56 ] >>950 JTreeが実際に何を象徴しているか、JVMは知らないんじゃないかしら?
955 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 22:34:36 ] >>939 丁寧にdクス。
956 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 23:03:20 ] >>940 TreeWillExpandListenerに渡されるTreeExpansionEventから引っ張れる、これ java.sun.com/javase/ja/6/docs/ja/api/javax/swing/event/TreeExpansionEvent.html#getPath () とは別のもの?
957 名前:933 mailto:sage [2008/06/12(木) 06:07:03 ] ありがとう
958 名前:デフォルトの名無しさん [2008/06/12(木) 14:33:54 ] すいません、最近javaをはじめた者です。 buf[i+1]<<8|buf[i]&0xFF これの"|"は何を意味しているのですか?
959 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:36:55 ] 論理和
960 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 14:55:12 ] >>958 ビット単位のOR
961 名前:デフォルトの名無しさん [2008/06/12(木) 15:20:06 ] たぶんバグw
962 名前:デフォルトの名無しさん [2008/06/12(木) 15:39:46 ] jsp:invokeの意味が全然わからないんだが、 これって要するに他言語で言うeval? jsp:doBodyとのちがいもわからん
963 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 15:58:14 ] >>958 他のは分かるけど、ということ?なんか不自然な気が
964 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 16:29:31 ] >>962 JSPはほとんど知らないけど、 java.sun.com/products/jsp/syntax/2.0/syntaxref2017.html <jsp:doBody> java.sun.com/products/jsp/syntax/2.0/syntaxref2021.html <jsp:invoke> このへんざっと見る限り、 ・doBodyは、そのタグで囲まれた部分全体を(フツーのJSP文法で?)解釈して処理する ・invokeは、タグの中身に複数のfragment(attributeの一種らしい)があるような複雑な構成で、 個々のfragmentを指名して、その内容をdoBody的に処理 みたいな感じ?とすれば「全部eval」と「一部eval」ということになるかもしれんね。
965 名前:デフォルトの名無しさん [2008/06/12(木) 17:28:58 ] 会社の経費精算システムがjavaアプリで作られており、Windowsマシンで動いております。 作りが悪くて各項目ごとに、出発・到着・金額はいいとして、国や日本円とかをいちいち 入れなくてはならず、毎回入れる項目はだいたい同じなのでスクリプトで自動入力させたいのですが javaアプリのフォームにデータを入れてボタンをクリックさせるツールとか方法は あるのでしょうか? vbscriptとか自動入力クリックツールとかはjavaアプリは全然動かすことができません。
966 名前:デフォルトの名無しさん [2008/06/12(木) 17:31:53 ] 何の作りが悪いって?
967 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:12:26 ] 入力した整数を自動的に因数分解するプログラムを作るにはどうすればいいのでしょうか
968 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:16:28 ] >>967 自分が手計算で因数分解するときの手順をそのままプログラムで書けば良い
969 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:19:53 ] >>967 1は任意の整数xの約数であるから、x=1・xと因数分解できる。■ Java 素因数分解 でぐぐるとか?
970 名前:デフォルトの名無しさん [2008/06/12(木) 18:29:02 ] ■は一体何の意味?
971 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:31:17 ] >>968 >>969 すみません。もう少し勉強しなおしてきます。
972 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:43:19 ] >>965 作った業者に改良を依頼したらいいと思うよ
973 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:48:38 ] >>970 D.Q.N.(「父さんこのイモ何のイモ?」の略)
974 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 18:49:35 ] int x = 9801; java.util.Map<Integer, Integer> map = new java.util.TreeMap<Integer, Integer>(); int f = 2; while (x >= f) if (x % f == 0) {x /= f; if (map.get(f) == null) map.put(f, 1); else map.put(f, map.get(f) + 1);} else f++; System.out.println(map);
975 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 19:04:54 ] 整数xの約数 とあるけど、-23*1とか0*1でもいいのかな 君のプログラムはどういう仕様になってるの?
976 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 21:54:56 ] >>967 の問題が素因数分解であるなら、入力は正整数だから>>975 は心配無用 アルゴリズムは基本的に>>974 の方法で良いが、細かいことをいうと y = ⌊√x⌋ とすると、 ループ継続条件は x > 1 かつ f ≤ y (ループ終了時 x > 1 なら、その x が最後の素因数)
977 名前:デフォルトの名無しさん mailto:sage [2008/06/12(木) 23:20:23 ] >>962 >>964 jspは実行前にコンパイルされるはずだからevalというには語弊があるな。funcallとかapply?
978 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:29:13 ] 質問です。 JAVAで、指定したフォルダをエクスプローラで開くことは出来るでしょうか? Windows以外で動作しなくても構いません ひょっとしたらRuntimeやProcessで出来るかとも思ったのですが、 あれはexeやjarファイル等の起動しか出来ないようで……
979 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:31:08 ] Windowsに限るならexplorer.exe使えばいいよ。 オプションはスレ違いなので調べてちょ。
980 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:37:28 ] >>979 即答ありがとうございます 何とかなりそうです
981 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:37:42 ] >>978 JDK6以降なら java.awt.Desktop#open(java.io.File) でも開けるっぽい。
982 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 00:53:22 ] >>978 explorer C:\Program Files みたいに引数つければRuntimeでいける。
983 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 01:18:47 ] >>981 こんなのがあったのか…… JDKのバージョンにこだわりはないので、エクスプローラの引数指定よりこっちの方がスマートですね 色々試してみます。 回答ありがとうございました
984 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 05:28:52 ] >>976 少し苦しいけど許してあげるよw 以後軽率な発言は控えるように