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 あたりで。
596 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:39:19 ] >>595 ですよね。 getFormat()とtoString()の間を結ぶドットの意味が分からないというのが問題点です。 どう見ても勉強不足です。 本当にアリガトウございました。
597 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:43:34 ] >>582-590 www.syuhitu.org/other/javasvc.html
598 名前:デフォルトの名無しさん [2007/06/17(日) 20:48:13 ] 人にjarファイルを配布する際、 swtって外部DLLとか持ってこないといけないっぽいけど、 swingだと何も用意しなくていいの?
599 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:51:54 ] >>598 SWTも月末に出るver3.3だと外部dllは必要ない。
600 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:54:36 ] >>596 channnel.getFormat().toString()は、 Object obj = channnel.getFormat(); obj.toString(); とおんなじ
601 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 20:59:31 ] >>600 今度こそ本気で分かりました。 toStringの意味が分かってなかったのが原因だったようです。 ご丁寧にも返信くれた方ありがとうございました!
602 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 21:47:53 ] >>586 Microsoft Java Language Conversion AssistantでC#に変換しちゃえ
603 名前:598 mailto:sage [2007/06/17(日) 23:05:40 ] >598 うわマジサンクス 諦めてswingで画面作り直してたけど、SWTでもなしでいけるようになるのか…
604 名前:デフォルトの名無しさん mailto:sage [2007/06/17(日) 23:59:31 ] informaってインストールはどうすればいいのでしょうか? サイトからダウンロードはしたのですが……
605 名前:デフォルトの名無しさん [2007/06/18(月) 00:49:10 ] packageとimportの意味が調べてもよく分かりません。教えてください。
606 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 01:50:43 ] 調べて分からない人間に教えて分かるとは思えない
607 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 03:14:11 ] public class GuessServlet extends HttpServlet{ public void doGet( HttpServletRequest request, HttpServletResponse response) throws IOException,ServletException{ response.setContentType("text/plain; charset=Windows-31J"); これのresponse.setContentTypeというのは、サーバーからクライアントに送られる文字の エンコードにだけ関与しているということでしょうか?
608 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 04:17:22 ] 何でそう思ったのか書け
609 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 08:07:43 ] >605 簡単に説明。extendsは別のクラスにあるメソッドを使うための儀式みたいな物。 packageはプロジェクトが大規模になるとファイルが散乱して美しくない&再利用しにくい ということでフォルダーを作ってその中にファイルを入れてしまおうというシステム
610 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 08:10:19 ] みすった^^;extendsじゃなくてimportな。
611 名前:577 mailto:sage [2007/06/18(月) 10:15:30 ] >>581 ありがとうございます でも自分にはまだ難しくて解りません(´・ω・`)
612 名前:デフォルトの名無しさん [2007/06/18(月) 19:37:02 ] swingで自前でダイアログ作るのってどうすればいいのでしょうか・・・? dialog.show();を使ったら推奨されないとか言われてeclipseにおこられてしまいました・・・。
613 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 19:50:11 ] >>612 java.sun.com/javase/ja/6/docs/ja/api/java/awt/Window.html#show () > 推奨されていません。 JDK version 1.5 以降は、 setVisible(boolean) に置き換えられました。
614 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 20:48:27 ] >>575 うちではできてる
615 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:04:24 ] RMIのリモートオブジェクトなのですが、 ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/rmi/spec/rmi-arch3.html のように、リモートオブジェクトのスレッドは保証されていないとあります。 これを固定する方法はあるのでしょうか? サーブレットのシングルスレッドモデルのようなイメージです。 性能面等はとりあえず差し置いて構わないのですが。 カスタムソケットファクトリあたりがそうなのかなあと思ったのですが 使い方がよく分かりませんでした…
616 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 22:10:50 ] >>615 RMIは単なる中継に使って、別プロセスで本体を上げていてはどうか? RMIのシグネチャの中にスレッドを特定するキーを持たせておいて RMIの機能は単なるディスパッチャ。 やりたいことが何かわからんのでこれくらいしか・・・
617 名前:デフォルトの名無しさん mailto:sage [2007/06/18(月) 23:10:24 ] >>615 まんま、簡易Servletでも作成してしまえばいいと思われ。 イベントのディスパッチスレッドがリクエスト毎にスレッド立ち上げればいいでしょう。
618 名前:デフォルトの名無しさん [2007/06/18(月) 23:51:43 ] ファンクションキーでタブやフレームをきりかえれるような処理ってできますか? F2を押したら現在のフレームを閉じて新しいフレームを開く みたいな
619 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 00:11:51 ] >>618 ヒント: java.awt.Event
620 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:03:59 ] Wikipediaを読んでいたら「Javaでは意図せずオーバーライドしてしまう問題がある」というような記事が 書かれていたんですが、この問題はいつごろから指摘されたものなんでしょう? 言語設計時にすでにわかっていたんでしょうか?それとも後から見つかったものでしょうか?
621 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:14:12 ] >>620 意図しないオーバーライドはあまり問題になることはない。 問題になるのはオーバーライドしたつもりがしてなかったケース。 この対策としてjava 5から@override が追加になった。
622 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:22:14 ] >>621 実際はそうなんですか。 「してるつもりがしてなかった」ってのは気をつければ防げますけど 「するつもりがないのにしていた」のはいくら気をつけても防げないので問題が大きそうに感じたんですが。 てことは設計時に気づいてたけど問題が小さいので気にしなかったって感じなんですかね?
623 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:26:10 ] Javaに限ったことではないんじゃねーか? オーバーライドをサポートするすべての言語で起こりうる問題だとおもわれ。
624 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:26:33 ] >>620 意図しないオーバーライドが問題になるケースって具体的にどんなん? オーバーライド失敗には、メソッド名のスペルミスとかあるけど。
625 名前:620 mailto:sage [2007/06/19(火) 01:41:47 ] >>623 例えばC#だとoverrideの指定が必須らしいんでそういうのは起こらないそうです >>624 本来呼ばれるはずのないタイミングで呼ばれる可能性があるのでは?
626 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:53:19 ] 質問。 tとhに値を入れてその計算の結果に基づいて、いくつかの言葉から 1つを表示するには(例えば、暑い、寒い)どうすればいいですか? 今は結果以外のも表示されてしまっています
627 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 01:58:43 ] >>626 もう少し常人にわかるように質問してくれ
628 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:06:38 ] 例えばt=15 h=12 t+h<25なら 暑い t+h<10なら 寒い 今回は27なので暑い と表示させたいのに寒いも表示されてしまう
629 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:14:53 ] 暑い=0、寒い=1なら対象の数を2で割れば余りが0か1になるからそれで表示できる。 こんな感じ?
630 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:21:22 ] 計算結果を使って表記したいんですよ
631 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:26:47 ] >>630 計算結果ってどういう根拠の計算をするんだよ。適当でいいのかw (t + h) % 2 とか
632 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:33:29 ] 例えば tが湿度 kが温度 不快指数を出す 結果から 暑いとか寒いとか表示させる
633 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:35:47 ] じゃそうすればいいじゃん。 わからんから、>>628 の例で行けば 例えばt=15 h=12 t+h<10なら 寒い そうでないなら 暑い
634 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:39:27 ] 暑いとか表示させたい種類が6つ
635 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:48:30 ] なんとなくわかった。 else if の使い方がわからなかったって話か。 中学生は早く寝なさいね www.hellohiro.com/basic/ifelse.htm
636 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 02:50:11 ] else ifって言えばよかったんだ。失敗した 一応言うけど中学生じゃないよ
637 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 03:59:45 ] >>625 >本来呼ばれるはずのないタイミングで呼ばれる可能性があるのでは? それオーバーロードじゃね?
638 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 04:33:11 ] いやオーバーライドでしょ 意図せず呼ばれるっていう例じゃないけどこういう時問題になりそう Hogeを継承したSpecialHogeがあってSpecialHogeのほうに状態の正当性を表明する AssertValidメソッドがあったとする それとは無関係にあとからHogeのほうにAssertValidメソッドが追加されたとする するとSpecialHogeのAssertValidはあとから追加されたHogeの同名メソッドをオーバーライドしてしまって HogeのAssertValidが呼ばれなくなってしまう みたいな。
639 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 07:34:29 ] スーパークラスのメソッドも確認せずに継承して意図しないオーバーライドってどんだけ間抜けな奴なんだ
640 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 08:06:04 ] >>625 いや、C# のoverride指定が必須で問題が起こらないってんなら、 Javaでもオーバーライド禁止したいなら メソッドに final指定しときゃ良いんだから問題は起こらないと言える。
641 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 08:11:02 ] >>639 スーパークラス側で後からメソッド追加したらたまたまサブクラス側に同じシグネーチャの メソッドが既にあったっつーことでわ?
642 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 08:11:40 ] >>640 釣りか? オーバーライドを禁止してどうする。
643 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 08:16:27 ] >>642 オーバーライドを禁止すりゃ「意図しないオーバーライド」は起きない。至極当然の話。
644 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 08:19:01 ] クラス A でオーバーライドするためには final を削除する必要がある。 しかし、その状態ではクラス B でその関数を意図せずにオーバーライドする可能性がある。
645 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 08:22:26 ] >>644 上段は「オーバーライドされたくないメソッド」を「意図してオーバーライドしたい」ケースだから別の問題。 下段は意味がわからん。
646 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 08:31:45 ] >>638 とはいっても現実にそーゆー問題が多発しているかというと??? >>624 が言うようなスペルミスはかなり多発してるけど。
647 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 08:45:47 ] >>645 「意図してオーバーライドしたい」メソッドは final にできないが、 そのメソッドはいくらでも「意図しないオーバーライド」が出来てしまう、ということだ。
648 名前:デフォルトの名無しさん [2007/06/19(火) 08:51:54 ] >>647 finalがつかないなら、親クラスはオーバーライドされても良いと意思表示してる。 非finalなら子クラスが知らないうちに「意図しないオーバーライド」する可能性はあるものの、 オーバーライドしたら、いまどきのIDEなら表示してくれるので危険性はかなり低い。
649 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 09:01:15 ] >>638 でもそれ実際には問題になりにくいよな。 HogeのAssertValidが状態の正当性を表明するものなら 状態の正当性を表明するSpecialHogeのAssertValidに上書きさたからといって 問題になるのは考えにくいわけで。 状態の正当性を表明以外でAssertValidって名前にするのも考えにくいし……
650 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 09:29:23 ] C#の場合は非virtualのメソッドや隠蔽を盛り込んでしまったんで、 あの辺を厳密にせざるを得なかったのだと思う。 javaの場合は現状のままで混乱もない。単なる言語の設計思想の差だ。
651 名前:616 mailto:sage [2007/06/19(火) 10:21:50 ] >>616-617 遅くなりましたがありがとうございます。 自分も大体同じ案を考えたのですがそれが普通か分からず、 RMIオブジェクトの生成あたりをカスタマイズする方法が もしかしたらあるのかも、と思い質問させて頂いていました。 まずはその線で行ってみます。
652 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 10:29:11 ] >>648 override があればその危険性を排除できる。 final によるコントロールは override の代替にはならんよ、ということ。
653 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 10:55:31 ] 素直に言語仕様が甘かったと認めればいいのに C#よりJavaの方が先発だから仕方ない
654 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 11:04:42 ] 甘かったというよりは後発がより優れているのは当然。 後発で先発と同じ失敗をしたらたたかれるだろw
655 名前:デフォルトの名無しさん mailto:sage [2007/06/19(火) 11:21:57 ] C# に typedef がないのは(ry
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です。回答ありがとうございました。 ホームページを見たのですが、勉強不足で理解できませんでした。 いろいろ自分で調べてわかるようにしたいと思います。