1 名前:デフォルトの名無しさん [2008/03/01(土) 18:16:51 ] プログラミング言語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質問・相談スレッド112【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1202467704/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝のう存じます。 次スレは>>980 あたりで。
697 名前:693 mailto:sage [2008/03/24(月) 10:32:54 ] >>696 そのプログラムは書いたのですが、 単に端末からバックグラウンドでプログラムを起動しただけでは、 開始した端末セッションからプロセスを切り離せません。 ではどうすればプロセスを切り離して起動できるのでしょうか?
698 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 10:44:13 ] nohup じゃだめなの?
699 名前:693 mailto:sage [2008/03/24(月) 11:04:20 ] >>698 勉強不足でnohupを知りませんでした。 それでやります!ありがとうございました!
700 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 11:38:55 ] そもそもクライアント毎にサーバープロセスを起動するのがナンセンスかと
701 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 11:59:15 ] でもタスクをキューにためてそれを逐次処理するのは遅いのでは?
702 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 12:02:46 ] いやきっとクライアント毎に起動するのはスレッドでしょ。 inetdみたいなデーモンをコンソールから起動すると、端末から切り離せない、 って悩んでただけで。 最終的には、inetd自身のように、/etc/init.d/に起動スクリプト置いてほげほげ、 ってするのが正しい姿なんだろうけど。
703 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 12:07:14 ] そうですよね。 でもサーバが落ちた時に自動起動しないのが難点なくらいで、 他に困るようなことが思いつかなかったので、nohupでもいいかなって思いました。
704 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 12:55:12 ] >>701 マルチスレッドで処理しろよw
705 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 17:09:28 ] ArrayList<Integer>って型に入ってるデータをソートしたいんだけど どういうやり方が良いんでしょう? 今はArrays.sort()にtoArrayでObject[]にしたものと Comparatorを実装したクラスのオブジェクトを渡しています ほかに良い方法があれば教えてください
706 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 17:12:19 ] Collections.sort()
707 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 17:12:29 ] つCollections.sort
708 名前:705 mailto:sage [2008/03/24(月) 17:17:03 ] >>706-707 あ、やっぱりそれ用のがあったのですね ありがとうございました
709 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 20:47:39 ] >>697 $ ./hogehoge > stdout.log 2>stderr.log < /dev/null & とかやればシェルから切り離せるけど、そういうことを言ってるわけ? バックグランドプロセスがあるとシェルが閉じれないのは シェルが用意した stdin, stdout, stderr を持っているからで、 それを別に用意すればOKなんだけど。
710 名前:デフォルトの名無しさん [2008/03/24(月) 22:37:59 ] とても初歩的な質問でお恥ずかしいのですが、 自分の出した答えに自信がないため、質問させていただきます。 int型の変数を2byteの配列に格納(その後取り出し)したいのですが、 ビット演算の理解がつたないため、下記のようなやり方しか思いつきませんでした。 正しいやり方をご存知の方がおりましたら、 教えていただきたく、よろしくお願いいたします。 byte[] data = new data[2]; int num = 128; //格納 data[0] = (byte)(num >> 7); data[1] = (byte)((num << 25) >> 25); //取り出し num = data[0] << 7; num += data[1];
711 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:42:30 ] data[0] = (byte)((num >> 8) & 0xFF); data[1] = (byte)((num >> 0) & 0xFF); num = ((data[0] & 0xFF) << 8) | ((data[1] & 0xFF) << 0);
712 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:44:18 ] >>710 JDKについてくるjava.awt.Colorあたりのソースで、intと alpha, red, green, blueの各1バイトの換算をしているのが参考になると思う。 intは4バイトだから、厳密に言えばサイズ2のバイト配列には入りきらない。 シフト量は24, 16, 8, 0な。
713 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:49:26 ] >>711 >>712 返信いただき、ありがとうございます。 教えていただいたコードと参考資料を元に、 ビット演算の知識を深めたいと思います。 自分ではどうしてもわからなかったため、 とても助かりました。 本当にありがとうございました。
714 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:51:26 ] Javaでbyteがsignedってのはつくづく罠と思う。
715 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 22:53:37 ] だよなー おかげでバイナリの扱いがとてもしにくい・・・
716 名前:デフォルトの名無しさん mailto:sage [2008/03/24(月) 23:32:34 ] intが17bit以上の場合が考慮されていないけどいいのか?
717 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 00:57:08 ] javaはバイナリの操作向いてないよ
718 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 01:30:50 ] またおまえか
719 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 08:02:38 ] 覚えておいたほうがよい 静的メソッドや変数などのリストの一覧的なものってどこにありますでしょうか
720 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 08:15:00 ] MathクラスとかSystemクラスとか他によく使用されるものの一覧を探しています
721 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 08:17:15 ] そんなものはない。静的メソッドは必要に応じて都度クラスに付いてるから 静的メソッドだけ一覧的に覚えること自体に意味がない。
722 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 08:19:51 ] APIじゃだめなの?
723 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 09:15:54 ] >>719 >>3 java.lang, java.util. java.io パッケージ群のそれぞれのクラス、仕組みは 押さえてしかるべき、と主張する人も居るね(逃
724 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 09:43:16 ] 公開鍵証明書を作るクラスって標準でないの? keytool 使うしかない?
725 名前:719 mailto:sage [2008/03/25(火) 11:14:34 ] 静的って書いたのがまずかったのでしょうか Math.なんちゃら〜 とか system.なんちゃら〜 みたいなもので 頻繁に使われるような物のリストを探しているのですが まとめてあるサイトは見つかったのですがあまり使わないようなものが大量にあったり どれがよくつかわれるものなのかわからないので これは覚えておいたほうが良いというものを集めてリストになっているサイトなどありましたら教えてください
726 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 11:16:31 ] 何が必要かなんて、分野によって違ってくるのが当たり前。 とりあえず、ArraysとかCollectionsをあげておくけど、 自分で見つけるのが一番いいと思うよ。
727 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:16:29 ] Mathのメソッドもそんなに頻繁に使うとは思えない
728 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:33:40 ] >>723 みたいに、java.lang, java.util. java.io以下のクラスは押さえて、 あとはJavadocでその都度確認、ってのでいいんじゃね。
729 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:35:03 ] >>724 証明書を発行するAPIというのは標準にはなかったと思う。
730 名前:719 mailto:sage [2008/03/25(火) 12:57:38 ] java.lang, java.util. java.io以下のクラスですな さっそく調べて覚えるよう様にするす dクス!
731 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 12:59:22 ] 719が聞いてたのはstaticメソッドのことじゃないの?
732 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 15:40:34 ] Sound APIについて質問です。 DataLine.Info info = new DataLine.Info(TargetDataLine.class, format); TargetDataLine target = (TargetDataLine)AudioSystem.getLine(info); これで取得したターゲットラインを録音すると、コンピュータ上の音(スピーカーから通常出る音)が録音されました。 これをマイクからの入力に変えるにはどうすればよいのでしょうか? Port.Info.MICROPHONEを情報としてPortを取得して・・・とするのでしょうけれでもその先が分かりません。
733 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 16:20:26 ] >>732 AudioSystem#getMixerInfo、AudioSystem#getMixer、Mixer#getTargetLineInfoあたりで 全部のターゲットラインをリストアップして、一覧から選ばせるってのはどうだろう・・・
734 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 17:55:04 ] javaのコンパイラのパスを要求されたらどこを指定すればいいのでしょうか j2sdkを普通にインストールしました
735 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 17:56:49 ] OSは?
736 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 17:57:07 ] C:\Program Files\Java\jdk1.6.0_05\bin
737 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 17:57:13 ] 窓xp sp3です
738 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:01:46 ] >>736 そこらへんで見つかりました ありがとうございます ずっとjreの方を見てました
739 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:10:39 ] JDKを入れるのが初めてなら落とすときにインストール手順を読まないのだろうか
740 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 18:15:00 ] 世の中にはマニュアル類を読まない人間が結構いるらしいよ
741 名前:>>733 mailto:sage [2008/03/25(火) 18:51:09 ] >>732 それしかないみたいですね。 そうします。ありがとうございました!!
742 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:03:55 ] PATHって、違う言語をコンパイルするときには毎回変えないといけないの? 今Cの設定なんだが。
743 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:08:09 ] どんどん追加していけばいいだけ
744 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 22:14:55 ] 基本的に同じ PC 上で同じ言語 (コンパイラ) の違うバージョンを使い分ける場合だけ気をつければ良い。
745 名前:デフォルトの名無しさん mailto:sage [2008/03/25(火) 23:17:31 ] 追加できるのか。ども。
746 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2008/03/26(水) 10:56:16 ] javac の -g:<キーワード> で sources,lines,vars のデバッグオプションが 指定できますが、デバッグ情報が載らない(載せない)と言う点以外の影響 (性能劣化等)はあるのでしょうか。class ファイルが大きくなるだけでしょうか。
747 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:03:56 ] サブクラスのインスタンスから「スーパクラスのメソッド」呼び出した時、 スーパクラスのメソッド内で、「サブクラスでオーバライドしたメソッド」を使ってた場合に 動的バインドでオーバライドした方のメソッドが呼び出されるのって 単純に気をつけるしかないんでしょか?
748 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:09:07 ] >>747 当然の話。むしろ呼んでくれないと困る。 それを「気をつける」と認識する方が問題。
749 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:11:17 ] ありがとう。認識あらためます。
750 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 12:14:40 ] >>747 オーバーライド(上書き)とはそういうもの。 公開したいけど、上書きされるのが困るのならば、final を付けてしまいましょう。 公開する必要が無いならば、private にしましょう。 そもそも継承されることを望んでいないなら、class を final にしてしまいましょう。
751 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 13:04:04 ] 言い方を変えれば、上書きしたメソッドを呼んで欲しいからサブクラスで上書きするわけで、読んで欲しくないならばオーバーライドする必要がない ただ、「意図せずにスーパークラスのメソッドをオーバーライドしてしまった」とか「意図せずにサブクラスで定義されているメソッドと同名のメソッドをスーパークラスに定義してしまった」というケースはある。 解決策はfinalもあるが、@Override無のオーバーライドはコンパイルエラーとする、という方が柔軟ではある。
752 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 15:12:47 ] C# と比較するとわかりやすいかも。
753 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 15:37:35 ] C#しらねって奴多いんじゃない?
754 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 15:46:55 ] C#いらねって奴多いんじゃない?
755 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 17:26:04 ] 最近になってJavaが無謀な拡張されまくってるのはC#のせいだからな
756 名前:デフォルトの名無しさん [2008/03/26(水) 21:12:25 ] String str1 = "文字列"; と String str = new String("文字列"); って何が違うのでしょうか?
757 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 21:21:35 ] 後者は無駄の極み
758 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 21:27:04 ] 上はどこかにある "文字列" という文字列の参照を str1 に代入されるだけ。 下は "文字列" という内容の新しい文字列オブジェクトが毎回作られてから、その参照が str1 に代入される。
759 名前:デフォルトの名無しさん [2008/03/26(水) 21:39:02 ] すみません、str1じゃなくてstrでした。 では、前者と後者で目に見える違いが出ることはあるのですか? まら、両者を使い分けたりする必要はあるのでしょうか?
760 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 21:44:10 ] public class Test { public static final void main(String[] args) { String s = "Hello, world"; System.out.println(s == "Hello, world"); System.out.println(s == new String("Hello, world")); } } -------- true false --------
761 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 21:47:42 ] 上は str1 == str が true、下は str2 == str が false 従ってインスタンスが同じかどうかの違いがそのまま適用される。 たとえば synchronized(str1) と synchronized(str)
762 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 22:20:03 ] 誰か文字列の実体はプールで共有されてるって言ってやれよ。
763 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 22:34:46 ] 理由言わないとね・・・
764 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 22:36:15 ] プールと言いたいだけの奴とは違うのだよ。
765 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:16:55 ] >>762 intern()しないと共有されないぞ。文字列リテラルは暗黙で共有されるが。
766 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:20:24 ] >>756 に対する答えは、 String str = new String("文字列"); は絶対に使うな、でいいじゃないか。 理由はこの際どうでもいい。
767 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:27:48 ] 理由がどうでもいいとか思うやつって技術者としてどうなんだ。
768 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:29:40 ] 理由を押し付けて初心者を混乱させるのって人間としてどうなんだ。
769 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:31:49 ] 動けば良い系の人じゃね。 安易に絶対とか使うのも技術屋じゃねーし。
770 名前:デフォルトの名無しさん mailto:sage [2008/03/26(水) 23:31:50 ] 俺も*とりあえずは*使うな、って方針には賛成 必要になってから知ればいいんじゃないかな
771 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 00:00:19 ] 小学生に教える時に中学高校で扱う内容にまでふれて 説明した方が良い/悪い論争
772 名前:sage [2008/03/27(木) 00:10:51 ] 1 if (XXX == XXX) ってのはそのオブジェクトの参照が同じかチェックしている? 2 String str = new String("XXX") は新しくメモリに確保(インスタンスを作成)すること? 3 String str = "XXX" の扱いはVMが管理している?
773 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 00:19:45 ] ブッ 理解までにそんな大きなステップが必要なほどのネタなのかよw すぐには不要でも、キーワードだけでも与えておけば必要になった時の理解度が違う。 将来の期待もなく「理由不問、絶対やるな集」だけで育てられたお前に合わせる必要はねぇべ。
774 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 00:21:07 ] >>772 まあ、全てYESと言っても良いかと。 ただ、貴方と私で、其の文を見て、違う状況を想定してる可能性は否めないが。 15.21.3 参照型等価演算子 == 及び != ttp://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#236163 3.10.5 文字列リテラル ttp://www.y-adagio.com/public/standards/tr_javalang2/lexical.doc.html#101083
775 名前:デフォルトの名無しさん [2008/03/27(木) 00:24:58 ] SJC-P310-035の試験を今度受けるんですが、黒本の仕上げ問題で61問中51問正解 だったんですが、こんなレベルでももう合格できますか?
776 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 00:47:48 ] とりあえず忘れろに賛同かな バイト配列から文字列を生成したいような場合にnewは使うが、new String(String str) を使うケースはほとんどない、と教えてる。 どっちかといえば、equalsで比較しろのが重要な話しだし。 >>775 スレ違い
777 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 01:03:18 ] >equalsで比較しろ これの方が遙かに重要だな
778 名前:デフォルトの名無しさん [2008/03/27(木) 03:52:21 ] Javaのライブラリに変数の詳しい情報をダンプしてくれるような奴ってありませんか? PHPでいうvar_dump的なものを使いたいんですが
779 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:30:48 ] >>778 用途がわからんのだが、開発中ならたいていのIDEのデバッガについてる 変数watch系機能で間に合いそうな。 それとも運用中に必要な機能?
780 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:33:27 ] commons langのToStringBuilderとか大がかり杉?
781 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 08:43:02 ] ねぇよ下駄言語と一緒にするなと言えば済む話では。
782 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 11:45:34 ] JITコンパイルされた後のアセンブリコードを見るには、どうすれば良いですか?
783 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 11:46:42 ] 心眼
784 名前:デフォルトの名無しさん [2008/03/27(木) 12:17:19 ] >>779 普通のテキストエディタでやってる人間なもんで… >>780 ToStringBuilderちょっと見てみます
785 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 12:41:38 ] Soundbankに新たなInstrumentをロードしたい場合どのようにすればよいでしょうか? デフォルトのシンセサイザーをMidiSystemで取得してloadInstrumentでロードしたいのですが、同じInstrumentでもHeadspaceInstrumentじゃないと読み込めないらしいのです。 他にもいろいろ実装しなおさなければいけないのでしょうか?
786 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 12:56:38 ] >>785 www.jsresources.org/faq_midi.html#create_soundbank
787 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 13:34:49 ] うわーSynthesizer実装しないといけないんですね。 分かりました。諦めます。
788 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 15:15:38 ] オーバーロードに関して質問なのですが class unko { public void hoge(List<List<A>>) { } public void hoge(List<A>) { } } これって何で出来ないんですか? 微妙に型というか違うと思うのですが
789 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 15:19:23 ] Javaのジェネリクスは、コンパイル後に消えるから、どちらも同じ型とみなされる。 だからNG
790 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 15:30:01 ] >>789 なるほど・・・
791 名前:デフォルトの名無しさん [2008/03/27(木) 16:53:01 ] List< List<A> >ならOK
792 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 16:57:04 ] >>791 C++と勘違いしてないか?
793 名前:デフォルトの名無しさん [2008/03/27(木) 17:00:59 ] >>792 うん。
794 名前:デフォルトの名無しさん mailto:sage [2008/03/27(木) 17:13:52 ] なんだ釣りか。
795 名前:772 mailto:sage [2008/03/27(木) 22:42:03 ] >>774 文字列連結でもOKなのは、まったく分かっていませんでした。 さらに、実行時に解決?計算される文字列は、異なるもなのですね。 そもそもinternなんてメソッドがあるなんて知りませんでした。 全く分かっていなかったけど、そのサイトかなり勉強になりました。 理解できればの話ですが。
796 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 01:03:18 ] フィールド名の先頭を_(アンダーバー)にしているコードを見かけるのですが、 どのような意味でそのようにしているのですか?
797 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 01:18:31 ] フィールドとそうでないものとを区別するため
798 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 01:22:10 ] アンダースコアが正しい読み方
799 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 07:58:59 ] >>798 通じるし、そこは許容範囲だろ。 「Unicode的にはローラインだ」とか、不毛だろ?
800 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 08:27:03 ] _1つで始まる識別子って、グローバルな空間では全部予約済みなんだよな。 構造体フィールドならいいけど。
801 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 08:28:05 ] む、そりはC/C++だ。
802 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 08:44:57 ] Cでコンパイルするとリンカ上の名前が_付になる。のような気がした。
803 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 09:06:25 ] 800は791か。
804 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 11:35:10 ] 変数a b c があるとしてこの中で中央値を求めるにはどういう方法がありますか? 変数は何が入るかわからないという場合です。 if文の練習問題なのですが、答えがのってなくて
805 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 11:41:43 ] int[] array = new int[]{a, b, c}; Arrays.sort(array); System.out.println(array[1]);
806 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 11:43:00 ] >>805 if文使えw
807 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 11:47:12 ] 説明が悪かったです、すみません 例えば a=1 b=2 c=3 なら bが出力 a=2 b=1 c=3 なら aが出力 みたいに何の数値を入れても真ん中の数値が出力するということです。
808 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 11:48:59 ] いや>>805 で合ってるよw if(a<b){ if(b<c)答=b; else 答=max(a,c); } else{ if(c<b)答= b; else 答=min(a,c); }
809 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 11:56:18 ] 全然わからないんですが、maxとminはどうすればいいですか?
810 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:00:54 ] maxは渡された引数の大きいほうを、 minは小さいほうを返すだけ。 これくらいは自力で書けないと、将来つらいよ?
811 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:08:52 ] >806 数が増えた時に汎用的に使えるのはソートじゃね? >809 日常生活にも支障ありそうだなw
812 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:15:12 ] ありがとうございます、しかし多分maxとminはまだ参考書に出てきてないので使わない方法なんだと思います。 あとは自力で考えます、ありがとうございました。
813 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:21:46 ] >>811 if文つかってやれよw
814 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:21:53 ] すみません、勘違いしてたようです。 maxとminは別に何でもいいんですね、引数ってのを使えば楽ってことはわかりました。
815 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:25:04 ] っ Math.min、Math.max
816 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:30:10 ] あ、Math.min Math.max調べたらやっぱりminとmaxじゃないとだめみたいでした。
817 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 12:35:51 ] min(l,r)は if(l<r)答=l; else 答=r; max(l,r)は if(l>r)答=l;else 答=r;
818 名前:デフォルトの名無しさん [2008/03/28(金) 15:51:54 ] >>803 ちげーよ馬鹿。 俺は決してsageたりしない。
819 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 16:04:25 ] 一つ助けてくれ。 JOGLのデモにあるcgGL_vertex_exampleとruntime_ogl_vertex_fragmentがjogl_cg.dllが見つからないって UnsatisfiedLinkErrorが出るんだけど利用してるjreにjogl_cg.dllは置いてあるんだけど -Djava.library.path指定しても解決できない、どうすれば良いか分かる人居る? JOGLのパッケージ以外に何か必要だったりする?
820 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 16:07:32 ] system32に放り込め。
821 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 18:09:32 ] >>819 cgのランタイムが必要とかかな・・・? そのjogl_cg.dllのインポートテーブルを見てみると何かわかるかも
822 名前:デフォルトの名無しさん [2008/03/28(金) 21:03:25 ] 最近Javaを勉強し始めた者です。 当方JavaScriptを今までやっており、ちょっとサブルーチンを使う程度で あとはとにかくつらつらと書き連ねていくようなプログラムの書き方に慣れてしまいました。 まだJava関係の書籍は買っておらず、様々な入門サイトを見て勉強しているのですが、 いちいちメソッドを呼び出し合ったりメソッド毎に細かく処理を分けたりする、 オブジェクト指向の具体的な使い方やメリット等がいまいち理解できません。 自分で適当にメソッドやクラスを分けたりしてオブジェクト指向をしてる気にはなってみても、 「こんなんで良いのだろうか?」と言う感じがしてしまい、 色んな処理を同じメソッドに詰め込んでしまいがちです。 なので、文法の解説ではなくオブジェクト指向の解説をメインにした 参考書があれば買おうと思うのですが、どの書籍が良いのでしょうか? 回答よろしくお願いします。
823 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 21:21:23 ] >>822 デザパタ
824 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 22:11:01 ] >>822 結城浩という名前を覚えておくと、困った時に助かるかも
825 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 22:27:08 ] まあ、片っ端から10冊ぐらい読め。将来を考えたらたいした投資じゃない。
826 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 23:02:24 ] >>825 必要ない人には必要ないだろ 勝手に将来を妄想するな >>824 にあるけど、結城さんの本は取り組みやすいから、 デザインパターンの入門にしろ、Javaの入門にしろ、1冊目としておすすめ
827 名前:デフォルトの名無しさん [2008/03/28(金) 23:04:19 ] 総称クラスのインスタンスを作成することは出来るでしょうか? public class TempT <T>{ public T makeT(){ return new T(); } } ということをやりたかったのですがコンパイルが通らないようです。 総称クラスの名前だけでもわかれば、 ttp://blog.xole.net/article.php?id=197 で何とかなると思うのですが……。
828 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 23:09:29 ] >>826 勧められた本だけ読んで結城先生信者ですかwさすがゆとりですな
829 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 23:16:03 ] >>827 できないんだったかな public T makeT(Factory<T> factory) { return factory.create(); } みたいにするのが正攻法なんじゃないの 使うときはTに指定する型ごとにFactory<T>をいちいち実装しないといけないけど
830 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 23:17:25 ] >>827 ジェネリクスはコンパイル処理。 コンパイル後は、普通のキャストと変数の型に展開されて、情報は残りません。 何がやりたいのか…何かが出来そうで試してるだけなのかな 汎用的に便利なクラスなんてものは、まず作れないと思ったほうが良い。 それをするなら、今の仕組みが便利に判りやすくなるクラスを作りましょう。
831 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 23:22:26 ] C#だと「引数無しのコンストラクタを持つ」制約が付けられるからあっさり実現できるんだけどね
832 名前:デフォルトの名無しさん mailto:sage [2008/03/28(金) 23:39:55 ] >>822 >いちいちメソッドを呼び出し合ったりメソッド毎に細かく処理を分けたりする、 >オブジェクト指向の具体的な使い方やメリット等がいまいち理解できません。 オブジェクト指向とか、デザパタとかいう話じゃないだろ。 マーチンファウラーのリファクタリングが指針になるかも。
833 名前:827 mailto:sage [2008/03/29(土) 00:36:28 ] >>828-830 早速のお返事、有難うございます。 >何かが出来そうで試してるだけなのかな 正直、半分はそんなところです。 getDeclaredFieldsあたりのリフレクションとcommons.beanutils、commons.dbutilsを組み合わせて、ごく簡単なO/Rマッパが作れないかなと思ったんですがね。 ……やっぱ素直にHibernateとかS2Daoを使っておいたほうがいいのか。 ・・・でも大げさすぎるんだよなぁw
834 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 09:58:12 ] newInstance使ってキャストって手もあるが
835 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 10:56:37 ] いまは T Class<T>#newInstance() だからキャスト不要。 例外は捕捉する必要あるけど。
836 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 12:53:04 ] どっちみちTからは直接取れないけどな
837 名前:827 mailto:sage [2008/03/29(土) 15:26:04 ] >>835 みたいですね。T.newInstance()って書き方もNGみたいです。 残念ですが諦めましょう。
838 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 15:39:36 ] こんなのどう? public class TempT<T>{ private Class<T> clazz; public TempT(T t) { clazz = (Class<T>) t.getClass(); } public T create() throws Exception{ return clazz.newInstance(); } } コンストラクタ引数が無駄でヤな感じ。アイディア求む。
839 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 15:52:46 ] Class<T>を引数にした方が誤解を招かないんじゃね それでも格好悪いけど
840 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 15:58:57 ] インスタンスの生成に関してジェネリクスでやろうって方針が無理 可能なのはキャストがいらねってくらいだよ
841 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 16:41:57 ] 初心者ですみません、質問させてください 変数の型にfloatを使いたいのですが、コンパイル時にエラーが出ます。 精度が落ちている可能性 検出値 double 期待値 float a=3.6 ^ と表示されてます。 本を買って勉強始めたばっかりで、本の通りに書いたと思うのですが、 自力解決出来ません。doubleで書くと上手く行ったのですが、原因が知りたくて。
842 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 16:46:10 ] 3.6f
843 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 16:48:50 ] 3.6 は倍精度浮動小数点の double。a は単精度浮動小数点の float。 代入するには精度を落とさなければならないが、それをコンパイラが勝手にやるとバグの元になる。 3.6 の方も float であると明示的に記述すれば良い。 a=3.6f;
844 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 16:55:19 ] doubleっていう、「基本があってその倍」な名前のほうが デフォなのがややこしいな。
845 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 16:57:16 ] なるほど、ありがとうございます!
846 名前:デフォルトの名無しさん [2008/03/29(土) 19:29:15 ] 質問です。 現在、mainクラスのガベージコレクションを、 多重継承されたインスタンスからコントロールしています。 ただ、Heap領域にアクセスする場合について、 そのコレクションフレームワークからマルチスレッド化させると、 ローカルにremoveしようとしても同期的な排他制御が取れません。 やはりラッパークラスのプリミティブ型は、エレメントのイテレータもhasNext()メソッドもどきで volatile修飾子のシリアライゼーションをさせるのが絶対条件なのでしょうか。 ちなみに、もしコマンドライン引数によってJava.langのStringBufferまでimportしたとしても、 SetインターフェースのisEmptyメソッドにするとなぜかStackOverflowErrorの例外が発生します。 staticなyield()メソッドを汎用させるため、 throwsで例外ハンドラをコンストラクタなアサーションをしているのですが・・・。 C言語が腐るほど考えたのですが、 バイナリでのファイル操作がなかなかまとまらないため質問した次第ですので、 どうかお答えお願いします。
847 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 19:46:09 ] 「日本語でおk」ってこういうときに使うの? Javaで多重継承かー。
848 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 19:47:33 ] C言語腐っちゃったよ〜 どうしよ〜
849 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 20:39:39 ] Javaっぽい言語のVM実装しているのかねぇw
850 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 20:58:28 ] バカが何人釣られるか静観してようかと思ったが コピペに w とか、もう見てらんない。
851 名前:デフォルトの名無しさん [2008/03/29(土) 21:01:24 ] とりあえず>>846 が池沼なのは確定だろ?
852 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 21:02:31 ] 見てらんない = 結局釣られた
853 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 21:04:39 ] 前スレあたりのコピペも知らんて、おまいら春休み参入者か?
854 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 21:08:43 ] 何でこうネタやコピペすら嗅ぎ分けられない恥ずかしい奴多いんだろここ。
855 名前:デフォルトの名無しさん mailto:sage [2008/03/29(土) 21:17:09 ] >>846 とかマジ池沼じゃんw 何この春厨wwwww
856 名前:827 mailto:sage [2008/03/29(土) 22:00:37 ] >>838 アドバイス有難うございます。確かにヤな感じはするのですが、こうするより仕方ないようですね。 >>839 Class<T>を引数にする、というのは気がつきませんでした。御助言感謝です。 >>840 どーもすいません(苦笑)
857 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 01:06:30 ] スレに常時へばりついているってのも、どうかと
858 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 04:29:15 ] 悔しそうですね。
859 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 11:03:54 ] Servlet+JSP+Strutsでアプリケーションを作成しています。 これで出力されたHTMLには余計な空行が出力されます。 (Strutsタグなどの位置により) なるべくHTMLを小さくしたいので余計な空行やスペースは 削除したいのですが、なにかテクニックはないものでしょうか? 思いつくのはフィルターとか??? よろしくお願いいたします。
860 名前:デフォルトの名無しさん [2008/03/30(日) 11:26:37 ] スーパークラスHogeの拡張クラスHogeA,HogeBが定義してあり HogeAのカプセル化されたフィールドにα、HogeBのカプセル化されたフィールドにβが定義されてる状態で Hogeにはアブストラクトのゲッターメソッド、セッターメソッドが定義されています 別のクラスDから Hoge h = (Hoge)HogeA or Hoge h = (Hoge)HogeB のような形で選択的にHogeを定義しゲッターメソッドから任意のα、βが抽出できるようにしたいのですが 現状うまく行きません よい方法を教えてください
861 名前:デフォルトの名無しさん [2008/03/30(日) 11:31:09 ] >>859 私の場合ははフィルターを作ってそこを通してデーターが得られるようにしてます
862 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 11:47:37 ] >>860 スーパークラスでαとβが宣言されてないからHogeのインスタンスとしている場合にアクセスできないのは当然です。 そのフィールドを使いたい場合はHogeA,HogeBでキャストしてやらなきゃ無理っす。
863 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 11:49:48 ] >>861 ありがとうございます。 私もfilterでやってみようと思います。 でもその前に、、、、そのフィルターください!orz
864 名前:デフォルトの名無しさん [2008/03/30(日) 11:55:06 ] >>862 選択的キャストの方法としてどういう方法があるでしょうか
865 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 12:10:32 ] >>860 Hoge で定義した get/set メソッド宣言と、α、βの型を教えて欲しい。
866 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 12:18:32 ] >863 数100バイトの差は気にしないほうがいい。 携帯コンテンツとかならば、JSPを工夫するか、Servlet内で全部HTMLを書いて小さくするほうがいいかと。
867 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 12:19:57 ] >860 HogeにgetParam があったとしたら、 HogeA で getParam からαを取得、HogeBではβを取得 ってのが普通かと。
868 名前:>>862 mailto:sage [2008/03/30(日) 12:29:27 ] えらい勘違いしてました。 抽象クラスでgetter/setter宣言してたんですね。 その型が抽象クラスのgetter/setterの戻り値の型の子なら大丈夫です。
869 名前:デフォルトの名無しさん [2008/03/30(日) 12:59:04 ] 失礼 うまく行きました 他のことが原因してました
870 名前:デフォルトの名無しさん [2008/03/30(日) 17:51:19 ] JSON-LIBを使おうと思い、 C:\Tomcat 6.0\lib にjson-lib-2.2.1-jdk15.jarを入れたのですが、 java.lang.NoClassDefFoundErrorが出てしまいます。 C:\Tomcat 6.0\lib下ではクラスパス通らないのでしょうか? それともjdk16環境下なのにこのJARを入れたのが失敗でしょうか。
871 名前:デフォルトの名無しさん mailto:sage [2008/03/30(日) 21:04:39 ] JDK6ならjavascript使えば良いと思うんだが・・・
872 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 01:30:58 ] png画像の画像処理をしたいのですが質問です. java.awt.image.PixelGraberのgrabPixels()で各ピクセルの情報を配列に取得し, java.awt.ColorのgetRed()/getGreen()/getBlue()で各ピクセルのRGB値まではとれました. ここから取得した配列のRGB値を取得したRGB値を元にして計算し 変更したいのですがどのようにすれば良いのでしょうか?
873 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 01:50:46 ] どう計算したいのかはお前以外には解らんw
874 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 02:24:02 ] どう計算するかは分からないけれど、ImageIO.readでpngをBufferedImageとして読み込んだ方がいろいろ変更の自由がきくよ。
875 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 02:24:57 ] あ,計算の話ではなくて 計算後にでた新しいRGB値をつかってpngを作り直したいんです. 日本語が変ですいません.
876 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 08:54:59 ] 普通にやりたいことを言えよw 例えば元画像をグレースケールにしたいとかさ
877 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 10:17:07 ] 単純に SSLSocketFactory から SSLSocket 作った場合ってどこの CA 証明書が使われてんの? コントロールパネルの Java 設定にリストされているやつ?
878 名前:デフォルトの名無しさん [2008/03/31(月) 11:41:55 ] >>158 肉で出来ています。
879 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 12:18:00 ] JNDIを使用『しないで』DataSourceを生成する方法を教えてください。 組み込みでH2 Databseを使おうと思ったのですが、アプリケーションサーバのJNDIを使って生成する方法しか検索できませんでした。 一応、↓でなんとか生成できたのですが、本当にこの為だけにCommons DBCPやCommons Poolを使わないとならないのでしょうか? ttp://wiki.livedoor.jp/syo1976/d/Derby
880 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 12:26:10 ] JNDI 使わないってスタンドアロンで使うのか? なら接続しっぱなしにしときゃ良いじゃん。
881 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 12:36:20 ] >>879 "Using mock naming contexts for testing" ttp://weblogs.java.net/blog/simongbrown/archive/2003/11/using_mock_nami.html JNDI依存のロジックをコンテナ外でテストするためのテクニックだけど、 流用できると思う。
882 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 12:54:34 ] 超初心者です。入力した整数値を読み込んで、小さいほうの数以上で大きいほうの数以下の全整数を小さいほうから順に 表示するプログラムを作りたいんですが、最後の整数が表示出来ません。アドバイスもらえませんか?作ったコードは下です。 System.out.print("整数1:"); int n = stdIn.nextInt(); System.out.print("整数2:"); int x = stdIn.nextInt(); do { if(n >= x) System.out.print(x++); else if(n <= x) System.out.print(n++); } while (n != x); } }
883 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:01:39 ] 素直にforでいいんじゃね? for(int i = n; i <= x; i++){ System.out.println(i); } それとも何かの課題?
884 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:07:56 ] System.out.print("整数1:"); int n = stdIn.nextInt(); System.out.print("整数2:"); int x = stdIn.nextInt(); do { if(n >= x) System.out.print(x++); else if(n <= x) System.out.print(n++); } while (n != x); System.out.print(n); //これを追加 } } にするとか 明解javaの演習問題だね
885 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:09:22 ] >>883 for使うと簡単そうなんですが、練習問題を最初からやっていってる最中で 今はifとdoとwhile文のところなんで、一つずつ確実に使い方を覚えるためにもこれらの構文を使ってやりたいのです。
886 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:11:47 ] >>884 おぉ、出来ました!そうです、明解Javaをやってるんです。 この参考書答えがないので、超初心者な自分にはきついです。
887 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:12:39 ] >>884 はifの条件式も変えないと駄目だわ
888 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:15:42 ] >>887 (n > x)と(n < x)でいいですかね?
889 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:17:31 ] おk
890 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:19:57 ] >>889 ありがとうございます、ずっと考えていたのがやっと解決して先に進めます。
891 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:20:13 ] ループの前にどちらが大きいかを判断して, 大きい方と小さい方それぞれ別の変数に入れといた方が綺麗に書けるよ
892 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:20:16 ] ゆとりは不等号を習わないんだって おそるべしゆとり
893 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:25:50 ] >>891 ちょっと考えてみます。すみません、ほんとに初心者なもんで。
894 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:38:26 ] 初心者初心者って連呼しすぎうぜえ
895 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:48:22 ] 初心者は何をしても許されるべき
896 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:50:46 ] 本人乙
897 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 13:57:01 ] ワロタ
898 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 15:28:46 ] じゃあ俺も初心者を名乗るから、何をしても許せ
899 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 15:49:26 ] おれもれも
900 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 15:51:31 ] 「初心者だから仕方ないじゃないですか! 日本国では初心者が手厚く保護されているのです。 私は一生初心者であることに決めました。 初心者なんで気を遣って下さい!大目に見て下さい!」 そしてJavaに合格すると「なぁに、初心な言語は山ほどあるさ!」と。
901 名前:デフォルトの名無しさん [2008/03/31(月) 15:55:37 ] 次スレから初心者なしにしようぜ 【初心者】Java質問・相談スレッドxxx【立入禁止】
902 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 15:59:43 ] ここはひどいインターネッツですね
903 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 16:00:45 ] それは人来なくなるだろw でも自分で初心者を名乗るほどの初心者はくだすれに行った方が良いよな。
904 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 16:05:03 ] 初心者無視スレ時代も知らん連中が集まってんのか。
905 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 16:06:18 ] うん。
906 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 16:17:20 ] >>782 デバッグ版のJDKだと -XX:+PrintOptoAssembly オプション付きで起動すれば 出力できるらしいって d.hatena.ne.jp/kkawa/20080330 に書いてある。
907 名前:879 mailto:sage [2008/03/31(月) 17:23:10 ] >>880 いや、まったくそのとおりなんですが、Commons DbUtilsがDataSourceないと使えんとですよ……。 >>881 ありがとうございます。が、これはこれでMockObjectに依存しているのですね。 同じ依存するならcommonsで統一しましょう。 ……>>880 の言うとおり、一つコネクション取って繋がりっぱなしでいいんですけどねぇ。 何でこんなコトしてるんだろ? Webで使うことしか考えてないのかな>Commons DbUtils
908 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 17:46:03 ] >>907 単一スレッドだけなら接続済みの Connection を 1 コ だけ持つ DataSource クラス作れば良いんでねーの。 必要なメソッド数なんて 10 もないでしょ。あ、close() をゴマかさにゃいかんか。 DbUtils って使ったことないけど、DataSource で受け渡したらトランザクションスコープもクソも なくなるんだがそんなウンコチンチンな作りなのかな。どっかのプロジェクトで見たクソフレームワークみたいだな。
909 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 17:48:49 ] ここで908謹製の最強素敵フレームワークへのリンク
910 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 18:26:27 ] >>909 前世紀の終わりに作った奴は発想も方向性も今の Spring Framework とかなり似ている。 まぁまだフレームワークという言葉自体なかったし、周囲も OO 設計への理解度が皆無だったし。 他で作ってた、場当たり的な拡張で肥大化したクラスライブラリのようなものの方が 「多機能」 として受けが良かったのは悲しかった。 同じ頃にアプレット使って今の Ajax と同じことを提案してたよ。使われなかったけど。あれは特許も 提案したんだけどなぁ。あらためて思い出すと相当先行ってたな俺。
911 名前:879 mailto:sage [2008/03/31(月) 18:32:37 ] >>908 ……申し訳ない。大勘違い。 <font size="+3">Commons DbUtilsでDataSourceは必須ではありません</font> ……googleセンセイで引いてくる例がことごとくDataSourceを使ってたもんだから完全に勘違いしてました。 以後メモ。 Commons DbUtilsでDataSourceを使わずにSQLを発行するのは、単にQueryRunnerのコンストラクタを引数なしで呼べばいいだけ。 その後、queryメソッドの第一引数にConnectionを指定すればOK。 Webで引ける例はQueryRunnerのコンストラクタにDataSourceをほとんど必ず指定しているが、DataSourceがないとQueryRunner=Commons DbUtilsが使えないわけではない。 以上、同じ間違いを繰り返す人が出ないことを祈りつつ恥を晒します(涙)
912 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 18:34:33 ] 受けが良かったのは開発者じゃなくて上や営業向けにね。
913 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 20:57:05 ] ajaxなんてだれでも考えつく昔からある方法だろ。 単に最近になってウケただけ。
914 名前:デフォルトの名無しさん mailto:sage [2008/03/31(月) 21:25:52 ] IE でまさに innerHTML やデータバインディングが実装された 4.0 の頃の話してんだが。 どこの昔からある方法だよ。
915 名前:デフォルトの名無しさん [2008/04/01(火) 01:42:12 ] TestClass var = new TestClass(); TestInterface test = (TestInterface)var; と言うふうにキャストすると、 TestClassがTestInterfaceをimplementsしていなくてもコンパイルが通りました。 キャストすればどんなインターフェイスにも代入できるのかと思ったんですが、 Stringはキャストすることができませんでした。 特定のInterfaceにキャスト可能な条件というのは何なんでしょうか?
916 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 01:54:18 ] コンパイルは通らないと思うが。本当に extends や implements してないのか?
917 名前:915 mailto:sage [2008/04/01(火) 01:59:09 ] コンパイルは通ったけど、実行したらClassCastExceptionが出ました。 ダメですね。。。
918 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 02:23:02 ] すまん勘違いしていた。 public class TestClass2 extends TestClass implements TestInterface{ ... } というクラスがあるかもしれないから、キャスト時に元の型にそのインターフェースが implements されていなくてもコンパイルは通る (型チェックは実行時にしかできない)。 TestClass var = new TestClass2(); TestInterface test = (TestInterface)var; TestClass が final 宣言されていれば TestClass2 のようなサブクラスの存在は ありえないのでコンパイル段階でエラーになる。 String のキャストに失敗するのは、Java では多重継承ができないから TestClass の サブクラスであり String のサブクラスでもあるクラスというのはありえないから。
919 名前:デフォルトの名無しさん mailto:sage [2008/04/01(火) 19:23:08 ] Java で作った PublicKey, PrivateKey を KeyStore で保存したいんだけど、 Certificate が必要なようだけどこれってどうやって作るの?
920 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 08:16:19 ] ユーザ認証を求められるwebサイトで、認証後の内容 つまりログイン状態後にアクセス可能になるコンテンツに、 javaプログラムでアクセスするためには、どういう方法をとればよいのでしょうか? 端的に言って、mixi のことなんですが.... javaプログラム側でどのような方法をとれば、mixiのログイン状態を実現できるのか、 知りたいのです。
921 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 08:43:50 ] >>920 javaプログラムでログインすればいいです。
922 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 09:22:17 ] >>920 HTTP通信のライブラリを使うと楽。 Apache HttpComponentsとかHttpUnitとかお薦め。
923 名前:デフォルトの名無しさん [2008/04/02(水) 11:09:49 ] >>921 そのやり方僕にも教えて ログイン時のパラメーターをどうやってJAVAからWEBサイト側に渡すのか 方法が分からん
924 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 11:18:15 ] URL と URLConnection で GET/POST リクエスト送る方法調べろ。
925 名前:デフォルトの名無しさん [2008/04/02(水) 11:26:05 ] それだけなんだ
926 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 13:40:31 ] >>923 まずHTTPから勉強しなよ
927 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 14:44:22 ] Struts+JSPで親画面からwindows.openで子画面をポップアップで開き、子画面で選択した内容を親画面に戻しています。 親画面が縦長なので画面が一番上に戻ってしまいます。 一番上に戻らないようにしたいのですが、どうすれば良いでしょうか?
928 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 14:48:12 ] JavaScript で入力内容を親画面に設定しれ。リクエスト出すな。
929 名前:デフォルトの名無しさん [2008/04/02(水) 15:37:59 ] 入力した数字が素数か調べるにはどうすればいいですか?
930 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 15:42:51 ] >>929 その数字の約数を調べればいい 約数が1とその数字自身しかなければ素数
931 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 17:11:15 ] >>920 まずは Firefox と LiveHTTPHeaders を入れて、どんなことが起きてい るのか調べるんだ。その上で、どんなAPIを使えば楽ができるのかを考える。
932 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 17:13:10 ] Eclipse の TCP/IP モニタで十分じゃん。
933 名前:デフォルトの名無しさん [2008/04/02(水) 19:13:01 ] プログラミング初心者ですが、質問があります。 eclipseで以下のようなプログラムを書いて、それをjar形式でエクスポート しました。 しかし、そのjarファイルをクリックして開こうとすると「could not find main class」 と出てききます。どうすればいいのでしょうか? 誰かわかる方助けてくださいお願いします。 import java.awt.Color; import java.awt.Font; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Insets; import java.awt.image.BufferStrategy; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Timer; import java.util.TimerTask; import javax.imageio.ImageIO; import javax.swing.JFrame;
934 名前:デフォルトの名無しさん [2008/04/02(水) 19:13:57 ] public class GameTestMain { /** * @param args */ JFrame frame1; BufferStrategy bstrategy; int count = 0; BufferedImage backimage1, backimage2; GameTestMain() { frame1 = new JFrame("ノベルゲーム"); frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame1.setBackground(Color.WHITE); frame1.setResizable(false);
935 名前:デフォルトの名無しさん [2008/04/02(水) 19:15:13 ] public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ GameTestMain gtm = new GameTestMain(); } class MyTimerTask extends TimerTask { public void run() { Graphics g = bstrategy.getDrawGraphics(); if (bstrategy.contentsLost() == false) { Insets insets = frame1.getInsets(); g.translate(insets.left, insets.top); g.drawImage(backimage1, 0, 0, frame1); g.setFont(new Font("Selif", Font.PLAIN, 40)); drawStringCenter("秒速1キロメートル", 100, g); bstrategy.show(); g.dispose(); } } }
936 名前:デフォルトの名無しさん [2008/04/02(水) 19:16:07 ] void drawStringCenter(String str, int y,Graphics g) { int fw = frame1.getWidth() / 2; FontMetrics fm = g.getFontMetrics(); int strw = fm.stringWidth(str) / 2; g.drawString(str, fw-strw, y); } }
937 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 19:17:17 ] マニフェスト Main-Class でググレ
938 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 19:17:23 ] エクスポートするときにメインクラス指定した?
939 名前:デフォルトの名無しさん [2008/04/02(水) 19:22:08 ] >>938 GameTestMainってのを選択しました。
940 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 19:30:00 ] >>933 jarを展開してMETA-INF/MANIFEST.MFファイルがあるか確認 その中にMain-Class: GameTestMainと書かれているか確認 必要なclassファイル (GameTestMain.classとかMyTimerTask.classとか) が全部入ってるか確認
941 名前:デフォルトの名無しさん [2008/04/02(水) 19:53:56 ] それ以前にクラスパス通ってる?
942 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 20:42:01 ] そもそもデフォルトパッケージで JAR 起動できたんだっけか?
943 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 20:46:12 ] できるよー
944 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 22:53:45 ] >>932 どうやるんだ?
945 名前:デフォルトの名無しさん mailto:sage [2008/04/02(水) 22:59:32 ] [Window]-[Show View]-[Other...]-[Debug]-[TCP/IP Monitor] 右上の ▽ の Properties... で実際の接続先を指定。 ブラウザのプロキシ設定で localhst:<local monitor port>
946 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 02:27:30 ] 一つお伺いしたいのですが,java複数枚のjpegをmjpeg or wmv を作りたいのですが どの様にすればよいのでしょうか?
947 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 02:38:51 ] java複数枚のjpegってなんだ?をが2つあるし
948 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 02:57:03 ] >>946 標準APIではメソッド一発で、みたいな便利なものはなさそうだから、 フレームになるjpegデータを読み込んで欲しい動画形式に従ってファイルに書き出していくしかなさそう。 標準でなければ動画を扱うライブラリとかでありそうだけど。
949 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 09:06:56 ] JMFってMotionJPEG対応してなかったっけ?
950 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 17:31:08 ] チャット作るのに JMS 使うのって鯵捌くのに斧振り回すみたいなもんかね?
951 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:19:06 ] 文字列にそれまでと違う文字が出てくるindexってとれますか? 1111223111だったら4が取得できるといった感じの
952 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:27:52 ] >951 配列に展開してfor文でまわせばいいじゃん・・・
953 名前:デフォルトの名無しさん [2008/04/03(木) 22:36:47 ] 次すれから初心者出入禁止な
954 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 22:52:55 ] 超初心者スレもあるのかな? とりあえず、質問内容を理解できる日本語文が読みたいよ。
955 名前:デフォルトの名無しさん mailto:sage [2008/04/03(木) 23:13:14 ] 【初心者以前】Java質問隔離スレ【エスパー募集】とか?
956 名前:デフォルトの名無しさん [2008/04/03(木) 23:27:59 ] くだすれでいんじゃね?
957 名前:デフォルトの名無しさん [2008/04/04(金) 00:13:20 ] Javaから、Windows上のフォルダの書込権限を調べることは可能でしょうか? Javaは1.4、Windowsは2000もしくはXPが対象です。
958 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 00:34:49 ] >>957 File.canWrite()
959 名前:デフォルトの名無しさん [2008/04/04(金) 01:06:14 ] >>958 ありがとうございます。 1週間以上探しても見つからず、もはや不可能なのかと諦めかけていました。
960 名前:デフォルトの名無しさん mailto:sage [2008/04/04(金) 01:15:01 ] >>951 String s = "1111223111"; String regex="(.)\\1*([^\\\\1])"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(s); if(m.find()) { int i = m.group(0).length() - 1; System.out.println(m.group(0)); System.out.println("index is " + i); } できたどー
961 名前:デフォルトの名無しさん [2008/04/04(金) 04:03:24 ] どうやったらこれ探すのに1週間以上かかるんだw
962 名前:960 mailto:sage [2008/04/04(金) 06:25:46 ] String s = "1111223111"; String regex="(.)\\1+(.)"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(s); if(m.find()) if(!m.group(1).equals(m.group(2))) { int i = m.group(0).length() - 1; System.out.println(m.group(0)); System.out.println("index is " + i); } 間違えてたどー