1 名前:デフォルトの名無しさん mailto:sage [2009/09/20(日) 01:02:31 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 ttp://pc11.2ch.net/hp/ Webプログラミング ttp://pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド133★★ ttp://pc12.2ch.net/test/read.cgi/tech/1251630161/ 次スレは>>950 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 ttp://www.wikiroom.com/java/
757 名前:755-756 mailto:sage [2009/11/14(土) 01:08:46 ] 間違えた。すまん
758 名前:754 mailto:sage [2009/11/14(土) 01:16:20 ] >>755-756 いえ、非常にありがたいです。 他にも何かお気づきの点があれば、よろしくお願いします。
759 名前:755-756 mailto:sage [2009/11/14(土) 01:31:36 ] class ComboLabelにtextとicon保存 public Component getListCellRendererComponent内で上で保存したtextとiconをJLabelにセットしなければならないから、 class ComboLabel{ にtext追加。 public Component getListCellRendererComponent( にsetText追加。 すればいいんじゃないかと……
760 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 02:04:27 ] >>754 これで普通に画像の切り替えできてるよ。 変数が見えてなかったりLabelが表示されてなかったりしたのも直したけど。 MyCellRenderer renderer = new MyCellRenderer(); combo.setRenderer(renderer); combo.addItemListener(renderer);//追加 class MyCellRenderer extends JLabel implements ItemListener, /*追加*/ ListCellRenderer { ..... //省略 public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED){ lb.setIcon(((ComboLabel)model.getSelectedItem()).getIcon()); } }
761 名前:754 mailto:sage [2009/11/14(土) 02:39:10 ] 皆さんどうもありがとうございます。 早速教えていただいたように直してみました。 ところが、 lb.setIcon(((ComboLabel)model.getSelectedItem()).getIcon()); の箇所で、lb、modelを解決できませんというエラーが表示されてしまいます。 どこが間違っているのか、自分ではどうしても解決できませんでした。 もう一度教えていただいてもよろしいでしょうか。 お願いします。 ちなみに現在のソースです。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/831.java
762 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 02:46:43 ] >>761 こっちに変えてみな。 public void itemStateChanged(ItemEvent e) { if (e.getStateChange() == ItemEvent.SELECTED){ ComboLabel lbl = (ComboLabel)((JComboBox)e.getSource()).getSelectedItem(); lb.setIcon(lbl.getIcon()); //lb.setText(lbl.getText()); Textが必要ならComboLabelにgetText()を追加する } }
763 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 02:49:14 ] あと以下の2行を修正 public class Combobox extends JFrame{ private JLabel lb; //追加 //JLabel lb = new JLabel(("ここに画像が表示されます")); この行コメントアウトして下のように変更 lb = new JLabel(("ここに画像が表示されます"));;
764 名前:754 mailto:sage [2009/11/14(土) 03:01:24 ] 迅速なお返事をどうもありがとうございます。 教えていただいたことを元に、もう少し自分で考えてみようと思います。 こんなに遅い時間まで、本当にどうもありがとうございました。
765 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 03:05:30 ] >>764 適当に動くようにしたソースはっとくよ。 rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/832.java
766 名前:754 mailto:sage [2009/11/14(土) 03:12:17 ] わざわざソースまで! 自分の求めていたとおりに動かすことができました。 本当にありがとうございます。 自分ももっと勉強します。
767 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 03:35:46 ] MyCellRenderer extends JLabel implements ListCellRenderer よりも MyCellRenderer extends DefaultListCellRenderer にするといいよ。 getListCellRendererComponent() の最初で super.getListCellRendererComponent(); を呼んで、 アイコンをセットして、 最後に return this; とすればいい。
768 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 07:53:25 ] java でC/C++ でいうところの、関数ポインタのような振る舞いをさせるには どのようなデザインパターンを用いればいいでしょうか? 2つのboolean 値があって、その値の内容の組み合わせパターン(2^2)によって、呼び出すメソッドを変えたいのですが if 〜else if 構文や、switch 文はかっこ悪いので使いたくありません、よろしくお願いします。
769 名前:732 mailto:sage [2009/11/14(土) 08:59:26 ] >>768 Java では関数ボインタを変数に持ったり、関数ポインタを使って多相化することはない。 そういうことをしたい時は、オブジェクトを変数に持って、パターンによって、 共通のインタフェースを実装した異なるオブジェクトを呼ぶことになる。 関数テーブルの代わりにはオブジェクトテーブルということになるが、 オブジェクトテーブル以外にも、4つのパターンを表現した enum クラスを作って、 各 enum 定数の中に実装を書くなどの作戦もある。
770 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 09:17:34 ] >>769 Thx
771 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 09:28:13 ] >>769 それ、なんてStrategyパターン?
772 名前:768 mailto:sage [2009/11/14(土) 09:41:43 ] >>771 外していたらごめんなさい、多分State パターンではないでしょうか?
773 名前:デフォルトの名無しさん [2009/11/14(土) 14:23:46 ] 総称型の配列が作れません。 以下のような場合どうすればいいのでしょうか? public T[] getSpecifiedElements(T[] allElements) { //allElementの一部要素をT配列で返したい。 } ArrayList<T> temp = new ArrayList<T>(); に必要な分をつめこんで、 temp.toArray(new T[temp.size()]); ってしたいのですが無理なようです。 (T) temp.toArray(); もクラスキャストエクセプションになってしまいした。。。
774 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 14:38:55 ] >>772 お前がやりたいのは、ちょっとした計算ロジックを切りかえたい ということに見えるが、それだとしたらStrategyパターンであってる
775 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 14:56:35 ] >>773 無理。 代替案としては Class<T> を引数で指定してもらうか、 配列使わずList<T>で受け渡しするか。 <T> T[] getSpecifiedElements (T[] allElements, Class<T> clazz) { List<T> temp = new ArrayList<T>(); //tempに必要な要素をつめる。 return temp.toArray((T[])Array.newInstance(clazz, temp.size())); } List<T> getSpecifiedElements (List<T> allElements) { List<T> temp = new ArrayList<T>(); //tempに必要な要素をつめる。 return temp; }
776 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 14:57:52 ] >>773 総称型の配列をnewすることは、Javaの言語仕様上できない。 多少強引だがこれでOK。 @SuppressWarnings("unchecked") T[] subElements = (T[]) java.lang.reflect.Array.newInstance( allElements.getClass().getComponentType(), temp.size()); return temp.toArray(subElements); つーか、そもそも配列使うのやめればいいだけなんだけどな。
777 名前:デフォルトの名無しさん [2009/11/14(土) 15:25:04 ] >>775 >>776 引数でクラス指定すると総称型の意味がないし、 ワーニング潰すのも気持ち悪いので、 諦めてList<T>を返すことにしました。 しかし勉強になりました。ありがとうございます。
778 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:01:01 ] ストラッツの質問はここでも大丈夫でしょうか?jsp にアクセス(リロード)した際、自動的にActionクラスを実行するプログラムを組みたいのですが、どうすれば良いでしょうか?
779 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:01:46 ] >>776 jdk7だと[]とListの区別がなくなるのかも。
780 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 16:58:38 ] www.tomicom.ac.jp/~koba/doja5/jguidefordoja5api/javadoc/com/nttdocomo/security/SymmetricCipher.html ここを参考に,特定の文字列をAESで暗号化するiアプリを作成してみたのだけど,例外が出てしまう… どなたか,原因が分かる方ご教授お願いします. 例外 Main :java.lang.IllegalArgumentException: Can't use the sessionkey or the iv with the algorithm keyTest java.lang.IllegalArgumentException: Can't use the sessionkey or the iv with the algorithm at com.nttdocomo.security.CipherSessionKey.createSymmetricCipher(+71) at cryptionClass.encryption(+72) at keyTest.start(+14) com.nttdocomo.security.CipherSessionKey: Can't use the sessionkey or the iv with the algorithm ソースコード ttp://www.cms-e.net/java/src/
781 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 17:24:28 ] "Can't use the sessionkey or the iv with the algorithm" って書いてあるけど?
782 名前:780 mailto:sage [2009/11/14(土) 17:33:11 ] >>781 まぁ,そのエラーメッセージの意味は分かるのだけど,解決策が分からない…. 参考URLではプログラム解説のためにDESアルゴリズムを用いているけどできればAESを使いたいので.
783 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 17:36:00 ] >>781 いや,ごめん.意味も分かってないかも. アルゴリズムのあるセッション鍵かIVを使用できません. という文章的な意味は分かるのだけど,そのトラブルシューティングが分からない
784 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 17:49:27 ] >>778 jspがAction経由で表示されたなら、リロードしてもActionが再実行されると思うけど。
785 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 21:55:10 ] >>783 その訳はたぶん そのセッション鍵またはそのIVをそのアルゴリズムと共に使うことはできません ではないか? ちょっと調べたらAESはブロックサイズが128ビットらしいので、IVのサイズをそれに合わせて長くしてみるとか
786 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:56:31 ] ジャバってランタイムがないと動かないの? RPGツクールみたいなもん? 単体で動くexeとか作れないの?
787 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:57:45 ] POJOって一体何なの? どういう風に便利なのかとか、どうすれば使えるのかとかがよく分からない。
788 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 22:58:29 ] そうです 強引な方法も無くはないが 素人には10年早い
789 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:08:27 ] 788さん、それボク786に対する答えですか。
790 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:43:23 ] >>786 うん でもC++とかでもランタイム必要なものもあるよ
791 名前:デフォルトの名無しさん mailto:sage [2009/11/14(土) 23:56:51 ] OS だってランタイムだ、という考え方をすれば、単に OS 標準でどこまで付いて来るかという問題でしか無いとも言えるな。
792 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 00:12:21 ] 790さんありがとうございます とりあえずいろいろいれずにWindowsでexeをクリックするだけで起動する感じが理想なので 別の言語あたってみます
793 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 04:55:26 ] アジャイル手法とかに詳しい人がいたら、ご意見をいただけないでしょうか。 最近、私が関わっているプロジェクトで、 「カバレッジ100%を達成するためにホワイトボックスな単体テストを書きまくった結果、 逆に、テストを書き直すコストが増大して大きなリファクタリングができなくなりつつある」 という本末転倒っぽい状態に陥りつつあるのですが、何か良い方法なり指針はないものでしょうか。
794 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 06:57:08 ] 端的に言えばカバレッジ最優先なポリシはバランスが悪い。 リファクタリング前と後で、極端なまでにテスト再利用性が存在しないのは、 そもそも変化が許容される内容(つまりはリファクタリングによって改善した内部構造そのもの) に対して過剰なテストが行われていることを意味している。 極端に言ってしまえば、テストは所詮バグが存在しないことの証明にはならないのだから、 あまり内部詳細に踏み込みすぎず、外部インタフェース越しに一般的なシナリオをテストするに 留めておくぐらいがちょうど良いと個人的には思う。
795 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 07:30:53 ] >>793 一律にテスト書かないで変更が多そうな部分と変更が少なそうな部分にわけて 変更が少なそうな部分を重点的にテストするとか
796 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 09:00:14 ] javamail-1.4.2 を使い、メール送信機能を付与した、プログラムを作成しました 送信テストも終わり、このプログラムを他人に配布したいのですが 通常のjava のアプリケーションが動くJava(TM) SE Runtime Environment (build 1.6.0_17-b04) の環境であれば、別途に必要なランタイムやライブラリィはありませんか?
797 名前:796 mailto:sage [2009/11/15(日) 09:52:09 ] 自己解決です ttp://oshiete1.goo.ne.jp/qa1919395.html 同じ方がいました、他人に配布するのは、ライセンス的には問題なさそうですが、 バッチでmail.jar を入れるとか、面倒な感じですね、実行するにも長たらしいコマンドを入れなければならないし C で書いたDLL があるので、こいつを使った方が解決が早そうです。 java のインストローラが作れればいいんだが・・・・
798 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 10:28:08 ] izpackかは? コマンドって、実行時のクラスパス指定のこと? それならManifestに記述すればいいし最悪バッチファイルなりなんなり書けばいいし、他にもexeにラップしちゃうって手もあるし、あんまり問題にはならなくないかい?
799 名前:796 mailto:sage [2009/11/15(日) 10:45:00 ] >>798 ありがとうございます、java は最近はじめたばっかりなので詳しくく質問させてもらいました Manifest とか、exe にラップする方法があるのですね知りませんでした、調べてみます。
800 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 13:28:58 ] >>785 ありがとうございました! IVを128bitにしたら無事通りました!
801 名前:793 mailto:sage [2009/11/15(日) 13:50:12 ] >>794 なるほど。。 インタフェースごしのブラックボックステストと、ホワイトボックステストを分けるのも手かもしれませんね。
802 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 15:00:16 ] URLClassLoader#loadClass(null)で呼び出したクラスは、 このクラスローダがGCされると綺麗にメモリ上から消えますか? public static void run(URL jarFile, String className) throws Exception { Class clazz = new URLClassLoader(new URL[]{jarFile}).loadClass(className); MyInterface obj = (MyInterface) clazz.newInstance(); obj.run(); }
803 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 15:35:26 ] >>802 一緒にGCされると思うけど、仕様によって保証はされない。 あと、java.lang.Class や java.lang.reflect.Method なんかの リフレクション用のオブジェクト握りっぱなしにしてると、 そもそもクラスローダがGCされない
804 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 17:05:11 ] JNIでCを呼び出すとき、System.loadLibraryでネイティブライブラリをロードしますが、 System.loadLibraryを書くのはコンストラクタがよいのか、staticイニシャライザが良いのかわかりません。 どちらの方がよいのでしょうか?
805 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 17:10:50 ] インスタンスをnewするまでstaticなネイティブメソッドが呼べないよ
806 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 18:21:36 ] 携帯でMP3再生したい オープンアプリでいっちょやってみるか ハフマン符号???? File decode(File mp3File) { // 誰かサンプル書いてみて return decodeFile; }
807 名前:806 mailto:sage [2009/11/15(日) 18:24:48 ] だめだ メモリ足りなくなりそうなので いちいち展開なんてしてられん・・・ void playMp3(File mp3File) { //一時停止機能とかいらないから誰かサンプル書いて }
808 名前:デフォルトの名無しさん [2009/11/15(日) 19:28:40 ] 別スレッドがSystem.out.print..などで、標準出力にメッセージを出すようになっていて、 それをInputStreamなどで拾いたいのだけど、どうしたら良いですか?
809 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 19:54:06 ] java mediaとかかな 特許がらみが多い分野だからほとんどの形式がクローズドだけど。
810 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 20:01:17 ] >>808 System.setOutで出力先をPipedOutputStreamか何かに変え、PipedInputStreamか何かで読み出す
811 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:24:08 ] >>810 ありがとう!解決した!
812 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:35:18 ] どうしてクラスローダが1つのVMに複数あるのでしょうか?
813 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:49:06 ] URLから取ってくるクラスローダとか色々あるから。で回答としてはいいのかな?
814 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 22:49:48 ] たとえば同一の外部ライブラリで複数バージョンを使い分けたい場合などがあったとする。 唯一のクラスローダしか存在しない場合、FQNが同一のクラスは、一つしか存在することができない。
815 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:08:02 ] まて、FQNが同一のクラスが同時に複数存在できたりするのか? ウィザードじゃないから知らないだけかもしれないけど、static変数とか矛盾 してしまうと思うんだが。
816 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:28:29 ] できる。そもそも同じFQNであれ、ロードされているクラスローダが違えば同じクラスと扱われない。 J2EEやっていれば同一のコンテナ(単一JavaVM)に複数のWebアプリケーションをデプロイして、 それぞれのWebアプリが独自のライブラリ(WEB-INF/lib)を利用する状況を考えて欲しい。 たとえばAアプリはlog4j1.2で、Bアプリはlog4j1.1というのは普通に可能。 それらはThreadに割りつくContextClassLoaderが入れ替わることで(実装者が意識しないかたちで)実現されている。
817 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:29:07 ] >>815 できるよ 異なるクラスローダがロードしたクラスは、同じFQNであっても別々 static変数も別々 Classオブジェクトを比較しても一致しない
818 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:31:11 ] あとたしかinstanceofもキャストも失敗するっけか あらゆる意味で異なるクラス扱いだったはず
819 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:36:33 ] Seasarという有名な国産DIコンテナがあって、 それはsmart deployという仕組みで、開発時にhot deployが可能なんだけど、 そのやり方は結構単純で、クラスローダをRequestを受け取るごとに生成・廃棄して、 新規にコンパイルされたClassを都度読み込みさせている。 そのようなやり方をすれば、一度読み込まれたClassでも即時反映が実現できる。
820 名前:デフォルトの名無しさん mailto:sage [2009/11/15(日) 23:40:34 ] なるほど。 d.hatena.ne.jp/masugata_k/20071203/1196684216 とそのリンク先を見てみた。 システムクラスローダは差し替え可能なわけか。知らなかった。
821 名前:デフォルトの名無しさん [2009/11/16(月) 00:06:47 ] 複雑な管理処理を行うベースウェアにはGUIや集中管理する画面って必須かな? それとも管理するためのAPIだけを提供すれば皆安心?
822 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:20:52 ] せめて参考GUI実装をソースつきで。凝る必要は一切無し。 あれば使ってもらえるし、出来が気に入らなかったら改造するだろうし。 ソース無くてもjadで見ちゃうけど。
823 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 00:58:42 ] なるほどruby的なのか そりゃそうか
824 名前:デフォルトの名無しさん [2009/11/16(月) 02:05:38 ] 初めましてm(_ _)m JAVA初心者なのですが JAVA2のSEとMEをインストールしようと思い一通りダウンロードしたんですが、 java_ee_sdk-5_08-jdk-6u17-windows-ml.exe これ以外はインストール出来ませんでした。 EEに当たるようなんですが、サイトを見直すとSEに該当しているようにもみえます。 しかし次にMEをインストールしようとすると「SEがインストールされていない」とでてMEがインストールされません。 MEがSE1.4?のみに対応している可能性もあるのでダウンロードしようとしたんですが見当たりません。 ですがそれ以前から教則本の付録でついてたj2sdk1.4.1_01(ランタイム?)を使用してます。 パソコンは2000年発売VAIOのXPです。SPをインストールしていません。 (すでにSP1がダウンロード不可のため) どなたかアドバイス下さい。よろしくお願いします。m(_ _)m
825 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 02:46:23 ] こっから落とせば? java.sun.com/javame/downloads/index.jsp J2ME時代で環境作りたい場合はこっちから落とす java.sun.com/javame/downloads/previous.jsp
826 名前:デフォルトの名無しさん [2009/11/16(月) 02:55:54 ] >>825 解答ありがとうございます。後日、ダウンロード試みてみます。
827 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 15:12:06 ] SaxParser#parse(File, dh)は内部でファイルのロック取ってるんでしょうかね? プロセス間のは(共有ロック)取ってくれてると思って使ってるけど。 スレッド間の排他はユーザがやる必要があるのでしょうか?
828 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 16:20:57 ] 基本的な質問ですいません。 C言語ソースの移植作業しているのですが・・・。 int a(short b) { return b+5; } を a(50);のように定数を引数にしてコンパイルすると 「a(short) は (int) に適用できません」 とエラーが出てしまいます。 a(50);をa((short)50);のようにキャストすればエラーは無くなりますが、 定数をいちいちキャストするのが面倒です。 キャスト以外に良い方法は無いでしょうか?
829 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 17:38:52 ] int型の引数を受け取れる同名のメソッドを作ればよい int a(int b) { return a((short)b); } みたいな
830 名前:デフォルトの名無しさん mailto:sage [2009/11/16(月) 19:47:26 ] EJBってどうなの?業務で使ってる?
831 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:06:24 ] test
832 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 01:48:17 ] 業務意外じゃEJBを使っているのみたことないな
833 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 07:46:28 ] なんか業務でもあえてEJB避けてきたんで... メッセージングとか一部機能のつまみ食い程度しか使ったことないから、 3.0はいい感じなのか実際に採用してる人たちの実感を聞きたいなと。
834 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 10:18:39 ] 業務システムでも短納期・低コストが求められているのだから、わざわざEJBでコストをあげる必要はないだろ
835 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 10:25:03 ] EJBなんて学者のオナニーだから使わないほうがいい
836 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 15:36:51 ] はじめまして、こんにちは 現在塗りつぶしを行うアプレットをアプリに書き換えています が、なかなか上手くいきません アプレット/アプリケーション共通プログラムという www.asahi-net.or.jp/~dp8t-asm/java/tips/AppletApp.html このサイトの通りに行っているはずなのですが、、、 間違っているところがあれば、アドバイスをお願いします 以下が私のソースです kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10131.txt サイトの通りに、ExitWhenWindowClosingクラスとAppletFrameクラスは別に作ってあります
837 名前:デフォルトの名無しさん [2009/11/17(火) 15:47:43 ] 単純なキーボード入力を出力するプログラムを作成したのですが、特定の文字列を入れると文字化けして出力されてしまいます。 この問題の原因、または解決方法をご存知の方みえましたら教えていただけないでしょうか。 実行環境:windows vista / Eclipse 3.5.1 Galileo Windows 32bit ベース / Pleiades All in One 3.5.1.20090930 コード: public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); try { System.out.println(br.readLine()); } catch (IOException e1) { // TODO 自動生成された catch ブロック e1.printStackTrace(); } } 入力: む 出力: �?
838 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 16:46:00 ] >>837 キーボードが日本語106キーで認識されて無いのかな。 「む」「ろ」「BackSpace」キー等には気をつけて。 解決策は・・・ドライバがどうなっているかくらいか・・・わかんね。 見当違いかもしれんが参考に。
839 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 17:05:10 ] >>838 おお!ありがとうございます。 ドライバ確認してみます。
840 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 21:53:16 ] 将来的にはEJBが(実質的な意味で)本命のような気がするんだよね。 現状はまだ様子見しつつって感じのようですね。
841 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 21:56:48 ] 現状で既に活用できるってばさ。 Apache+Tomcatの時代なんて今は昔。 まあ私の周りの話だから他は知らんけど。
842 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:09:55 ] EJB なんて 10 年前の流行キーワード。今も今後も誰も注目しねぇって。 使えるところで淡々と使われるだけ。
843 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:14:40 ] うちの周りはTomcat(というかサーブレットコンテナメイン)ばかり。 分散+フェイルオーバーで高可用構成とかでも 業務フレームワーク作りこみで対応してるケースが多い。 EJB3.0はコンフィグ地獄じゃなくてよさそうなんだよね。 軽量コンテナとの境界もあいまいになってるわけで、 そうなると標準化プロセスを経ているEJBのメリットが生きてくるような気がする。
844 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:19:52 ] スタンダードに載っとかないと保守で首を絞める。 HibernateよりJPAやiBatisを選択するのがいい。
845 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 22:26:28 ] だよね。保守はともかく、いまさら新規でHibernateはありえない。 JPAは意識してるけど、使いやすさとパフォーマンスの点でS2JDBCに浮気してたりして。
846 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:06:12 ] 質問させてください 配列名を引数で与えるにはどうしたらいいのでしょうか。 static int[] mkArr(String arrName, int itemNum){ int[] arrName = new int[itemNum]; //このあとはarrName[0]〜[itemNum-1]の値をキーボードから //入力させます } この段階で 重複ローカル変数 arrName, と警告がでます(Eclipse使用です)。 型が String だとまずいのかもしれないかとも思いますが、見当もつきません。 ※このメソッドはメインクラスに書く予定です。 レベルが低すぎて申し訳ありませんがよろしくご教示ください。 お願いいたします。
847 名前:デフォルトの名無しさん mailto:sage [2009/11/17(火) 23:17:10 ] 引数でString arrNameを宣言してるのに 最初のステートメントでint[] arrNameを宣言してるやん。 質問のわかりにくさからして始めたばかりなんだろうけど。
848 名前:846 mailto:sage [2009/11/17(火) 23:54:30 ] >>847 お答えありがとうございます。 お察しのとおり始めたばかりです。 ↓こんな感じで呼び出すと mkArr("arr1",3) int[] arr1 = new int[3]; となって配列arr1が生成されるのかと思っているのですが 違うんですよね。。 ずっと考えてるのですがわかりません。 ここ読んどけっていうところがあったら、教えていただければ助かります。 よろしくおねがいします。
849 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:03:09 ] 酷すぎる
850 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:03:38 ] 宿題スレをおすすめする。 まず何をするプログラムなのかが分からない。
851 名前:846 mailto:sage [2009/11/18(水) 00:06:42 ] >>849-850 スレ汚しすみませんでした。 宿題ではないので、もう少し考えてみます。 申し訳ありませんでした。
852 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:08:32 ] お前ら厳しいなw
853 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:09:49 ] プログラムの素人であるのは構わない。そういうスレだ。 だが質問の素人であってはいけない。
854 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:13:18 ] 分かりやすく伝えるって結構高度だと思うが
855 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:17:34 ] >>846 自分も初心者なんですが、 static int[] mkArr(int itemNum){ int[] arr = new int[itemNum]; //入力 return arr; } メソッドをこんな感じにして int[] arrName = mkArr(itemNum); 呼び出し側で、受け取ればいいのでは? arrNameは受け取りたい配列名で。 たとえば、 String str = "arr"; int[] str = new int[5]; とやっても、arrという名前のint型の配列は 出来ないかとw
856 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:19:25 ] ああ、呼び出し方がおかしいですね。 すいません。
857 名前:デフォルトの名無しさん mailto:sage [2009/11/18(水) 00:35:34 ] >>846 なかなか独創的なコードだけど、以前はどの言語をやってたの?