1 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 19:48:24 ] プログラミング言語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質問・相談スレッド111【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1200151522/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝のう存じます。 次スレは>>980 あたりで。
496 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 03:06:22 ] >>491 プリミティブ型はあくまでプリミティブ型で、そのクラスといったものはない。 あるのは、プリミティブ型を表すClassクラスのインスタンスで、各ラッパークラスで定義されている。 例えば、リフレクションAPIでメソッドの引数の型を指定する時などに使ったりする。
497 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 03:18:57 ] 初心者用スレとはいえ質が低過ぎる 答える気すら起きん
498 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 08:17:12 ] 画像ファイルを手動で振り分ける簡単なソフトを書いた。 表示して、設定してあるフォルダに振り分けるだけの簡単なソフトだ。 とりあえず、予定の作業は出来るようになった。 だが、アニメーションGIFの再生がおかしいことに気づいた。 「透過色」というのが上手く扱えていないようだ。 Toolkit.getDefaultToolkit().getImage("hoge.gif");で入手したImageを JPanelから導出したクラスのpaint(Graphics g)でdrawImageにかけているだけなのだが、 何か足りないようだ。 足りない部分は簡単に補える? それとも、意外に面倒?
499 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 08:29:49 ] ペイントコンポーネンツ
500 名前:デフォルトの名無しさん [2008/02/19(火) 12:26:35 ] JSFの使い方を教えてください
501 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 13:44:08 ] >>500 ja.wikipedia.org/wiki/F-35_ (%E6%88%A6%E9%97%98%E6%A9%9F)
502 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 15:50:00 ] すみませんが、質問です。 クラス継承についてですが、親クラス、子クラスに共通して、同名のパブリッ クなインスタンス変数があり、その初期値は親と子で違うとします。 子クラスのインスタンスを作り、それを親クラスの型の変数に代入した場合、 その変数のインスタンス変数には、親の価が入っています。 public class Parent { public String hoge = "親"; } public class Child extends Parent { public String hoge = "子"; } Parent x = new Child(); System.out.println(x.hoge); // => 親 System.out.println((new Child()).hoge); // => 子 要するに、パブリックなインスタンス変数は、子によってオーバライドできな いのです。メソッドと違って。 どうしてこれは、こういう言語仕様になっているのでしょうか? メソッドのようにオーバライドできてもいいと私は思うのですが。
503 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:18:57 ] どうしてだろう・・・ Parent[] xArray = { new Child01(), new Child02(), new Child03()} for( Parent x : xArray ) System.out.println(x.hoge); みたいに同じ変数名にアクセスして子独自の値が取れたら便利そうだよね。
504 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:21:48 ] 実装は面倒だし(というか汚くなる)、効率の問題もある。 何より、変数をそんなに便利(に見える)にしてしまったら、 マルチスレッドとか大変になる。 オブジェクト指向の原則も何もあったもんじゃなくなるだろうが。
505 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:24:14 ] >>502 子の方に新しいhogeを定義しなきゃいいんじゃ? public class Parent { public String hoge = "親"; } public class Child extends Parent { public Child(){ hoge ="子"; } } Parent x = new Child(); System.out.println(x.hoge); // => 子
506 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:24:37 ] フィールドの隠蔽は普通に出来てるんだから面倒も効率も関係ないだろ。
507 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:25:24 ] Javaはフィールドは静的解決だからだろ 以上
508 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:28:02 ] >>502 言語規定には、「フィールドアクセスのために動的に表検索する必要がないので Javaは素直な実装でも効率が良い。遅延束縛と上書きはインスタンスメソッドが 使用されるときだけJavaで利用可能となる。」とある。 ttp://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#37055
509 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:29:50 ] 付いていけん 馬鹿にも分かるように誰か説明してくれよ
510 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:31:04 ] フィールドは静的に(つまりコンパイル時に)解決できるから効率いいよね、ってこと。 >>506 は何か勘違いしているから無視してOK
511 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:32:28 ] スレッドとか関係ねーじゃん。
512 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:34:33 ] フィールドアクセスにはsynchronizedで制限かけられないだろーが
513 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:36:19 ] つまり静的解決にすれば効率いいけど柔軟性に欠ける 動的にすれば柔軟性は上がるが実行時の効率が落ちる そこでバランス取ってメソッドだけ動的にしたってこと?
514 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:37:23 ] フィールドを動的解決するとどんないいことがあるのか例を教えてくれ
515 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:38:39 ] まともな人と、ちょっと鈍い人と、どうしようもない馬鹿がいるっぽい
516 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:38:57 ] >>514 答:全部メソッドでできるので不要
517 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:40:31 ] 何か主張があるようだが強烈な表現力のなさで何を言いたいのかさっぱりわからん。 「フィールドアクセス」 は行為であって主体じゃないから synchronized でモニタ取れるわけないだろ。 this かそれに順ずるインスタンスに synchronized かけろよ。
518 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:44:34 ] Hoge hoge = new Piyo(); synchronized (hoge) { hoge.x = ""; } いちいちクライアントサイドでこんなことしたく無いだろ?ってことが言いたかったんだが
519 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:47:53 ] >>518 それ hoge.x が Piyo のフィールドかスーパークラスのフィールドかは全く関係なくね? って事。 synchronized(hoge.x) とした時にどっちのモニター取ってるか分からなくなるというならともかく。
520 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:50:39 ] >>514 悪いことの方は、以下の場合コンパイルエラーを出さないといけなくなる。 class S { int x = 0; int z() { return x; } } class T extends S { String x = "1"; }
521 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:52:26 ] それは関係ないけど、フィールドアクセスが動的だと、 何も考えずに使ってしまうようなやつが絶対いるだろ? で、518のように書くやつなんているのか、と考えたときに、 いないだろうな、と。
522 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 16:58:11 ] フィールドがサブクラスから書き換えられないのって 単純に、フィールドはなるべく隠蔽されるべきって考え方からだと思ってたけど違うの?
523 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:00:49 ] 書き換えられるよ、finalとかprivateじゃなければ
524 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:02:02 ] 書き換えってオーバーライドのことね
525 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:04:11 ] 親のフィールドをそのまま継承してるだけと、オーバーライドするのと、どう違うのか説明すれ
526 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:10:17 ] >>522 それは新しい話題? カプセル化の話? 上書き(override, オーバーライド)は動的処理。 仮にフィールドの動的処理が可能なら、カプセル化は簡単に崩壊する。 // メソッドを上書きせずに、フィールドだけ上書きすればよい。
527 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:13:37 ] privateメソッドがオーバーライドできないのと同じように、 privateフィールドもオーバーライドできなければ、別にカプセル化は壊れない オーバーライドしたいのはprotectedとかpublicだけだろ? 隠蔽だかカプセル化だかとは別問題かと
528 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:24:14 ] 誰が正しいことを言ってるのかカオスだわ。と言いつつ私は526だったり。 言語規定を貼る作業に戻りますm(_ _)m
529 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:32:47 ] さっぱりわからん 誰かねんどろいどに例えてくれ
530 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 17:34:36 ] 状況が逆なら逆で適当に自分流の解釈始めるだけだから、 決めの問題的な話題なんてどうでも良いんじゃないのか。
531 名前:502 mailto:sage [2008/02/19(火) 18:38:57 ] どうやら収束したようなので、お礼を言わせていただきます。皆さん、ありが とうございました。 意外に思うかもしれませんが、自分は最初の質問以外、一件も書き込んでいま せん。自分の分からない点は全部、他の人がツッコんでくれました。このスレ は時々利用させていただいてますが、こんなのは初めてです。 レスの全部が理解できたとは言えませんが、大変勉強になりました。
532 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 19:06:45 ] >>486 Javaによるアルゴリズム事典 おすすめ
533 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:35:53 ] 開発ではeclipse使ってるんですが、 わざわざeclipse立ち上げるまでもないちょっとしたファイルを作ったり編集したりするためのエディタが欲しいです。 具体的には、html、java、jsp、ビルドxml、単なるテキスト文…こういったファイルを編集します。 メモ帳ではあまりにも使いづらいので他を探してるのですがオススメのものは無いでしょうか
534 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 21:53:56 ] 豊丸
535 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:00:01 ] サクラエディタ
536 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:14:30 ] >>533 eclipseを立ち上げっぱなしにしておけばいいのでは?
537 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:14:58 ] vim だな。
538 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:33:13 ] Mule。 馴れれば結構使える(と思う)けど馴れるまでが大変(だろうな)
539 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:34:12 ] eclipseのエディタ機能だけ使うことが出来る? わざわざプロジェクトとか作らないで
540 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:38:44 ] >>538 × Mule ○ Meadow
541 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:40:44 ] viとかvimって極度に嫌ってる人がいるよね 史上最悪のエディタだとか
542 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:42:03 ] んなこと言ってる時点で Sun の Java 使う資格はない。
543 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 22:42:55 ] 史上最悪のコードというのなら分かるが エディタとしては中毒性が高い。
544 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:08:38 ] viとvimって何が違うの?
545 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:13:26 ] 機能差が歴然。
546 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:22:55 ] eclipseの補完機能が優秀過ぎるから他のどのエディタ使っても物足りなく感じる
547 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:29:55 ] お尋ねします。 SortedSetを使い、ソートさせ、表示にはtoStingを使っているのですが、"[""]"の表示が出てしまいます。このカッコを表示させない方法はありますか? もしくは、違った方法でソートの結果を出力させられるのでしょうか? 教えていただける方、よろしくお願いします。
548 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:32:43 ] set.toString().substring(1, set.toString().length() - 1)
549 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:44:12 ] >>548 さん、早速ありがとうございます。 最後にもう1つだけ質問ですが、2つの結果を出す際に、1つ目の結果と2つ目の結果の間の","を消す方法はあるのでしょうか? たびたび申し訳ありませんがよろしくお願いします。
550 名前:デフォルトの名無しさん mailto:sage [2008/02/19(火) 23:45:14 ] set.toString().substring(1, set.toString().length() - 1).replaceFirst(",", "")
551 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 01:52:59 ] >>539 Remote System Explorerプラグイン入れれば、ローカルや、Telnet、FTP、SSH経由で ファイルシステムにアクセスできる。 >>547 toStringはデバッグ出力などで使うものであって、 特定の書式にしたいのなら、自力で出力すべき。
552 名前:539 mailto:sage [2008/02/20(水) 12:32:29 ] >>551 ありがとうございます!まさに探してた機能でした。
553 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 13:12:04 ] tomcatの起動について質問です。 現在linuxにtomcatを入れて開発を行っているのですが自動起動に失敗してしまいます。OS起動後に直接起動スクリプトを実行すると正常に起動します。 環境とバージョン CentOS5.1 32bit/jdk6/tomcat6 ログには以下のような出力があります。 文字制限に引っかかるため一部省略します。 -- 2008/02/20 11:47:00 org.apache.catalina.connector.Connector pause 致命的: プロトコルハンドラの一時停止に失敗しました java.net.SocketException: Network is unreachable at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at java.net.Socket.connect(Socket.java:469) at java.net.Socket.<init>(Socket.java:366) at java.net.Socket.<init>(Socket.java:209) at org.apache.jk.common.ChannelSocket.unLockSocket(ChannelSocket.java:486) at org.apache.jk.common.ChannelSocket.pause(ChannelSocket.java:283) at org.apache.jk.server.JkMain.pause(JkMain.java:681) at org.apache.jk.server.JkCoyoteHandler.pause(JkCoyoteHandler.java:153) 2008/02/20 11:47:01 org.apache.catalina.core.StandardService stop 情報: サービス Catalina を停止します 以下試したこと。 ・自動起動を一番最後に持って行った(rc3.d/S99tomcat) ・F/Wの自動起動を停止 どなたか解決策をご存じの方がいたら教えてください。
554 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 13:14:38 ] eth0 起動してんのかよ。
555 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 13:31:36 ] >>554 eth0にグローバル、eth1にローカルを設定しています。 また、iptablesにてグローバルは25番のみIN/OUTを許可、ローカルは全て許可に設定しています。 iptablesの自動起動も止めてみたのですが、解決しませんでした。
556 名前:デフォルトの名無しさん [2008/02/20(水) 19:00:05 ] アプレットに関する質問です。 アプレットを使って画像を表示させたいのですが、 アプレットビューアを起動するコマンドを打つと上手く表示されるのですが html形式のファイルを直接開くと画像が切れて表示されてしまいます。 htmlファイルを直接開いたときに画像が切れないように表示させるには どうすればいいでしょうか? よろしくお願いします。
557 名前:553 mailto:sage [2008/02/20(水) 19:11:40 ] 自己解決しました。 環境変数がちゃんと読めていなかったようです。
558 名前:デフォルトの名無しさん [2008/02/20(水) 20:17:04 ] マイナスをプラスに反転させたいのですがどのように書けばいいのでしょう? 例えば-5を5にしたいです。 どなたかおたすけを・・・
559 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 20:18:13 ] x = -x;
560 名前:デフォルトの名無しさん [2008/02/20(水) 21:17:13 ] Javaマルチスレッドで明示的にLockを書ける方法ってあります? lock(); func(); unlock(); みたいな
561 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:44:07 ] どうとでも書ける
562 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:45:15 ] とりあえず計数セマフォ java.sun.com/javase/ja/6/docs/ja/api/java/util/concurrent/Semaphore.html
563 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 21:49:58 ] >>592 それだ。サンクス
564 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:17:07 ] >>324 Tが一つのクラスだけだったらスーパークラスは一つだけですよ。 スーパーインターフェースなら妥当でしょうか
565 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:42:05 ] >>564 superclassとdirect superclassの違いも知らないのか?
566 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 22:43:08 ] direct superclass と言いたいだけとちがうか。
567 名前:556 [2008/02/20(水) 23:10:18 ] もう一度質問してもいいでしょうか(質問文が悪かった??) アプレットを作るにはxxx.javaとxxx.htmlという2つのファイルを作りますよね xxx.javaをコンパイルしてxxx.htmlというファイルに対してAppletviewerの コマンドを実行してやるとその際に表示されるアプレットは画像が切れずに キレイに表示されるのですが、xxx.htmlというファイルをクリックして 直接表示しようとすると画像が切れてしまいます。 画像が切れないように表示するためにはどうすればいいのでしょうか? よろしくお願いします。
568 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 23:13:13 ] ソース
569 名前:デフォルトの名無しさん mailto:sage [2008/02/20(水) 23:13:40 ] xxx.htmlでアプレット用に指定している幅と高さが画像を表示するには小さかったってオチ?
570 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:19:41 ] if(1<=x<=18 & y==0){〜処理 ↑見たいな感じで"<="を使いたいんですけどどうしたらいいですか?
571 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:32:13 ] 1 <= x && x <= 18
572 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 00:32:32 ] 日本語にすると xは1〜18のいずれかで、かつ yは0 ってこと? if( (x >= 1 && x <= 18) && y==0 )
573 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 01:36:17 ] >>569 ああ画像が切れるってそういう意味なのか。
574 名前:デフォルトの名無しさん [2008/02/21(木) 10:26:40 ] 質問です。 HashMap<Integer,String>[] map = new HashMap<Integer,String>[3]; という配列を作ろうとしたときに、コンパイルしようとしたら 汎用配列を作成します。 というエラーが出てしまいます。調べてみてもさっぱり理解できません。 よろしければご教授お願いします。
575 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 10:39:29 ] >>574 ジェネリクスはコンパイル時のチェック機能。 コンパイルした後は HashMap という型情報しか存在しない。 よって、その型の配列が作成される。
576 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 11:48:49 ] つ ArrayList<HasMap<Integer, String>>
577 名前:デフォルトの名無しさん [2008/02/21(木) 15:47:43 ] tomcat5のJDBCレルム機構に対して、サーブレット内からプログラマが任意のタイミングでユーザ認証を済ませる方法を探しています。 contextA/auth/AuthServlet contextA/noauth/NoAuthServlet web.xmlで/auth/*を認証ゾーンとして指定。 NoAuthServlet内から、プログラマーが自前でユーザIDとパスワードを使って/auth/*ゾーンの認証を済ませたいのですが どうすればできるでしょうか? 認証を済ませる=HttpServletRequest#getUserPrincipal() != nullという意味です。
578 名前:デフォルトの名無しさん [2008/02/21(木) 16:00:26 ] 質問です。 初心者丸出しの質問ですみません。 同じパッケージ内のクラスを使うにはどうしたらいいのでしょうか? よろしければご教授お願いします。
579 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 16:15:59 ] >>578 それらのパッケージ名とクラス名は何でしょう? それと、何を何処までやって出来なかったのか。
580 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 16:37:00 ] >>578 ところでマルチポストって知ってる?
581 名前:デフォルトの名無しさん [2008/02/21(木) 17:15:41 ] 質問です。 正三角形の中点を中心に1回転させるにはどうすればいいですか? マルチスレッドとアフィン変換を利用して回転させたいんですが、角度を細くするほど誤差?で変形してしまいます。今のとこ30゜ぐらいが限界です! 下手文ですみません
582 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 18:03:50 ] 独学でjavaを勉強してるのですが、データベースとの連携の手段が色々あり過ぎてどれを使えばいいのか分かりません。 JDBC、EJB、Hibernate、これらはどういう関係にあるんでしょうか? 例えばEJBを実装すればJDBCやHibernateは要らないのでしょうか? 自分が調べた限りでは、 実際の開発ではEJBが普通だが、小規模な開発ではHibernateを使い、もっと単純なものならJDBCで済ます って印象なんですがこんな感じで当たってますか?
583 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 18:07:28 ] 当たってね
584 名前:デフォルトの名無しさん [2008/02/21(木) 18:26:46 ] abstract class Test { abstract void calc(int i); void printNum(int i) { System.out.println(i); } } class ExTest extends Test { void calc(int i) { int j=i*i; printNum(j); class ExTest2 extends Test { void calc(int i) { int j=i+i; printNum(j); public class sample46x { public static void main(String[] args) { int i =5; int j; Test[] ex_test = new Test[2]; ex_test[0]=new ExTest(); ex_test[1]=new ExTest2(); for(j=0; j<2; j++); ex_test[j].calc(i); これなんですけどコンパイルはできるんですけど、実行するとこんなの出ます。 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at sample46x.main(sample46x.java:28) どこが原因なんでしょうか?
585 名前:デフォルトの名無しさん [2008/02/21(木) 18:36:37 ] }は省略してあります
586 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 18:38:24 ] >>584 >for(j=0; j<2; j++); これだな
587 名前:デフォルトの名無しさん [2008/02/21(木) 18:51:20 ] ありがと!気づかなかった!集中せねば!!! 渇っ!
588 名前:デフォルトの名無しさん [2008/02/21(木) 19:23:00 ] EJBから同じホスト内のbatをたたきたいんですが、 どういう方法があるでしょうか。
589 名前:デフォルトの名無しさん [2008/02/21(木) 19:24:44 ] RMIの使い方について詳しく教えてください
590 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 19:30:03 ] >>588 java.lang.Runtime#exec >>589 java.sun.com/javase/ja/6/docs/ja/platform/rmi/spec/rmiTOC.html
591 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 19:33:26 ] >>590 Runtime#execはEJBからは使えないはず
592 名前:デフォルトの名無しさん [2008/02/21(木) 19:40:43 ] >591 なんで?使えるよ、ふつーに
593 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 20:52:38 ] >>582 DB関連のAPIが林立しているのは、APIの進化変遷の跡。 最初から使い分けを意図して作られた物じゃない。 初期のEJBは詰め込みすぎで設計がクソで生産性が低いので、 小さくない規模の開発でも、Hibernateなどの他のマッピングフレームワークは使ってたよ。
594 名前:デフォルトの名無しさん [2008/02/21(木) 21:38:57 ] 質問させてください。 FileInputStream fis = new FileInputStream(file); FileChannel srcChannel = fis.getChannel(); // 一つのデータは 2 byte (16 bit) ByteBuffer buffer = ByteBuffer.allocateDirect(length * 16); buffer.order(ByteOrder.LITTLE_ENDIAN); // 読み込み srcChannel.read(buffer); srcChannel.close(); fis.close(); buffer.clear(); int ch1, ch2; for(int i = 0; i < 1000; i++){ ch1 = buffer.get() & 0xff; ch2 = buffer.get() & 0xff; data[i] = (ch1 | (ch2 << 8)) & 0xffff; } buffer.clear(); int[] data という配列に バイナリファイル中の符号なし short を読み込みたいのですが、 getShort() をつかったら、符号ありで読まれてしまったので、上のようなコード でやっています。 処理が遅い(無駄計算が多い)気がするのですが、もっと良い方法はありますでしょうか
595 名前:デフォルトの名無しさん [2008/02/21(木) 22:10:42 ] "แอมเพอร์แซนด์" 上記のような文字列が部分的に含まれているファイルを SQLに入れる作業をしているのですが、 これを読み込むとunrecognized tokenエラーが出ます このような文字の扱いはどのようにすればよいでしょうか
596 名前:デフォルトの名無しさん mailto:sage [2008/02/21(木) 22:12:11 ] >>594 data[i] = buffer.getShort() & 0xffff でダメかね?