1 名前:デフォルトの名無しさん mailto:sage [2007/05/29(火) 15:21:29 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド101【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1177938653/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
656 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 11:45:28 ] >>652 > override があればその危険性を排除できる。 うっかりoverride付け忘れの危険性もあるわけで、どっちもどっちじゃね? まぁ、普通は警告見れば気付くだろうけど それ言ったら「意図しないオーバーライド」も相当間抜けな話だし。
657 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 11:52:28 ] >>652-656 オマエら他所いってやれ
658 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 12:17:17 ] >>657 技術屋って上級者ほど空気読めないよな
659 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 12:47:39 ] たまたま話の流れがそれでヒートしただけでは・・・
660 名前:デフォルトの名無しさん [2007/06/19(火) 13:20:48 ] JAVAやってみたいがEclipseをIDEに使う場合 他に何を入れればいいかが判らない J2SEいれてそれでOK? JavaSwingとかはJ2SEに一緒に入ってるの?
661 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 13:32:02 ] >>660 J2SEも含めて何もいれる必要はない。 しいて言えば、基本APIドキュメントの日本語版程度。
662 名前:デフォルトの名無しさん [2007/06/19(火) 13:45:21 ] >>661 レスサンクス 逝って来る
663 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 13:56:05 ] >>656 override がないとエラーなんすけど・・・
664 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 15:00:24 ] >>663 今のところJavaではオーバーライドするのにoverrideなんてものは要らん 他の言語の話なら他所でやってくれ
665 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 15:35:47 ] つーか >するとSpecialHogeのAssertValidはあとから追加されたHogeの同名メソッドをオーバーライドしてしまって こうなる前にまず、リファクタリングでスーパーのメソッドに移動してると思うんだが。 ただの不注意、誰でもあるからどうしようもない。
666 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 15:51:39 ] 現実的に起こりえるのは、オーバーライドしちゃいけないメソッドをオーバーライドしちゃったというケースだからね。 finalがあるのでこれを防ぐってのがJavaの設計思想なわけだ。 orverrideと書かなきゃオーバーライドできないってのもありだけど、ダメと言っているのにオーバーライドする馬鹿がいるとしたらJavaのが優秀w
667 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 16:04:04 ] >>663 > 10.2.2 The new modifier > A class-member-declaration is permitted to declare a member with the > same name or signature as an inherited member. When this occurs, > the derived class member is said to hide the base class member. > Hiding an inherited member is not considered an error, > but it does cause the compiler to issue a warning.
668 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 22:45:34 ] >>667 エラーだろうが警告だろうが上の文脈では本質的に同じだろう。 つかさすがにそれはスレ違い
669 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 22:53:36 ] javaってC#のnewオーバーロードに相当する機能はないの?
670 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 22:55:21 ] >>667 いや、>>656 は区別してるから文脈上は別。 区別できてなかったら>>663 がアホなんだろ。 っつか、スレ違いならレスつけるな
671 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 22:56:11 ] >>669 newオーバーロードが欲しいケースって、どんなケース?
672 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 23:00:55 ] Charset charset1 = Charset.forName("SJIS"); CharsetDecoder decoder = charset1.newDecoder(); ByteBuffer bb = ByteBuffer.wrap("a".getBytes()); System.out.println(decoder.decode(bb).toString()); 先生・・・aが表示されんとです・・。
673 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 23:10:36 ] >>672 1.6以降だと表示される。1.5、1.4だと駄目だったと思う。 bugs.sun.com/bugdatabase/view_bug.do?bug_id=6196991 が原因。CharsetDecoder#decode(ByteBuffer) のバグ。
674 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 23:13:21 ] >>672 2文字(ab)以上でないとダメみたい
675 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 23:21:57 ] >>672 1.4でソース読んでみた。 0.5(平均バイト) × 1(バイト) が 0になる為、1バイトは無視されるバグだった。
676 名前:669 mailto:sage [2007/06/19(火) 23:24:21 ] >>671 すまん変な表現だった C#では、派生クラスでnewキーワードを使ってスーパークラスと同じシグネチャの メソッドを定義して、スーパークラスのメソッドを隠してしまえるの。 オーバーライドとは違って、派生クラスのオブジェクトをスーパークラスの オブジェクトとして扱えば、スーパークラスに定義されたメソッドが呼び出される。 newを付けなくても動作は同じなんだけど、コンパイラで警告が出る。 こんな感じ class A{public virtual void Method();} class B : A{public new void Method();//オーバーライドするときはnewじゃなくてoverride}
677 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 23:26:43 ] >>676 それは知ってる。 で、具体的にどんなケースで必要になるの?って質問なんだが。
678 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 23:54:05 ] デリゲートだっけ?そういうのがないjavaだと困らんような。 公開フィールドに突っ込まれたクロージャは将来困るかも知れんが。
679 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 23:56:54 ] > 公開フィールドに突っ込まれたクロージャは将来困るかも知れんが。 ???
680 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 04:15:12 ] どんな場合に使うかも知らずに「知ってる」って…w
681 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 08:30:14 ] 使われたくないスーパークラスのメソッドを隠す publicをprivateにするのも可 インターフェイスの明示的実装とあわせて、 継承を繰り返したりインターフェイスを多数実装したクラスが 継承メンバだらけでぐちゃぐちゃになるのを防ぐ機能だよ さすがにスレ違いだなすまん
682 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 09:22:42 ] >>681 > 使われたくないスーパークラスのメソッドを隠す > publicをprivateにするのも可 > 3.7 Scopes > The scope of a name is the region of program text within > which it is possible to refer to the entity declared by the name > without qualification of the name. > 3.7.1 Name hiding > The scope of an entity typically encompasses more program text > than the declaration space of the entity. In particular, > the scope of an entity may include declarations that introduce > new declaration spaces containing entities of the same name. > Such declarations cause the original entity to become hidden. > 7.3 Member lookup (中略) > First, the set of all accessible (§3.5) members named N > declared in T and the base types (§7.3.1) of T is constructed. > Declarations that include an override modifier are excluded from the set. > If no members named N exist and are accessible, > then the lookup produces no match, and the following steps are not evaluated.
683 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 09:37:12 ] 続く > Next, members that are hidden by other members are removed from the set. だけど、これは(集合内の)他のメンバによって隠ぺいされるメンバは集合から削除される、なんだろな。
684 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 18:21:04 ] 基底クラスでpublicになってるのを派生クラスでprivateにするのはC#でも無理だな 派生クラスで基底クラスが実装してるものと同じインターフェイスを実装しなおしたいとか、 インターフェイスを実装したいけど、そのメンバが 基底クラスのメンバと名前が被ってるとかいうときに使う
685 名前:デフォルトの名無しさん [2007/06/20(水) 19:51:32 ] くだらない質問ですいません。 int b=1; int c=0; int d=b---c; これは解釈の仕方ではインクリメント演算子にもなるし、 デクリメントにもなると思います。この場合はデクリメント演算子と 解釈して計算するそうです。なぜそうなるのでしょうか? 人間がこういう場合はこうすると決めたことなのでしょうか?
686 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 19:56:38 ] むしろどう解釈したらインクリメントになるのか教えてほしい
687 名前:デフォルトの名無しさん [2007/06/20(水) 20:00:48 ] すいません、間違えました。前置演算子として解釈するのか 後置演算子として解釈するのかでした。
688 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 20:13:49 ] 左から判定していくんじゃねーの
689 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 20:15:12 ] >>685 C言語は解釈順が決められていないが Javaは前から評価していくと決まっていて、 単項演算子は、2項演算子の-よりも優先度が高いから d = (b--) - c じゃないのか? ttp://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#4779
690 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 20:30:46 ] >>689 そのURLに書いてあるのは値の評価順のことでしょ 構文解析の話題とはまったく関係なくない?
691 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 20:42:20 ] >>689 www.y-adagio.com/public/standards/tr_javalang/3.doc.htm#95504 > Javaは,他の字句変換を行えば文法的に正しいJavaプログラムが生成される場合でも, > 各段階で(トークンの)最長可能変換を常に使用する。例えば,入力文字a--bは, > a,-,-,bとトークン切出し(3.5)すれば,文法的に正しいJavaプログラムの一部となるが, > 文法的に正しくないa,--,bにトークン化される。
692 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 21:09:26 ] >>681 つリスコフの置換原則
693 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 21:25:57 ] eclipseのVisual Editorでswingを使ったGUIプログラムを作りました(main()はなし) eclipse上からはメニューからJava Bean実行を選ぶだけで実行出来るのですが、 コマンドプロンプトや他のPCから実行したい場合どうすればよいのでしょうか?
694 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 21:28:45 ] エントリポイントないのにどうやって実行するんだ?
695 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 21:32:05 ] >>693 いったい何を言っているんだ・・・ mainメソッドを記述したクラスを作って実行すればいいじゃないか?
696 名前:デフォルトの名無しさん [2007/06/20(水) 21:38:00 ] 685です。回答ありがとうございました。 ホームページを見たのですが、勉強不足で理解できませんでした。 いろいろ自分で調べてわかるようにしたいと思います。
697 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 21:47:18 ] 「左から順に解析される」 「複数の解釈が可能な場合は常に長い方が採用される」 この2点だけおさえておけばいい。 あとは理解力の問題だ。 「この条件で自分で解析するとしたらどうなるだろうか?」 というのを実際に紙にでも書いて考えてみれ。
698 名前:デフォルトの名無しさん mailto:sage [2007/06/20(水) 22:30:54 ] 見てすぐに理解できないコードは実務では不要 言語研究とか趣味ならいいが。
699 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 04:52:42 ] String hoge = fuga.split("regex"); if(hoge.length >= 3 && hoge[2].equals("hage")){ } みたいに書いたときにIndexOutBoundみたいなException出る心配はないですよね
700 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 05:21:26 ] >>699 IndexOutOfBoundsExceptionが出る心配はない。 その前にコンパイルエラーが出る。
701 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 05:24:45 ] つ String[] hoge = 配列の要素数をチェックしているからhoge[2]でインデックス範囲外アクセスの例外は出ないよ
702 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 05:38:31 ] >>700 すみません typo です String[] hoge = fuga.split("regex"); と解釈してください
703 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 05:39:57 ] 必ず左から評価されると決まっていない場合は ifを2行に分ける必要があるんだけど Javaの場合は大丈夫だお
704 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 07:39:28 ] // さっき知ったJadが凄過ぎて感動して耳から鼻くそが出てきそう
705 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 08:35:10 ] if(hoge.length >= 3 & hoge[2].equals("hage")){ } だとショートサーキット評価が行われないから、 hoge[2]が無ければArrayIndexOutOfBoundsExceptionが投げられる。
706 名前:デフォルトの名無しさん [2007/06/21(木) 10:39:34 ] 送信ボタンを押しても、反応しません・・。 どこか、間違えていますか? 初心者なので、ご指摘・修正の方を宜しくお願いいたします。 i-get.jp/upload500/src/up5912.txt
707 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 11:12:52 ] >>706 JButton button2 コンストラクタの中で定義しているローカル変数のbutton2とインスタンス変数のbutton2の名前が衝突しているのが原因。 解決方法としては、コンストラクタの方の JButton button2 = new JButton("送信"); /* 送信ボタン */ を button2 = new JButton("送信"); /* 送信ボタン */ とする。 それだけだとぬるぽが起こるガッ、原因は同じ。
708 名前:デフォルトの名無しさん [2007/06/21(木) 11:18:48 ] >>707 ご回答ありがとうございます! 修正をさせて頂きましたが、ぬるぽが発生します。 ぬるぽを防ぐにはどの様に修正した方が良いでしょうか? 色々とぐぐったのですが、初心者なので良く分かりませんでした。 質問ばかりですみません・・。
709 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 11:29:23 ] >>708 原因は一緒だといってるだろうガッ 解決した理由を考えなければ、貴様は何度も同じ質問をする。
710 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 11:33:52 ] Java最強!? pc11.2ch.net/test/read.cgi/tech/1182390759/
711 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 12:05:45 ] >>705 ぬるぽじゃないの?
712 名前:711 mailto:sage [2007/06/21(木) 12:23:10 ] あ、ああああ。すません。演算子見てませんでした。
713 名前:デフォルトの名無しさん [2007/06/21(木) 17:08:38 ] StreamTokenizer って指数形式の浮動小数点数を数値として読み取ってくれないのですか? 読み取らせるにはどうしたらよいでしょうか。
714 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 20:29:36 ] JDBCでMySQLにデータ追加するプログラムを作っているのですが、 eclipseで実行するとデータ追加出来るのに、JavaWebStartで実行するとできません。 ドライバか何か設定してやらないといけないのですか?
715 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 20:37:51 ] エスパーさーーん出番ですよー
716 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 20:41:42 ] -classpath
717 名前:デフォルトの名無しさん mailto:sage [2007/06/21(木) 23:31:34 ] エスパーしても要求するライブラリインスコさせてないとかセキュリティマネージャとか色々ありすぎる。
718 名前:618 [2007/06/22(金) 00:58:49 ] >>619 ありがとう 答えは、VK_F1でOKでしょうか? なんかjava.awt.event.KeyEvent の説明にあった、「定数の値に頼らないでください」の注意書きがよくわからなかったのですが…
719 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 01:19:13 ] 定数と比較する時に数値リテラルを使うなって事。 final byte COLOR_RED=127; と定義されてるからと言って //赤の場合 if(getColor() == 127) System.out.println("赤です。") と書かない。実装がいつ変更されるか分からないから。 言い方変えると実装に依存するなと言う事。
720 名前:デフォルトの名無しさん [2007/06/22(金) 05:36:26 ] //赤の場合 if(getColor() == COLOR_RED) System.out.println("赤です。") これはOK?
721 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 05:51:15 ] おk 場合によっちゃ型まで変更があるかも知れん。 final String COLOR_RED="#ff0000"; if(getColor()==127)... こうなったら定数とgetColor()の定義以外にリテラルも変更する必要が出て来てバグを誘発したりする。 公開されてるAPIリファレンスの説明文から分かる情報以上の、たとえばソースコードから 得た情報に依存したコードを書くのは行儀悪い。
722 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 11:11:40 ] 型の変更に対応できるソースなんて書けないだろ その例だと>>720 もアウトだし。
723 名前:デフォルトの名無しさん [2007/06/22(金) 11:30:15 ] JDialog って、コンストラクタで作成した後で、 オーナーを変更することはできないのですか?
724 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 11:59:39 ] >>723 作成した後に変える必要があるのですか? 新たにnewすることはいけないことですか? 専用のPanelを作成することはできないのですか? 特定の用途であれば、それぞれのパネルを保持すればよいのではないですか?
725 名前:723 [2007/06/22(金) 12:54:17 ] すいません、質問を変えます。 やりたいことは、JOptionPane みたいに、 Component を受け取って、その親の Frame または Dialog を オーナーとするダイアログを作成したいんですが、 JDialog のコンストラクタが Frame または Dialog しか受け付けないので、 class SomeDialog extends JDialog { public SomeDialog(Component comp) { super(comp); // これはできない。 } } はうまくいきません。 super(SwingUtilities.windowForComponent(comp)); これも、JDialog のコンストラクタが Window を受け付けないので、だめです。 instance of で Window が Frame か Dialog かの判定はできますが、 super はコンストラクタ内の最初に呼び出さなければいけないので、これもできません。 何かいい方法はないでしょうか?
726 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 13:38:21 ] 作成側でownerに対する参照を持っているべきだと思うな。 使い分けはオーバーロードしておきゃOK class SomeDialog extends JDialog { public SomeDialog(Dialog owner) { super(owner); } public SomeDialog(Frame owner) { super(owner); } }
727 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 13:41:18 ] >>725 createDialog みたいなメソッド作って、そこで instanceof して 2種類のコンストラクタ呼び分けるしかないのでは? 1.6以降なら JDialog のコンストラクタが Window も引数にとれるようになってるけど。
728 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 13:42:31 ] どうしても中で判定したい場合は、次のメソッドを追加。 static SomeDialog createInstance(Component component) { if(component instanceof Dialog) { return new SomeDialog ((Dialog) component); } else if(component instanceof Frame) { return new SomeDialog ((Frame) component); } else { throw new IllegalArgumentException() // ? } }
729 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 15:41:46 ] ローゼンのキャラが解説してるjavaのサイトがあったのですが どなたかご存知ないですか? クライアントサーバとかの解説がされているページです。
730 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 19:58:15 ] クライアントサーバ方式のチャットを作っています。 クライアントがメッセージを受け取り、TextAreaに追加する際 同時にキャレットを動かし最新の発言が見えるようにしています。 これだとログをさかのぼり読んでいる最中に発言があると\(^o^)/オワタなので、 スクロールバーが一番下にある状態に時だけキャレットを動かしたいと思うのですが どうやってそういう状態を知るのか分からず、実装できません。 助言をください。 以下が現在使っているメソッドです。 public void addMessage(String str) { messageArea.setText(messageArea.getText() + "\n" + str); try { messageArea.setCaretPosition(messageArea.getText().length()); } catch (Exception ex) { } }
731 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 20:40:11 ] >>730 JScrollPane#getVerticalScrollBar()で取得した垂直スクロールバーに対して、 getMaximun()で最大値, getValue()で現在のスクロール量が取れる。 スクロール可能な実際の最大値は、getMaximun()の値から縦の長さ分引いた値になるので注意。 あとは、この辺組み合わせればできるだろ。
732 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 20:50:06 ] >>730 ttp://blog54.fc2.com/g/grodictionary/file/20061015215500.jpg 図解してみた。
733 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 20:56:09 ] >>732 グロ画像。今時こんなの貼るやついるんだな。
734 名前:sage [2007/06/22(金) 21:13:49 ] コマンドプロントにて javac ファイル名.javaでエンターを押し コンパイラされて文字が出てくるはずだと思うのですが 何故か出てきません public class ExerciseD2L1 { public static void main(String args[]) { System.out.println("ここに文字いれてます"); } } ↑間違っていますか?
735 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 21:17:15 ] コンパイルしただけじゃだめだぞw 後に実行しないと。 >java ExerciseD2L1 エンター
736 名前:sage [2007/06/22(金) 21:27:22 ] 解決できました! >>735 さんありがとうございます><
737 名前:736 mailto:sage [2007/06/22(金) 22:16:59 ] 先ほどのものですが 新しくメモ帳で同じようなものを作ったのですが public class SampleD2L2 { public static void main(String args[]) { System.out.println("文字"); } } これでコマンドプロントでjava SampleD2L2 エンターを押しても Exception in thread "main" java.lang.NoClassDefFoundError: が出てきます。 ・String に == は使うな。equals() を使え。 と書いてありますがそうするとどう書いていけばいいのでしょうか? ちなみに参考書を買ってやっているのですが 参考書ではjavac ファイル名.java エンターなのですが・・・・ ちなみにどちらをやってもできませんOTL
738 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 22:20:17 ] >>737 > javac SampleD2L2.java でコンパイルが成功したら > java SampleD2L2 で実行。
739 名前:736 mailto:sage [2007/06/22(金) 22:27:13 ] >>738 さんありがとうございました>< 無事解決しました
740 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 23:13:03 ] >>736 読んでいる参考書を晒して欲しい もしかしたらば、とんでもなく糞本を読んでいるかもしれない。 丸の内なんとかとか・・・
741 名前:デフォルトの名無しさん mailto:sage [2007/06/22(金) 23:28:19 ] awtコンポーネントとswingコンポーネントを Frame、JFrame内に共存させてもいいんでしょうか。 試してみたところ不具合は起きませんでしたが、 この先疑問を抱えながら開発するのは不安なので ご存知の方教えてください。
742 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 00:10:22 ] 不安だったらやめとけ
743 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 00:29:39 ] うちのPCは家庭用最先端な4コアCPUです。 こういうのはマルチスレッドの処理が速いと聞きましたが、 このスレッドってJAVAのThreadと同じものですか? Thread使って並列処理するとうちのPCの性能を生かせるのでしょうか? それとも、JAVAのThreadとは別物なのでしょうか?
744 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 00:34:26 ] 匿名クラスってコンストラクタ定義できないっスよね?
745 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 00:56:02 ] >>744 できない。 インスタンス初期化子使うかフィールド宣言に初期化子付けるか、そーゆーので代用。
746 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 01:34:28 ] 増えたと思ったらw >>741 軽量が先、重量が後に描画される。
747 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 02:17:31 ] >>743 VMの実装によると思われる。 たぶん、凡人が考えるようなことはやっている。
748 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 04:14:36 ] java.util.concurrent.ExecutorService の中にタスクが残っていなければ shutdown したいんですが、 独自の ExecutorService を作る必要がありますか?
749 名前:デフォルトの名無しさん [2007/06/23(土) 07:41:23 ] GUIのレイアウトについての質問です。 ウィンドウを左右二つのパネルに分けています。 左のパネルには可能な限り大きな正方形を表示します。 右のパネルには色々な情報を表示します。 左のパネルの横幅は縦幅以上には広がりません、 (1) ウィンドウが横に広がれば 右のパネルの横幅は変わらず、左のパネルだけが広がります。 (2) 横幅=縦幅の時にウィンドウが横に広がれば 左のパネルは変化せず、右のパネルがだけが広がるようにしたいです。 GridBagLayoutを使い(1)は実現できましたが(2)はどのように実装すれば良いのでしょうか
750 名前:デフォルトの名無しさん [2007/06/23(土) 08:29:27 ] JDKについているHTMLドキュメントが使い難い・・・不親切だし・・・ スレッドでwait()したらsynchronizedも解除されるなんてリファレンスに書いてないし・・・ 勉強中にこんなことで悩んでいたし・・・
751 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 08:38:06 ] >>750 書いてあるよ。 ttp://java.sun.com/javase/ja/6/docs/ja/api/java/lang/Object.html#wait(long) >現在のスレッドをこのオブジェクトの待機セットに入れるときに、wait メソッドはこのオブジェクトのロックだけを解除します。 最初は慣れないが、ガンガレ。
752 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 08:47:59 ] >>751 Σ( ̄ロ ̄lll) wait(long)じゃなくてwait()のところを読んでいたので気がつかなかった・・・ 感謝です
753 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 08:50:42 ] >>750 sunの開発者向けページにあるチュートリアル見ると幸せになれるよ。 sunのjavadocは完全に公開仕様な部分しかふれてないから 実装よりの事は伏せてある(リスナが呼ばれる順に依存しちゃダメな理由とか)。 外部プロジェクトから取り込んだライブラリのドキュメントと見比べると コピペだって事が分かる。javadocの方針は仕様のみ書けって事だからそういうもんなんだろ。 ただ、そのコピペが所々間違えてるんでチュートリアルとかガイドをちゃんと読んだ方が良い。
754 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 08:57:40 ] >>753 ここですか? jp.sun.com/developers/individual.html
755 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 09:10:18 ] >>749 >左のパネルには可能な限り大きな正方形を表示します。 >左のパネルの横幅は縦幅以上には広がりません、 >ウィンドウが横に広がれば >右のパネルの横幅は変わらず、左のパネルだけが広がります。 矛盾してない?
756 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 09:39:30 ] ウィンドウの横幅を広げれば、自動的にウィンドウの縦幅も広がっていくって事なんじゃない?
757 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 10:56:54 ] >>748 よく知らんが、shutdownは残りのタスクが終了するまで待つとかしないん?
758 名前:749 mailto:sage [2007/06/23(土) 11:43:23 ] 分かりやすい説明がが書けず、すみません。 >>755 ウィンドウが横に広がれば、 右のパネルの横幅は変わらず、左のパネルだけが優先して広がるが、 左のパネルの横幅がウィンドウの縦幅の大きさまで達するとそこからは右のパネルが広がりだすという事です。 >>756 いえ、そうではありません。 ウィンドウが縦に広がった場合は特に特別な事はなく、右のパネルも左のパネルも ウィンドウが広がった分だけ広がります。
759 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 12:11:12 ] ああ、つまり ┏━━┳━┓ ┃ ┃ ┃ ┃ ┃ ┃ ┗━━┻━┛ では無く、 ┏━━┳━┓ ┃ ┃ ┃ ┃ ┃ ┃ ┣━━┫ ┃ ┗━━┻━┛ なんだな。左下にパネルで無い部分があると(右下にもあるかも知れないが)。
760 名前:749 mailto:sage [2007/06/23(土) 12:19:39 ] あ、左のパネルが長方形でもその中に描写可能な最大の正方形をと描くという意味で、 左のパネル自体が正方形という意味ではないです。 この記述は質問レスにいらなかったかもしれませんが、 左パネルの(横幅が縦幅に達した後)広がりが止める理由が分かってもらえればと思い書きました。 実際紛らわしくなっただけのような気もしますが(^_^;)
761 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 13:20:50 ] >>757 shutdown は新規タスクの追加を禁止して、現在のタスクが全て完了したらシャットダウンするんです。 新規タスクの追加を禁止せずに、以後タスクが全て完了したタイミングでシャットダウンを予約〜ってことをするにはどうすればいいのかなーと。
762 名前:デフォルトの名無しさん [2007/06/23(土) 18:04:47 ] 学校でコメントアウトに日本語が含まれるプログラムを自宅のPCでコンパイルすると、 警告:この文字は、エンコーディング MS932 にマップできません。 との警告が表示されます。 学校のPCでは問題なくコンパイルできます。 自宅でのコンパイルの警告をなくしたいのですが、どなたか方法知りませんでしょうか?
763 名前:デフォルトの名無しさん [2007/06/23(土) 18:11:42 ] swingでダイアログを作ろうとして、 Dialog NewDialog = new java.awt.Dialog(new BaseFlame()); と書いても Dialogが解決できませんとeclipseに怒られてしまいます・… 所有者ってなんでしょうか。親フレームだと思ったのですが…
764 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 18:32:55 ] judeでクラス図を書こうとしてるんですけど、どうかいていけばいいかわかりません。 問題 ある旅行代理店では,宿泊施設と交通機関のチケットをセットにした商品販売を開始することにした. この商品販売のための,計算機システムの導入も検討している. この商品は顧客が店舗に行き,代理店の店員と価格や時間等を考慮し相談しながら販売することを想定している. しかし,将来は顧客自身がウエブサイトや携帯電話等を通して,この商品を購入することが可能となるようにしたいと思っている. この代理店は以下の三つの既存システムを利用可能である.
765 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 18:35:09 ] * 宿泊施設の空室照会および予約システム: 交通機関の駅等の名前と,宿泊人数,宿泊希望日を入力すると,宿泊可能な宿泊施設の候補を5つ程度教えてくれる. 候補は価格の安い順,高い順でソートできる. 候補として提示される宿泊施設の情報は,施設が提供した自由記述の説明である.そして,空室を予約することができる. * 交通機関(列車,バス,飛行機)の空席照会および予約システム: 人数,出発希望日時,到着希望日時と到着先を入力すると,空席がある交通機関の組合せ候補を5つ程度提示してくれる. 移動時間の短い順,価格の安い順で候補はソートされる. そして,空席を予約することができる. * 最寄駅等の照会システム: 住所を入力すると最寄の交通機関駅等の候補(5つ程度)と,そこまでの距離を教えてくれる. 尚,支払い業務については当面考えなくても良い.
766 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 18:39:24 ] 上記に示した商品販売のための計算機システムの設計をせよ って問題です。 どうやって作っていけばいいのかおしえてください。
767 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 18:41:18 ] >>763 たぶんDialogの完全名を解決できていない。 インスタンス生成の方にはjava.awt.を付けてるのに変数名の型に付けてないのは何で? >>764-766 judeの使い方について説明を求めているのであれば板違い。ソフト板とかか?(違うかも) 宿題なら宿題スレへ。
768 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 18:41:57 ] なんのために学校行ってるの?
769 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 18:46:44 ] >>762 ソースファイルの文字エンコーディングを調べて、 例えばutf-8なら、 javac -encoding utf-8 ソースファイル のようにコンパイルするか、 自宅のPCのOSで使われている文字エンコーディングにソースファイルを変換してからコンパイルすれ。
770 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 18:50:48 ] >>763 せっかくswingでダイアログ作るならJDialog使えよw
771 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 19:01:53 ] >>749 >>755-760 これでどうかな? sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29497
772 名前:763 [2007/06/23(土) 19:26:05 ] >>767 ありがとうございます。 単なるimport文抜けのミスでした… >>770 フォントサイズとかレイアウトとかを自分で変更したかったので・・・ JDialogだとなんかフォントおかしくなりませんか?
773 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 19:49:55 ] >>772 現行のswingスレの478あたりからの流れを読むといいかも
774 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 20:44:10 ] intをStringにキャストするにはどうすればいいんですか? int a=1; String s; s = (String)a; これでエラーになります。
775 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 20:51:20 ] Integer.toString(a); あるいは String.format("%d", a);
776 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 20:54:47 ] >>775 ありがとうございます。
777 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 21:04:52 ] StringBuffer sb = new StringBuffer(); String s = sb.append(a).toString();
778 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 21:09:39 ] StringWriter sw = new StringWriter(); PrintWriter pw = new PrintWriter(sw); pw.printf("%d", a); pw.flush(); String s = sw.toString();
779 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 21:11:17 ] >>777-778 面白い?
780 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 21:14:27 ] 「int を String に変換」 はできるけど、「int を String にキャスト」 は不可能だと思うが…… Integer.toString(v) も『キャスト』って呼んでいいの?
781 名前:772 mailto:sage [2007/06/23(土) 23:02:08 ] >>773 おお、そんな方法があったのですね。 自分でダイアログ用のライブラリを作ってしまいましたorz
782 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 23:04:07 ] 変数の帰り値を取得するのってどうするのでしょうか? PHPの場合は function test(&$abc, &$def) { } という感じだったのですが、javaの場合??になっています。
783 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 23:05:10 ] >>780 >>774 に対する回答としては、「キャストできない」が正解だろうな。 >>775 のやり方は「キャストではないけど、変換は可能」だし。
784 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 23:06:46 ] >>782 [戻り値の型] メソッド名(引数1, 引数2){} 適当にJavaの解説サイトくらい読んでから質問しろな
785 名前:デフォルトの名無しさん mailto:sage [2007/06/23(土) 23:16:01 ] PipedOutputStream po = new PipedOutputStream(); PipedInputStream pi = new PipedInputStream(po); PrintStream ps = new PrintStream(po); ps.printf("%d\n", a); ps.flush(); BufferedReader br = new BufferedReader(new InputStreamReader(pi)); String s = br.readLine();
786 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 03:01:39 ] >>785 パイプが詰まったら止まっちゃうだろう。マルチスレッドで
787 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 05:50:02 ] 詰まらなくても \n 忘れると止まるw
788 名前:デフォルトの名無しさん [2007/06/24(日) 14:21:26 ] Javaでフォーム最前面表示って可能ですか? toFront();ループでやってみたんですが 常に最前面表示される方法は無いでしょうか? アクティブでなくても構いません
789 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:42:47 ] SwingかHTMLか話はそこからだ
790 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:49:27 ] >>788 1.6以降なら java.awt.Window#setAlwaysOnTop(boolean) それ以前だと標準APIじゃ無理。 JNI使って自力でやったりするしかない。
791 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 14:50:30 ] >>790 1.5以降だった。
792 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 15:07:20 ] main(String[] args) の argsの引数を受け取って、 String s1 = args[0]; String s2 = args[1]; という文を書くと、 引数無しで実行するとエラーになってしまいます。 エラーではなく、正常に実行されてif文で「引数を入れてください」みたいなコメントを出したいのですが どういう条件にすればいいんでしょうか?
793 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 15:17:25 ] >>792 args.length でチェック。
794 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 15:38:05 ] プロパティファイルって普通どこにどんな名前で保存するんでしょうか
795 名前:デフォルトの名無しさん [2007/06/24(日) 17:26:43 ] JFreeChartに関して 同じグラフの中に棒グラフと折れ線グラフを表示する方法はありますか
796 名前:792 mailto:sage [2007/06/24(日) 17:29:46 ] >>793 出来ました。ありがごうございます
797 名前:デフォルトの名無しさん [2007/06/24(日) 17:36:52 ] 質問があります。入門書に以下のようなサンプル例文があったのですが、 実際のJavaプログラムではこのようなオブジェクト作成、クラス利用は どのように使われているのでしょうか? class roadstarCar{ int type; int engine; } void output(){ System.out.println("車の型は" +type); System.out.println("車のエンジンは" +type); } class honban{ public static void main(String args[]){ roadstarCar eunos = new roadstarCar(); eunos.type = NA6CE; eunos.engine = B6; eunos.output(); }
798 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 17:42:19 ] >>797 それが書かれてた入門書って何?
799 名前:デフォルトの名無しさん [2007/06/24(日) 17:57:58 ] SWINGで ボタンにキーを割り当てる方法を教えて頂けませんか? 例えばOKボタンがあって クリックしてもALT+スペースを押しても 同じ動作をする様にしたいです
800 名前:デフォルトの名無しさん [2007/06/24(日) 18:00:32 ] コンストラクタが無いね 例で之は酷くない?
801 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 18:02:41 ] >>797 勘違い系の入門書の筆頭だな、そりゃ
802 名前:デフォルトの名無しさん [2007/06/24(日) 18:05:42 ] >>798 やさしいJavaって本です。 本当はCarクラスで、フィールド名はnumとgasだったのですがつまらないんで マツダのロードスターをメインに書き換えてみました。 >>800 この本読んでもつかめなかったのですが、コンストラクタとはいったい何でしょうか?
803 名前:デフォルトの名無しさん [2007/06/24(日) 18:15:16 ] ダイアログを消したいのですが、なぜか 「dispose() は型 new ActionListener(){} で未定義です。」 と言われます。 サンプルとか見てもこれで消えると思ったのですが… OK_button.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { dispose(); } });
804 名前:ぴっころ [2007/06/24(日) 18:26:56 ] はじめまして。ぴっころです。 Cとは少し違うかもしれませんが、キャリフラグとオーバフローフラグ の違いを教えて頂けないでしょうか?
805 名前:ぴっころ [2007/06/24(日) 18:27:47 ] すみません。誤爆でした。
806 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 18:42:19 ] やっぱ、やさしいjavaか。最近エンカウント率高いな。 そんな本すぐに窓から投げ捨てろ!! コンストラクタとはインスタンスを初期化するためのしくみ。 あ〜ちなみにやさしいjavaがどういう本かと言うと、 やさしいC++のポインタの説明が無くなったがだけ。 コードがまるっきし同じで説明もまあ、同じ事言ってるかな。 java独自の仕様にはとくに触れてないというか説明してないというか。 んでやさしいC++がCを知らんでもわかるようにってコンセプトでやさしいCって本と内容がかなり重複してる。 第3版なんて5.0対応と謳いつつ、内容は5.0の新機能を使ってないんで5.0でもコンパイラ通るだけ。
807 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:12:18 ] すげー
808 名前:デフォルトの名無しさん [2007/06/24(日) 19:17:55 ] >>797 色々直してみた class RoadstarCar{ // クラス名はClassNameのように単語ごとに大文字で始める String type; String engine; // 文字列はString型(正確にはクラス)で public RoadstarCar(String type, String engine){ this.type = type; // コンストラクタでインスタンスを生成すると同時に初期設定する this.engine = engine; // ここでは引数で渡された文字列で型式とエンジン名を初期化する } public void printInfo(){ System.out.println("車の型は" + type); // メソッド名は具体的に分かりやすい名前をつける、 System.out.println("車のエンジンは" + type); // methodName()のように小文字で始めて単語ごとに大文字に } } class Honban{ public static void main(String args[]){ // コンストラクタに型式とエンジン名を文字列として渡して初期化 // 文字列を表現するには" "で囲めばよい // いきなりNA6CEとか言われてもコンパイラが困っちゃうよ RoadstarCar eunos = new roadstarCar("NA6CE", "B6"); // ↑クラス名とインスタンス名、メソッド名を明確に区別するためにも // 大文字と小文字を使い分けるのは重要でしょ eunos.printInfo(); // 最後にeunosオブジェクトに情報を表示させる } }
809 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:24:44 ] >>808 個人的な意見だが、俺なら type と engine は public final にする。
810 名前:デフォルトの名無しさん [2007/06/24(日) 19:25:57 ] やさしいJavaか・・・乙 コンストラクタを説明するにはインスタンスを考えなきゃいけないんだが、インスタンスはOK? クラスってのがデータの設計図で、実際にデータとするのがインスタンスだ。 クラスが携帯のアドレス帳のフォーマットで、インスタンスが登録した1件1件のデータと思いねぇ。 コンストラクタってのは、このインスタンスを生成する時に1回だけ呼び出される特殊なメソッド。 何か特別なこと(初期値の設定)とかする場合もあれば、何もしない場合もある。
811 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:30:03 ] てか、やさしいjavaは576頁あって半分以上が変数・配列・制御文だからな。 >>808 コンスタラクタ付けただけかい。 carクラスにpublic void printInfo()はやめようぜ。
812 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 19:44:54 ] >>803 ・取り囲むクラスに dispose() が無い。 ・>>803 が静的文脈内にあるので、インスタンスメソッド dispose() を呼び出せない。 のどっちか。
813 名前:デフォルトの名無しさん [2007/06/24(日) 19:47:08 ] >>811 それってどんなボッタ?
814 名前:797 [2007/06/24(日) 19:54:22 ] すいません。やさしいJavaのレッスン8からレッスン10をずっと読み直していました。 >>806 本屋のPC書籍のところに大ベストセラーで置いてあって、他の本より安かったんで買ってみました。 この手のプログラミング言語は初めてだったので、これでいいかと思い選びました。 Javaはオブジェクト指向言語らしいのですが、本にはオブジェクト指向プログラムとは何かの説明がまったくないので 広辞苑で調べてみたのですが、ひとつひとつのクラスに役割をもたせて、複数のクラスでひとつの処理をする、という事であっているのでしょうか? カバーの後ろ開きに載ってるやさしいシリーズ、全部おなじ内容だったんですね。流石、経済学部卒ですね>作者 >>808 補足ありがとうございます。今、理解しながら読んでいます。 >>810 本には「コード上で作成される車1台1台の事をオブジェクト、またはインスタンスと呼びます。 本書ではオブジェクトと呼ぶことにしましょう。」 とあるのですが、>クラスが携帯のアドレス帳のフォーマットで、インスタンスが登録した1件1件のデータと思いねぇ。 と説明されれば一発でわかるのに対して、車で解説されると逆に混乱してしまいますね。 本書に、Car car1 = new Car(); とあり、これでインスタンスを作成してるっぽいのですが これを宣言する事によって、>>797 で書いた例文だとhonbanクラスからroadStarCarクラスを呼び出す事が出来るようになる という事でしょうか?
815 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:01:30 ] >>814 君に「安物買いの銭失い」という言葉を贈ろう。 本は複数買ったほうが良い。1度に一気に買わなくてもいいから。 それぞれの記述の違いを見比べると本質が理解できる場合が多いよ。
816 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:04:40 ] Core Javaに一刀入魂!
817 名前:デフォルトの名無しさん [2007/06/24(日) 20:07:14 ] 前面にIE 後ろにJavaアプリ(SWING) の状態でIEがアクティブの時にキーストローク送って裏に有るJavaアプリを 操作する方法は無いでしょうか?
818 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:09:10 ] >>799 InputMap
819 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:10:07 ] JSPのELで、オブジェクトのアクセッサを介さずに、publicなインスタンス変数に直接アクセスすることはできますか。 他人の作ったクラスで、publicなインスタンス変数にアクセスするものがあるので。
820 名前:810 [2007/06/24(日) 20:17:31 ] クラスとインスタンスの例えで、車とか動物だったらその本はまずNG >>814 インスタンスを生成するってのは、まんまデータを作るって事。 変数を宣言してるので、car1はそのデータに名前をつけていると考えればいい。 つまり、Car car2 = new Car() と書けば、もう1つデータ(インスタンス)が作成させる。 (この辺の例えもアドレスデータで考える方が納得しやすい) なんで、呼び出すことができるってのは間違っていないけど、まずはデータとして利用できるようになるって考えるべき。 アドレスデータであれば、登録(インスタンス化)したんで、見ることができるようになったわけだ。 例えばこんな感じ System.out.println("車の型は" + car1.type); car1のtypeを読み出している ここまで理解できてから、「メソッド」という機能を習得する これはクラス(データ)に操作(振る舞い)を持たせることができる機能
821 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:26:03 ] メソッドや変数にstaticをつけると、クラスメソッドやクラス変数になるのはわかるのですが、 classにstaticをつけると、どのような処理になるのでしょうか?
822 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:28:51 ] >>821 静的メンバクラスになる。 static がなければ内部クラスになる。
823 名前:808 [2007/06/24(日) 20:29:27 ] >>812 ありがとうございます。 なぜか、ダイアログをfinalでnewしたらいけました・…
824 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 20:31:20 ] >>821 前提として1つのクラスの中に別のクラスを記述する場合にしかclassにstaticは使わない インナークラスっていうんだが、暫くはないものとして考えてOKだと思われ
825 名前:デフォルトの名無しさん [2007/06/24(日) 21:00:10 ] >>822 ,824 ありがとうございます。 調べてみたところ、静的メンバクラスというのは、 クラス配下に静的メンバだけしか持たないということらしいのですが、 一体、どういったときに使用するのでしょうか?
826 名前:736 mailto:sage [2007/06/24(日) 21:04:04 ] >>740 さん 10日でおぼえるJava入門教室 第二版 という本なのですが・・・・ どうでしょうか?
827 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 21:17:13 ] >>826 思いっきり丸の内じゃねーかwww
828 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 21:21:17 ] >>825 > クラス配下に静的メンバだけしか持たない 逆。内部クラスは静的メンバをもてない。 内部クラスって用語は、結構混乱があるので注意。 本や人によっては「入れ子になったクラス」全般を指してたりする。 俺は言語規定の > 内部クラス(inner class)は,明示的又は暗黙にstaticと宣言されない入れ子クラスとする。 って定義にしたがってるだけ。
829 名前:797 [2007/06/24(日) 21:32:30 ] >>815 大体読んだのですが、そんな気がしてきました。 表面を軽く説明して読者をわかった気にさせる感じですね。 明日、>>816 さんが奨めているCore Javaという本を大きめの書店に探しにいってみます。 >>820 ちょっとアドレス帳で作ってみました。こんな感じでしょうか? この場合のメソッドとは何でしょうか? 本の方には、「クラスの機能を表す仕組み」とあるのですが、このプログラムの場合 アドレスブックに載っているデータを表示するのが目的なので、system.out〜の部分がメソッドになるのでしょうか?
830 名前:797 [2007/06/24(日) 21:38:47 ] 改行が多すぎると言われたので分けました。 class Addressbook{ String name; String address; int phonenum; public Addressbook(String n, String a, int p){ n=name; a=address; p=phonenum; } public void show(){ system.out.println("名前は"+name); system.out.println("住所は"+address); system.out.println("TELは"+phone); } class Sato{ public static void main(String args[]){ Addressbook sato = new Addressbook(); sato.name = "佐藤"; sato.address = "東京都港区赤坂4"; sato.phone = 0355490000; sato.show(); } }
831 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 21:47:28 ] show()がAddressbookクラスのメソッド ほかにも、 public String 居住する都道府県を取得(); public void こいつに電話をかける(); とかいろいろ考えられるでしょ
832 名前:デフォルトの名無しさん [2007/06/24(日) 21:53:04 ] >>828 内部クラス != 静的メンバクラスですか? 内部クラス(インナークラス)・・・クラスにstaticがつかず、静的メンバをもてない。 静的メンバクラス・・・クラスにstaticがつく。静的メンバを持っている??? ←ここが分かりません。
833 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:04:10 ] staticが付いたクラスは名前の前に (外部のクラスの名前). が付いただけの独立したクラス
834 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:05:02 ] >>832 静的メンバクラスは、インスタンスメンバも 静的メンバを持てる。 内部クラスは、インスタンスメンバは持てるが 静的メンバを持てない。
835 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:06:20 ] × 静的メンバクラスは、インスタンスメンバも 静的メンバを持てる。 ○ 静的メンバクラスは、インスタンスメンバも 静的メンバも持てる。
836 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:09:04 ] >>832 実は全然違う。 public class Sample { public static class Inner01 { // 静的内部クラス public String foo() { return Sample.this.toString(); } // この行でコンパイルエラー } public class Inner02 { // 非静的内部クラス public String foo() { return Sample.this.toString(); } } } new Sample.Inner01(); // クラス Sample 外からの Inner01 の new 方法 new Sample().Inner02(); // クラス Sample 外からの Inner02 の new 方法 静的内部クラスは、外部クラスのインスタンスを必要としない。 一方、非静的内部クラスは外部クラスのインスタンスを必要とするけど、その代わりそのインスタンスに暗黙的にアクセスできる。
837 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:10:28 ] 間違えた。 new Sample().new Inner02();
838 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:12:43 ] >>827 そんなに糞なのか? 恐いものみたさに立ち読みしてみるか
839 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:21:31 ] class Sample{ private int value; static class InnerClass{ private Sample 外部クラスのインスタンス; public InnerClass(Sample soto){外部クラスのインスタンス = soto;} public void Hoge(){外部クラスのインスタンス.value = 2;} } これが内部クラス 実際C#だとこんな風にする
840 名前:デフォルトの名無しさん mailto:sage [2007/06/24(日) 22:23:59 ] 実際っていうか、C# の内部クラスは java の静的内部クラスで、 java における非静的内部クラスは C# には無いからなぁ……
841 名前:デフォルトの名無しさん [2007/06/24(日) 22:25:56 ] >>833- みなさん、ありがとうございます。 むずかしいですね。 よく整理したいと思います。
842 名前:デフォルトの名無しさん [2007/06/24(日) 22:47:35 ] フィールドは必要がなければprivate にしてカプセル化したほうが よりスマート クラスのできればpublic private 等を上手く使ったほうがいいだろう javaのこういた部分は洗練されてるので私は好きですね
843 名前:デフォルトの名無しさん [2007/06/24(日) 23:32:24 ] ある数以下に含まれている素数をすべてスクロールリストに表示するプログラムを作っているのですが どうしても上手くいきません。どこがおかしいか指摘していただけるでしょうか? import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ex2a extends JFrame { JTextField f1 = new JTextField(); JButton b1 = new JButton("変更");
844 名前:843 mailto:sage [2007/06/24(日) 23:33:41 ] すいませんまちがえました。以下が本物です。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ex2f extends JFrame { JTextField f1 = new JTextField(); DefaultListModel model = new DefaultListModel(); JList l1 = new JList(model); JButton b1 = new JButton("表示");
845 名前:843 mailto:sage [2007/06/24(日) 23:34:49 ] public ex2a() { setSize(400, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(null); c.add(f1); f1.setBounds(40, 40, 180, 40); c.add(b1); b1.setBounds(240, 40, 80, 40); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { int n = (new Integer(f1.getText())).intValue(); boolean sosu = true; for(int i = 2; i < n; ++i) { if((n % i) == 0) { sosu = false; } } f1.setText("prime number : " + sosu); } }); } public static void main(String[] args) { (new ex2a()).setVisible(true); } }
846 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:07:13 ] なにがやりたいのかがわからない。 JListに表示したいのならば、JListに追加する。 actionPerfomedの中は、 int n = (new Integer(f1.getText())).intValue(); Vector primeList = new Vector(); for (int i = 2; i <= n; ++i) { if(i が 素数) primeList.add(new Integer(i)); } l1.setListData(primeList); こんな感じだ。
847 名前:デフォルトの名無しさん [2007/06/25(月) 00:18:42 ] >>817 は不可能なんでしょうか? おねがいします
848 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 00:22:49 ] >>847 WindowsアプリとJavaアプリのとの違いを勉強しておいで
849 名前:デフォルトの名無しさん [2007/06/25(月) 00:31:30 ] dll経由のネイティブインターフェイスを使ったり ランタイムをつかったり いろんな方法があるので、具体的にどんな操作を 行いたいのかが纏まってからの方がよさそう
850 名前:デフォルトの名無しさん [2007/06/25(月) 00:35:02 ] >>848 ,849 JNIで実装したいのですが、、
851 名前:843 mailto:sage [2007/06/25(月) 01:05:02 ] >>846 ありがとうございます。Vectorの使い方がよく分からなかったので、配列を使ってやってみたのですが シンボルが見つからないとエラーがでてしまいました。一体どこがおかしいのでしょうか?たびたび申 しわけございません。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ex2f extends JFrame { JTextField f1 = new JTextField(); JList l1 = new JList(); JButton b1 = new JButton("表示");
852 名前:843 mailto:sage [2007/06/25(月) 01:06:33 ] public ex2f() { setSize(400, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container c = getContentPane(); c.setLayout(null); c.add(f1); f1.setBounds(40, 40, 180, 40); c.add(l1); l1.setBounds(40, 100, 180, 40); c.add(b1); b1.setBounds(240, 40, 80, 40); b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent evt) { int m = (new Integer(f1.getText())).intValue(); int j = 0; int[] primeList = new int[100]; for(int n = 1; n <= m; ++n) { boolean sosu = true; for(int i = 2; i < n; ++i) { if((n % i) == 0) { sosu = false; } } if(sosu) { primeList[j] = n; ++j; } } l1.setListData(primeList); } }); } public static void main(String[] args) { (new ex2f()).setVisible(true); } }
853 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 01:40:05 ] シンボル未解決なんてどうせどっかタイプミスしてんだろ。 エラーメッセージに出てる行とその前後をよく見直せ。
854 名前:749 [2007/06/25(月) 02:09:03 ] >>771 参考になりました。 無事実装できました。 sourcepost.sytes.net/sourcepost/sourceview.aspx?source_id=29498 uproda11.2ch-library.com/src/1111460.png
855 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 04:16:38 ] おめでとう
856 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 07:38:38 ] >>843 配列を使うほうが難しいのでVectorを勉強するべき 時に、i++ でなくて ++i を好んで使うのはなんで?
857 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 07:39:30 ] 補足し忘れた。 VectorはArrayListと使い方は一緒
858 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 08:07:05 ] C++ 使いはイテレータの関係上 ++i を好む傾向がある。
859 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 09:23:49 ] long型より大きい数を使いたい場合には変数はどのようにすればいいのでしょうか?
860 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 09:27:29 ] BigInt
861 名前:デフォルトの名無しさん [2007/06/25(月) 10:21:25 ] >>859 ヘルプで変数見たらサイズとか範囲とかあるだろ? そんなことすら調べれないならPGなんかすんな
862 名前:859 [2007/06/25(月) 10:28:37 ] >>861 お前には聞いてない。
863 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 10:44:10 ] >>862 >>860 >>861
864 名前:デフォルトの名無しさん [2007/06/25(月) 10:44:27 ] #include<stdio.h> #include<time.h> void main() { int a,b,c,d,e,hp1,hp2=100,etou; printf("相手を選んでください。\n1.江藤(Lv1) 2.シーツ(Lv2) 3.金本(Lv3)\n"); scanf("%d",&b); printf("\n"); if(b==1) { hp1=100; while(hp1>0) { a=time(0); a=a%21;
865 名前:デフォルトの名無しさん [2007/06/25(月) 10:49:08 ] etou=time(0); etou=etou%35; printf("プレイヤー(HP:%d)vs江藤(HP:%d)\n",hp1,hp2); printf("選択してください。 1.攻撃 2.寝る\n"); scanf("%d",&c);printf("\n"); if(c==1) { printf("プレイヤーは江藤を殴った。\n江藤に%dのダメージをあたえた!!\n\n",a); hp2=hp2-a; if(hp2<=0){e=1;} else if(hp2>0){ printf("江藤の逆襲だ!\nプレイヤーは%dのダメージをくらった!!\n\n",etou/2); hp1=hp1-(etou/2); } }
866 名前:デフォルトの名無しさん [2007/06/25(月) 10:49:44 ] 晒していい?答えは聞いてない! 内部型がどうこういってるやつは javafaq.jp/ のS14~16読んでこい。
867 名前:デフォルトの名無しさん [2007/06/25(月) 10:50:47 ] else if(c==2) { if(hp2>0){ printf("江藤の攻撃だ!\nプレイヤーは%dのダメージをくらった!!\n\n",etou/2); hp1=hp1-(etou/2);} else if(hp1<0){e=2;} } } if(e==1)printf("あなたの勝ちです!!\n"); else if(e==2){printf("あなたの負けです!!\n");} } printf("ゲーム終了です\n"); }
868 名前:デフォルトの名無しさん [2007/06/25(月) 10:52:49 ] >>859 またお前か 最近ム板で暴れまわってるなw 猛威を振るう台風のようだ くだらん事で荒しまくりwwww
869 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 13:03:48 ] もの凄い初心者ですまんとです eclipse+VEでSWTで何か作っとるとですが イメージを貼り付ける方法がわからんとです 「Image xxx;」とかするとエラーになるとです 誰か教えて欲しいとです
870 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:25:33 ] ものすごい初心者ならばコンソールアプリケーションから学べ
871 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:29:27 ] それはコマンドプロントとかでやるヤツのことですか? 一応やったとです
872 名前:デフォルトの名無しさん [2007/06/25(月) 14:45:07 ] try chatchは条件分岐に使ってもよいのでしょうか? 例えばArrayIndexExceptionが起きたら、違う処理をさせるとかです。 たくさんやる処理なのでif文で分岐させるのと、 どっちが速いかとか気になります。
873 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:49:03 ] >>872 タブー try-catchは例外処理の為の仕組みだから条件分岐には使用しちゃダメ ちなみにパフォーマンスも悪い 例外ケースが最速になるような最適化をすると思うかい?
874 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 14:49:11 ] 基本的に例外は遅いし、 プログラムを読む時に基本的にまずエラー処理の文脈で理解されるものだから、 単なる条件分岐の代わりとして try-catch は使わないのが基本。 大抵は補助的に関数を使うこと等で解決できると思うが。
875 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:29:13 ] 初心者な質問ですみませんが、メインメソッドに対してString型以外 (例えばint)を引数として渡すにはどうすればよいでしょうか。 public static void main(int args)ではコンパイルエラーでした。
876 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:31:28 ] >>875 コンパイルエラーが起きるとも思えんが。
877 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:35:03 ] ありがとうございます。 アルェーEclipseからfatalなんちゃらって文句言われたんですが…。 しかし、構文としては問題ないみたいですね。 ケアレスミス含め、他の部分を見直すことにします。
878 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:39:06 ] public static void main(String[] args) はないとだめだからな。 Javaはここから以外で始まらない
879 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:42:14 ] >>875 普通、シェルがコマンドライン引数としてjavaプログラムに渡す引数は文字列しかない。 引数に数字が入っていてもそれは数字を表す文字であって数値とは解釈されない。 数値と解釈するか文字列と解釈するかは受け取る側のプログラムに任されている。 なので、public static void main(String[] args)で受けて、 引数をintとして解釈したいならInteger#parseIntなり他の手段なりで、 文字列をintに変換する必要がある。
880 名前:デフォルトの名無しさん [2007/06/25(月) 15:42:58 ] >>872-873 イベント駆動型の条件分岐はあるけどね
881 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 15:51:22 ] 難読化の手法の一つとしては条件分岐を例外処理に書き換えるってのがあるけれど、 実行効率とかを考えると使いどころが難しいし、書き換えは人間がやる仕事ではない。 「たくさんやる処理」に適用するならなおさら
882 名前:デフォルトの名無しさん [2007/06/25(月) 17:02:33 ] public static void main(String[] args){ try{ int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = Integer.parseInt(args[2]); こんなことするのは邪道ですか? }catch(Exception e){ System.err.println("usage hogehoge"); } }
883 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:06:44 ] >>882 どこが邪道だと思うのかを書かないと何とも言えない
884 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:19:04 ] >>882 args の長さを最初に1回チェックすればいいだけだろ? 何で例外使うのか。
885 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:30:26 ] Exceptionでcatchする時点でタコ
886 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:34:13 ] >>884 はあ?長さ?
887 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 17:50:56 ] ぷww length 【名-1】 長さ、全長{ぜんちょう}、丈
888 名前:デフォルトの名無しさん [2007/06/25(月) 18:04:51 ] ばかばっかだなw
889 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 18:10:35 ] >>882 問題なし
890 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 18:22:58 ] Integer.parseInt なら大した処理じゃないからいいように見えるが、 その処理がもの凄い時間がかかる場合は? とか考えると、先にコマンドライン引数の個数をチェックした方が一般的にはいい。 個数だけじゃ判定できないって場合は別だが。
891 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 18:38:10 ] 初めて来てみた。で、いきなり笑った もう来ません。ありがとうございましたw
892 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:03:54 ] アプレットについて質問です。 Color fontcolor=new Color(0,0,255); String v23=getParameter("fontcolor"); if( v23!=null ) fontcolor=new Color(Integer.parseInt(v23,16)); System.out.println(fontcolor); System.out.println(v23); >java.awt.Color[r=0,g=0,b=255] >null 色情報を取り出して(0,0,255) => (0000FF)と16進数に変換して もう一度 Colorオブジェクトを生成することを示すコードだとは思うのですが、 どう意図でもってこう記述されているのかわかりません >< 古いバージョンのVMだと意味があるとか、そういうことなのでしょうか? よろしくお願いします。
893 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:14:13 ] >>892 Color(0,0,255) はパラメータが無かったときのデフォルト色。 Color(0,0,255) は小さなオブジェクトだから先に生成してあとで捨てることになっても問題はないだろう。 下のように書いてもいい。 Color fontcolor; String v23=getParameter("fontcolor"); if( v23!=null ) fontcolor=new Color(Integer.parseInt(v23,16)); else fontcolor=new Color(0,0,255);
894 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:30:53 ] >>892 <param name="fontcolor" value="ff00ff"> というのがあれば、0xff00ff (255,0,255)の色になり、なければ 0,0,255のまま
895 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:40:45 ] ----------Test01.java----------- class Test01{ public static void main(String[] args){ Test02 t2 = new Test02(); System.out.println(t2.s); } } -------------------------------- ----------Test02.java----------- class Test02{ String s = "test"; } -------------------------------- 例えば上のような2つのファイルがあった時、Test01.javaはコンパイルする必要があるけど Test02.javaはコンパイルの必要が無いですよね。 コンパイルが必要が不要かってのは具体的にどう判断すればいいんでしょうか?
896 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:49:39 ] >>895 自分でコードを書くとき、ふつうは不必要なコードなんて書かない。 そうでないケースでも、必要か不必要か迷ってる時間があったらコンパ イルしてしまえばいい。 antとかEclipseとか使うようになれば、コンパイルの手間なんて気にな らなくなる。
897 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 19:58:05 ] Test02.javaもコンパイル必要
898 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:00:45 ] SWTのwin32をダウンロードしたら swt-awt-win32-xxxx.dll swt-gdip-win32-xxxx.dll swt-wgl-win32-xxxx.dll swt-win32-xxxx.dll といくつもdllが付いてきたんですが swt-win32-xxxx.dll は無いと動かないみたいですけど 他のは無くてもとりあえず動いています どういうときに使うのでしょうか?
899 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:04:02 ] >>887 例外処理を使ってるのはlengthの問題じゃないってことだよ
900 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:33:56 ] >>885 ParseException と ArrayIndexException の どちらも発生する可能性あるじゃないですか!! その上でどっちが発生しても同じメッセージ出すんだから まとめて Exception にした方が効率いいじゃないですか?
901 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:37:47 ] 誤爆?何の言語使ってるの? NumberFormatException ArrayIndexOutOfBoundsException
902 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 20:38:32 ] ワラタ まあ実際例外処理なんてそんなもんだろw
903 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:01:03 ] >>900 はそれでいいので、決してJavaが書けますとか言ってプロジェクトに来ないでくださいね
904 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:02:31 ] >>900 はネタで書いてんだろ
905 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 21:25:47 ] 7割くらい本気です
906 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:10:46 ] Exception サブクラス全部拾っちゃうだろ常識的に考えて・・・(=ω=.) RuntimeExceptionは拾っちゃダメだろ。
907 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:16:20 ] main で最終的に Exception 拾うのって本当にナシなのかな。 考慮されてない例外が投げられた場合って、 例外拾わないままエラー終了してくれた方がいいのか? 製品でも?
908 名前:875 mailto:sage [2007/06/25(月) 22:20:29 ] >>878 ,879 ありがとうございます。理解しました。
909 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:25:51 ] >>907 マジレスしとけば、Exceptionで拾って復帰することに意味があり、復帰させる事ができるならば、catchしてもいいと思う。 Webアプリでも創れば解るけど、フレームワーク周りでExceptionはcatchされて処理されるケースが多い。 mainで拾わずに起動プロセスに投げても、stackTraceは表示されるわけだが、それでもわざわざ拾う必要はあるかい?
910 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:28:16 ] >>909 ユーザを混乱させないために、 分かりやすい形でエラーが発生した旨を表示した方が いいんじゃないかな、とか思ったりするんだよね。
911 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:41:05 ] >>909 だったら各所で入力チェックと例外処理を記述しろよw mainで拾う例外なんてぬるぽとか、要はバグだろ? ユーザーに分かりやすい様に、ぬるぽで落ちました、サーセンwwwとでも表示するのかい。
912 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 22:48:11 ] そう。要はバグ。 まあ、Java なら拾わなくていいのかな・・・。
913 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 23:06:28 ] ていうかwibアプリのフレームワークという特殊な例をそこで出すか? それ自体まさに例外な気がする。
914 名前:730 [2007/06/26(火) 00:02:10 ] >>731 うまくいきました。 レスありがとうございました。
915 名前:デフォルトの名無しさん [2007/06/26(火) 00:07:05 ] お薦めは特に無いがJAVAが簡単でいんじゃね、汎用性からいってもCかJAVAかになると思う 汎用系の未経験求人なんてあるのだろうか、多分WEBオープン系がほとんどじゃね C言語は組込系の主流、組込系ってのは名前の通り、機械に組み込まれて変更がきかないタイプのプログラム 車の制御システムとか、プレステのゲームソフトとかに当たる 市場に出回ってからバグ見つかると直すのに超費用がかかるので、ゲーム会社とかはよく「仕様です」と言い張るw 言語としては普通だけどアドレス管理やメモリ管理がだるい、あと専門卒の若い子がやたらお出来になる JAVAはWEBオープン系の主流、オープン系ってのは、まぁお察しの通りインターネットみたく皆に開かれたプログラム yahooのような検索エンジンとか、amazonのようなお買い物サイトとかに当たる 運用開始後も楽々バグが直せるよヘヘイヘーイ 言語としてはかなり簡単、Cで手動な部分も自動で管理してくれる、でも誰にでもできる感じがCマニアには不評 取引先はどこだろうと似たようなものを作るので現時点ではほぼ意味なし、何でもいい ただし所属会社が固有の業界に特化していた場合、そこがキャリアの強みになり弱みにもなるので、転職時に響いてくる 例えば銀行・金融系などは只のIT屋は絶対に雇ってくれない、専門知識と十分な業界経験が最低条件になる ちなみに数学・英語は高2程度できれば十分(英語は語彙が多いにこした事はない) 証券のプロジェクトとかでデフォルト機能外の複雑な演算を組まされる事もあるが、基本的にはデフォルト機能で事足りる まぁネットOKのプロジェクトなら分からない事は逐次ネットで調べればよく、ネットNGなら回りの人に聞けばいいので
916 名前:デフォルトの名無しさん [2007/06/26(火) 01:07:00 ] JAVASDK1.6環境で、build.xmlを使ってAntしたんですが、 「シンボルを見つけられません。」を連呼してとまってしまいます。 [javac] C:\L1J\src\l1j\server\server\MobTable.java:81: シンボルを見つけられ ません。 [javac] シンボル: メソッド setHp(int) [javac] 場所 : l1j.server.server.templates.L1Npc の クラス [javac] l1npc.setHp(j); [javac] ^ Wikiも見たり、環境変数なんかも調べたんですがまだわかりません。 tomcatなど他にもいろいろ入れなくてはいけないんでしょうか… よろしくお願いいたします。
917 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 01:26:00 ] setHp(int)がprivateメソッドになってるんじゃないの?
918 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 02:19:16 ] もしそれならこんな風にならない? [javac] l1npc.setHp(j); [javac] ^
919 名前:916 [2007/06/26(火) 06:59:00 ] ちょっとずれていました… [javac] l1npc.setHp(j); [javac] ^ 「ドット」.を指し示している状態です
920 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 11:43:46 ] どう見ても l1npc にシンボル setHp が無いんだろう。
921 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 12:06:38 ] ◎渡してる j がint型ではない ○setHpじゃなくてsetHPとかSetHpとかになってる ▲setHpがprivateメソッドになってる
922 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:22:58 ] a1,a2,a3,a4,…a20 という変数があった時、 これらの変数をfor文で一気に配列に代入することって可能ですか? int[] ia = new int[20]; for(int i = 0; i < 20; i++) { ia[i] = この後が分かりません
923 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:39:00 ] >>922 不可能
924 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:42:02 ] >>923 そうでしたか、ありがとうございます。
925 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 13:59:37 ] listなら可能
926 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:28:05 ] >>922 どうしてもならリフレクションでできるけど、 まずはそういう変数を作ってる時点でダメだな。
927 名前:デフォルトの名無しさん [2007/06/26(火) 14:28:32 ] Servlet って何でこんなにややこしいんやろ。PHP みたいにお気軽にできんのかな。
928 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:45:28 ] そりゃLLと比べりゃjavaはややこしいだろうよ。 groovyとかruby使えば良いじゃん。
929 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:51:21 ] servletの何がややこしいんだ? 基本的な概念だけ覚えてあとはクラスをその都度調べればいいだけだ
930 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 14:56:46 ] いや、多分サーバを用意する必要があるのが面倒っていってるんだろう。 PHPを例に出すってことは。 PHPは、Apacheのモジュール有効にするだけでいいし、という話かと。 CGI経由で、起動するJavaのテンプレート系フレームワークがあってもいいかな、とは思う。
931 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 15:02:04 ] >>929 PHPに比べたらややこしいだろ。 ファイルアップロードとかで差が出る。
932 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 15:31:22 ] そう、ファイルアップロードは致命的だよな。デフォルトで Java にないのは。
933 名前:デフォルトの名無しさん [2007/06/26(火) 16:30:21 ] <%@ page language="java" pageEncoding="UTF-8" %> <%@ page import="java.io.*" %> <% response.setContentType( "application/octet-stream;charset=Windows-31J" ); response.setHeader( "Content-Disposition", "attachment; filename=\"sample.csv\""); String text = "sample!!!"; out.write( text ); %> 上のプログラム動かしたら冒頭に改行が3個入るんですけど、 入らないようにする方法ってないでしょうか?
934 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:31:00 ] System.out.printlnのoutがPrintStream型でバイナリのストリームってのが納得いきません 入力を受け取るInputStreamのinも同様に納得がいかないです 文字を入出力してるんだからテキストデータのストリームであるべきじゃないんですか?
935 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:42:00 ] >>933 %> と <% の間の改行を消すといいかも
936 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:42:37 ] >>934 標準入出力はリダイレクトでバイナリファイル扱う可能性があるので、 バイナリのストリームの方が良い。テキストからバイナリに 完全な復元ができない事も考えればバイナリであるべき。 System.in がテキストデータを扱う事の方が多いのに InputStream だとバイナリしか取れなくて、いちいち InputStreamReader でラップするのが面倒ってのは同意するけど。
937 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:44:16 ] >>934 gzip -dc foo.tar.gz | tar xf - みたいに、標準入出力はバイナリを受け渡すことも多いのです。
938 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:46:43 ] 文字を入出力しているという前提が間違っている、ということで。 >>934 の憤りはどこへぶつければいいのかwww
939 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 16:55:38 ] >>935 改行削ったら上手くいきました! レスありがとう!!
940 名前:934 mailto:sage [2007/06/26(火) 17:16:18 ] なるほど…バイナリもテキストもどっちも扱う可能性があるので 変換可能なバイナリストリームを採用してるんですね。 でも、System.out.println("Hello"); のようなありきたりの文は、 Helloという文字列のテキストデータをバイナリストリームで扱ってることになりませんか? InputStreamReaderの場合と同じようにPrintWriterでラップするなら分かるんですが。
941 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:36:27 ] 端末から見たらテキストなんてエンコーディングに従ったバイト列だろ。 out.print形式はjavaがデフォルトのエンコーディングを使って変換してるだけ。 たしかjavadocに書いてあるぞ。 ところでjavaって標準出力がDOS-BOXなどの端末だった場合、 System.outへ一度出力した文字は消せないの? テキストがスクロールアウトして新しいテキストが流れてくるんじゃなくて ローグライクみたいにスクロールさせずに画面更新したりクリアしたりってどうするの?
942 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:37:03 ] >>940 そのままバイナリストリームで扱ってて、最終的にシェルがそれをテキストに変換にしてるんじゃね?
943 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:40:22 ] >>941 端末操作はモロ環境依存
944 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:42:12 ] >>941 > System.outへ一度出力した文字は消せないの? 改行前なら \r で行頭に戻れるかもしんない。 端末と System.out の実装の両方に依存するけど。 > ローグライクみたいにスクロールさせずに画面更新したりクリアしたり jcurses みたいな外部ライブラリ使ってくれ。
945 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:45:57 ] というかテキストストリームとバイトストリームの区別って改行コードの扱いだけだったと思ってたんだが違うの?
946 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 17:46:41 ] >>942 その理論だと標準入力をInputStreamReaderでラッピングする必要も無い気がする
947 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:14:42 ] int型のメソッドでreturnでxという変数を返すとき、mainの条件で「xが帰ってこない場合」というifは作れるのでしょうか?
948 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:15:18 ] 変数 x は返せない
949 名前:デフォルトの名無しさん [2007/06/26(火) 18:25:01 ] jdbcでpostgreSQLにつなごうとしているのですが、 以下の設定でなぜかNo Suitable Driverと言われてしまいます。 どこがおかしいのでしょうか? CLASSPATHにはjarファイルの絶対パスを記述しています。 jdbcドライバは、postgresql-8.2-505.jdbc3.jar postgreSQLは8.2を使っています。 String url = "localhost:5432"; // args[0]; String usr = "test"; // args[1]; String pwd = "test"; // args[2]; // JDBCをここでロード Class.forName("org.postgresql.Driver"); // 接続 System.out.println("Connecting to Database URL = " + url); Connection db = DriverManager.getConnection(url, usr,pwd);
950 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:25:56 ] エルレガーデンのHPでメニューバーがグラデーションになっていてスクロールすると バックが透けているのですが、javaで出来るんでしょうか? 気になって調べてみたんですが、分からなかったので。。どなたか教えてください。 エルレHP www.ellegarden.jp/ja/index.asp
951 名前:デフォルトの名無しさん [2007/06/26(火) 18:29:58 ] 誰か>>850 を、、
952 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:34:18 ] >>951 いくら出す?
953 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:35:43 ] 何をきっかけとして>>817 の処理を行うつもりなの? IEのスクリプト?
954 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:42:06 ] >>947 そのメソッドで例外を投げれば、値を返さずにメソッドを終了すること ができる。mainではtry-catchすればいい。 そんなことはしないで、Integerなどクラスを使って、値を返したくない ときはnullを返すのが良いと思う。
955 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 18:47:21 ] >>950 Javaだとかなり難しい。ウェブ制作板へどうぞ。
956 名前:941 mailto:sage [2007/06/26(火) 18:48:56 ] thx! やっぱ依存か。 Consoleクラスが追加されたけど現状だとエコー文字列のマスクしかできないからなぁ。
957 名前:デフォルトの名無しさん [2007/06/26(火) 19:26:11 ] 任意のURLからHTMLの特定部分、例えばTABLEだけを吸い出したい 時に、純粋にJAVAだけを使うのと他のスクリプト言語を併用するのでは どちらが効率や再利用性の面で優れてますか。 またできたら、上記の場合のお勧めのスクリプト言語を教えてください。
958 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 19:28:46 ] GroovyやRhinoからjavaのライブラリ使う。 HTMLParserとか。
959 名前:デフォルトの名無しさん [2007/06/26(火) 19:29:24 ] >>950 >>955 java script を使うほうが一般的ですがjavaアプレットでも簡単にできます
960 名前:デフォルトの名無しさん [2007/06/26(火) 19:36:45 ] Rhinoってサーバサイドで動くんですか?
961 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 19:46:29 ] javaしか使えないくせに 俺一流プログラマー みたいな顔してる上司がうぜぇ Cマスターの俺に指図すんじゃねーよ屑 こんな糞言語使えるだけで満足か 早く市んでくれ
962 名前:デフォルトの名無しさん [2007/06/26(火) 20:10:55 ] cは開発の能率悪いでしょ
963 名前:デフォルトの名無しさん [2007/06/26(火) 21:02:02 ] >>957 TidyLibというものがあります。 ほとんどの言語に対するバインディングがあるので、 一度調べてみてください。 商用製品でも採用例が多く、一番実績があると思います。
964 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:04:05 ] >>949 >String url = "localhost:5432"; // args[0]; ↓ String url = "jdbc:postgresql:dbnamehogehoge"; しかしそのエラーメッセージも不親切だよなw
965 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:18:58 ] Socketって後始末に明示的にclose()呼び出さなくてもいいですか? SocketインスタンスがGCに回収されるときに自動的にコネクション切断 などの面倒は見てくれるんでしょうか?
966 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:40:54 ] 明示的に呼び出せるタイミングがあるなら、そのタイミングでcloseを呼び出せ
967 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:54:50 ] >>965 面倒見てくれるかどうかは実装依存だろう。 SocketもSocketImplもfinalizeはオーバーライドされていないから、 GCのタイミングでの処理は何もしないかもね。 まあ適当な時に適当に切断はされるだろうけど、エレガントに処理されるかどうかは分からん。
968 名前:デフォルトの名無しさん mailto:sage [2007/06/26(火) 23:57:54 ] 基本的にネイティブなリソースを触った場合GCに任せないで自分で解放する。 ファイナライザ使うのも間違い。
969 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:03:17 ] >>966-968 レスありがとうございました! なるほど、close()は明示的に呼び出さないとダメなんですね。 勉強になりました。
970 名前:デフォルトの名無しさん [2007/06/27(水) 00:04:19 ] GC時に処理させたいならファイナライザを使うのは間違いじゃないと思うがね 最後までその機会が来ないことがあることは想定しておかないといけないが
971 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:06:53 ] >>970 この質問の場合はfinalizeに処理させるのは間違いだろ。 一般論で質問者を惑わせるな。
972 名前:デフォルトの名無しさん [2007/06/27(水) 00:31:11 ] 便乗ですが Socket s = new Socket(hogehoge); BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream(), "UTF-8")); 見たいな処理したあとの解放って s.close(); だけでいい? br.close(); も必要? あるいは InputStreamReader の close() とかもしとかないとだめ?
973 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:32:02 ] >>970 この場合はGCに任せて良いかどうか判断するのが難しいだろう。 javaのファイナライザがどういうためのものかちゃんと理解してないならなおさら。
974 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:47:58 ] >>957 JavaにXMLパーザってついてなかったっけ?
975 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:51:00 ] HTMLはSGMLアプリケーションなんだが。 XMLパーサにHTML食わせても整形式エラー吐くと思うぞ。
976 名前:デフォルトの名無しさん [2007/06/27(水) 00:56:20 ] >>974 ドキュメント検索したらHTMLパーサも付いてましたね HTML->JAVA JAVA->HTML HTML->HTML でXMLも噛ませられれば操作上は十分になってきますね XMLパーサとサーブレット&JSPを使うとXSLは必要なくなるんでしょうかね? ご回答いただいた方々、まことに有難うございました いただいた回答の中のRhinoは有用性が高そうなので 検討してみます。
977 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:57:40 ] >>972 (1) 使ってるラッパークラスのコンストラクタが例外を発生しないこと (2) ラッパークラスの close がラップしてるクラスの close を呼び出すこと を確認して、最も外側のクラスの close を対処すればいい。
978 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 00:57:53 ] javax.swing.text.html.parser
979 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:03:51 ] >>972 s.close() すれば s.getInputStream() で得られたストリームも自動的に close() される。 sclose() してない時に br.close() した場合、成功すれば、 s も勝手に close() される。
980 名前:デフォルトの名無しさん [2007/06/27(水) 01:06:08 ] >>979 IDEによってはエラーを吐きますね。 明示的にクローズした方がいいと思います。
981 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:06:11 ] >>978 あれパーサでパースして結果をレンダラに渡す程度の使い道しか想定してないからなぁ。 パース結果を自分でハンドリングするなら他のライブラリの方が良い。 まあ、それ以前にHotJavaのパーサは3.2finalの独自拡張なんで現行とは少し違うが。
982 名前:デフォルトの名無しさん [2007/06/27(水) 01:09:33 ] パーサの存在を知らなくて自作してしまったorz
983 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:12:37 ] SGMLのパーサを実装できるほど程の知識と腕があるなら自前が良いけどなw 正規表現なんかで実装しちゃだめだぜ。
984 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:16:45 ] javaでbigintの変数を宣言するときにはどのようにすればよいのでしょうか? bigint a; のような感じにしても認識してくれません
985 名前:デフォルトの名無しさん [2007/06/27(水) 01:20:31 ] java.math.BigInteger
986 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 01:22:04 ] 前にもあったぞこのネタ
987 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:25:03 ] このスレはネタとバグでできています
988 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:30:27 ] long型でないと数値がオーバーするので、long型の配列を作りたいのですが、 long p[]=new long[(int) (n+1)];だと結局エラーが出てしまいます。どうすればよいでしょうか?
989 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:36:05 ] >>988 何がどうエラーが出るんだ? 明確なエラーが出るのにその状況とエラーメッセージを書かないのは問題を解決したくないからか?
990 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:41:38 ] エラトステネスのふるいのメソッドをlong型に変更して扱える最大数を増やしたいのですが、上手く行かないのです。 public static int Primes(int n){ int i,k; int x[]={0}; int p[]=new int[n+1]; for(i=2; i<=n; i++) p[i]=1;{ for(i=2; i<=n; i++){ if(p[i]==1){ x[0]=i; for(k=2; i*k<=n; k++) p[i*k]=0; } } } return x[0]; }
991 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:51:07 ] >>990 エラーも書けよ
992 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:53:12 ] エラーは Exception in thread "main" です
993 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:57:48 ] 小出しにするなよ、もっといろいろ出てるだろ
994 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 02:58:16 ] >>990 配列サイズはintなのでlongは無理。 配列以外のコレクションを使うか、配列を複数用意して使う。 でも単純に考えてもint限界のInteger.MAX_VALUE*8バイトでもギガバイトをはるかに超えてることは認識してる? そのプログラムのような単純なエラトステネスのふるいはかなり効率が悪いと思うし。
995 名前:デフォルトの名無しさん [2007/06/27(水) 03:03:04 ] whileに直せばいいじゃん
996 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:17:50 ] > for(i=2; i<=n; i++) p[i]=1;{ ここじゃね? シンタックスエラー出てない?
997 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:19:52 ] じゃあ1000取り合戦でもしますか
998 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:20:00 ] >>996 文法的には問題ないはずだが、アルゴリズム的には知らん
999 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:20:33 ] 殺伐としてきたZE!!!!
1000 名前:デフォルトの名無しさん mailto:sage [2007/06/27(水) 03:21:15 ] いやっほーーーーーーーーーーーぅ!!!
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。