1 名前:デフォルトの名無しさん mailto:sage [2008/08/10(日) 18:21:51 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド116【歓迎】 pc11.2ch.net/test/read.cgi/tech/1213347130/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
511 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 10:59:22 ] >>510 スレタイ読める? ていうかお前のレスの方がスレ違いなんだよカス
512 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 11:08:32 ] >>511 こんなバカが回答ほしがってるのかw 寝言は>>1 ぐらい読んでから言えクズw
513 名前:デフォルトの名無しさん [2008/08/22(金) 11:14:33 ] いろんなスレで暗号・パスワード聞いている奴いるからそいつだろ。 こういうカスが作ったゴミ暗号なんか、どうせ作ってもすぐ解読されるからほっとけ。
514 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 11:15:47 ] >507 ランダムで生成し、生成した文字列に対して文字種ごとに存在をチェックすればOK 全種類が入ってなければ再生成。 この手の乱数による抽出では出現率の偏りに注意しましょう。 まあ、全種類が必ず入ってる時点である種の偏りがあるわけだが...
515 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 11:16:17 ] >>511 こういう煽りたいだけの奴は放置しろよ
516 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 14:23:11 ] すごく単純な質問ですみません コマンドプロンプトでひらがな入力をするには、どうすればいいのでしょうか
517 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 14:29:07 ] スレ違い
518 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 14:29:11 ] すみません、自己解決しましたOrz 昔は、こうやって変換してたんですね
519 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:52:40 ] そういえばいつからだろうか日本語入力切り替えにalt押さなくなったのは・・・。
520 名前:デフォルトの名無しさん [2008/08/22(金) 17:55:52 ] すみません。相談です。 僕は、人見知りの臆病者なんですが、性欲は人一倍あります。 いつも暇があるとエロいことばかり考えてしまいます。見てはいけないと思いつつも エロサイトをしょっちゅうのぞいてしまいます。余計、エロくなります。。 職場でも町でも、女の人と顔があうと絶対エロいにやけ顔になってしまいます。 職場の人から「うわ〜、○○さん、いやらしい顔してる〜」とかいわれて、しょっちゅう胃がいたくなります。 まじめな顔をしようと思ってもにやけ顔になってしまいます。。 ほんとに苦痛でしょうがないです。どうしたらいいでしょうか?
521 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:57:20 ] >>520 Javaをやればいいと思う。
522 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 17:57:29 ] switchステートメント使ったプログラム見たとき便利だなぁと思ったんですが 講義中に「これあんまり使わない」みたいな事を言われました。 その先生だけかもしれませんが、なぜでしょうか? 構文が気持ち悪いとか、if使えばいいから とかしか思いつかないんですが。 まさか「これ(お前ら程度のレベルでは)あんまり使わない」って事だったんですかね。
523 名前:520 [2008/08/22(金) 17:59:23 ] いっそのこと女性がこの世からいなくなればいいとさえ思ってしまいます。
524 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 18:03:25 ] はいはい
525 名前:520 [2008/08/22(金) 18:04:15 ] 皆さんは、エロイ事とか想像しないんですか?
526 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 18:04:21 ] >>522 オブジェクト指向を極めればswitchなど使わなくなる
527 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 18:08:06 ] >>522 一般論としては「使わないほうがいい」ということはない。 その言葉の前にいろいろ前提がなかったかな? クラスの説明中ならswitchより多態(ポリモーフィズム)をということかもしれない。
528 名前:520 [2008/08/22(金) 18:08:27 ] このままでは、セクハラの指導をうけなければなりません。それこそ一社中の恥になってしまいます。 また、どうしても見てしまうので、指導を受けたからといって治るものでもありません。 どうしたらいいんでしょうか?
529 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 18:38:24 ] >>522 その先生の意図はわからんけど、switchが適切な場面で必ずswitchを使 うようにしても、ifに比べたら頻度はものすごく少ないと思う。
530 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 19:46:31 ] >>528 悩んだらソープへ行け!って偉い人が言ってた。 >>522 絶対使うなってわけじゃないが、今後分岐が増えていく予定がすこしでもあるなら switch 以外の方法を使ったほうが保守性が高いので。
531 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:04:55 ] えー、switchの方が保守性は高そうだけどな。 あるCの入門書で、continueの説明に「めったに使われない」と書いてあって、 釈然としなかった経験がある。 初学者に教える時に、教師個人の余計な感想は邪魔かも。
532 名前:522 mailto:sage [2008/08/22(金) 20:14:56 ] なるほど。もしかするとその先生の主観が入った意見だったのかもしれません。 また次の講義で質問してみますね。 >>528 朝起きていっぺんぬいてから出勤するっていう人の書き込みをみたことがあります。 その人によると、明鏡止水だそうです。
533 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:18:31 ] >>522 古いバージョンだと、switchの判定式に整数しか使えなかったから その名残では
534 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 20:54:47 ] >>533 いつのまにか整数以外が 使えるようになったのかと思っちゃったじゃないか。 java.sun.com/docs/books/jls/third_edition/html/statements.html#14.11 ひょっとしてenumのことか?
535 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:08:01 ] Stringのswitchは7で導入予定なんだよな? ほしいー
536 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:34:42 ] >>531 switchを使ってる場合、例えば、 switch (obj.type) { case A: 処理a(obj); break; case B: 処理b(obj); break; } こうなるが、typeの種類が増えると、obj.typeで判定している部分をかたっぱしから直してまわらんといかん。 typeで分類する代わりにクラスで分類し、各処理をオーバーライドしたメソッドで定義すると、そもそもswitch等で分岐する必要がなくなる。 obj.処理(); だけでおk。種類が増えたときも、呼び出し側はほとんど変更する必要がない。 オブジェクト指向言語の最大の利点は、「お前は誰だ」と確認するためのifやswitchを書かなくて済むようになること。
537 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:35:29 ] Stringのswitchが有効なケースってあんまりなくね? enum使えば解決じゃない?
538 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 21:48:55 ] ジャバザハット
539 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:08:02 ] enum 導入のおかげでたまにはswitchを思い出すようになりました
540 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:16:19 ] 今Windows上で二つのシステムがあって、 C++クライアント −DCOM→ MTS(スレッド管理・トランザクション管理) → SQLServer or MSMQ と C#クライアント -.NETリモーティング→ 独自サーバ → SQLServer or MSMQ というシステムがあるのですが、これをクライアント以外Javaに置き換えたいです。 どのようなアプリケーションが代用になるのでしょうか?また、クライアントだけ Windows上のC++ or C#とした場合、サーバのJavaとの接続はできるのでしょうか?
541 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:25:09 ] String の switch は main() に渡されたオプションの解析とかに使えそう
542 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 22:45:34 ] そうそう。そんな感じで使いたい。 それってやるとしたらequalsの展開になるのかな? それとも個数によっちゃTreeMapかなんかで実装するのかな わくわくだわー
543 名前:481 [2008/08/22(金) 23:05:51 ] 返事遅くなってすみません。 >>483 >>486 >>489 みなさん、ありがとうございました。
544 名前:デフォルトの名無しさん [2008/08/22(金) 23:24:38 ] 皆さんに質問です。 ここにいらっしゃるのは殆どがJAVAをある程度学ばれている方だと思いますが、 これまで培ってきたJAVA関連の知識や技術が3日後には全て消え失せるとします。 もう一度初めから学び直さなければなりません。 あなたに与えられた期間は半年です。 半年経てばJAVAプログラマの新入社員として働いていかなければなりません。 ただ、今のあなたが3日後のあなたに一つだけ残せるものがあります。 それは今のあなたの考えるJAVA学習の方法論です。 どう勉強するべきかどの本で勉強するべきか・・・。 その半年間の予定表を立てて下さい。 では私はもうこれで寝ますので3日後くらいまでにはご回答をお願いします。
545 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:31:25 ] 言語仕様を確認して、ライブラリリファレンスを確認して、実際にモノを作ってみる 半年もあればだいたい大丈夫だろ やる気さえあれば ← これ1番重要
546 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:45:57 ] Javaなんて簡単すぎて半年もいらん
547 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:50:22 ] オブジェクト指向の方法論とかの知識も 全く無い状況からだとすれば、仕様を覚えてから使えるようになるまでには ある程度かかるだろうとは思う
548 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:50:31 ] 簡単すぎて半年もいらん(笑)
549 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 23:52:33 ] >>544 まあ、数年放置してるといつのまにかバージョンが上がったり、 使ってたメソッドが推奨されないメソッドに認定されてたりするから、 似たような状況はたまにあるね。 勉強?要らない要らない。 せっかく忘れたんだから他の言語勉強する。
550 名前:デフォルトの名無しさん [2008/08/23(土) 01:11:44 ] 今日は大漁だwww(でも雑魚ばっかw)
551 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 01:40:12 ] >>544 Java関連の知識って、どこまでよ? フレームワーク?イディオム?ライブラリの知識?言語仕様? それともオブジェクト指向って何?って所まで消えるのか? 変数って何ですか?、とか、インターネットってどういう仕組み?とか コンピュータって何ですか?まで行っちゃうとか そこが分からないと答えようがない
552 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 01:53:34 ] コンピュータって何ですか?まで行っちゃったら 多分この業界で仕事しようと思わないとおもわれ
553 名前:デフォルトの名無しさん [2008/08/23(土) 03:36:09 ] 544は 魔法使い
554 名前:540 mailto:sage [2008/08/23(土) 05:58:25 ] すみません。 ここには下流工程の人しかいないですよね 板違いでした
555 名前:デフォルトの名無しさん [2008/08/23(土) 07:15:48 ] はいそうです。どうせどこで聞いても答えてもらえないでしょうが もうここには決して来ないで下さい。
556 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 07:24:31 ] >>540 「付けたし付けたしで今まで頑張ってました」って感じだなw
557 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 07:29:59 ] スルー白
558 名前:540 mailto:sage [2008/08/23(土) 07:31:49 ] 答えられないなら黙ってろって 数十万の顧客抱えてるから今すぐJavaに移行なんて無理だから、試してみただけだしw
559 名前:デフォルトの名無しさん [2008/08/23(土) 07:39:53 ] SAXを用いてXML文書から文字列を取得する勉強をしています。 イベントハンドラで "<" を含む文字列を取得しようとしているのですが "<" がタグ開始の文字列として認識されてしまいエラーが発生してしまいます。 どなたか解決法をご存知でしたらご教授下さい。お願いします。
560 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 07:42:38 ] >>558 では、顧問料いくら出せるんですか?
561 名前:デフォルトの名無しさん [2008/08/23(土) 07:44:48 ] >>558 もう君の自慢話しはいいからwwさっさと消えてくれないか?
562 名前:デフォルトの名無しさん [2008/08/23(土) 07:49:11 ] >Windows上のC++ or C#とした場合、サーバのJavaとの接続はできるのでしょうか? 質問が抽象的すぎてイマイチ分かり辛いんですけど、WindowsならMS製品で固めた方がいいですよ。
563 名前:デフォルトの名無しさん [2008/08/23(土) 08:05:37 ] >>540みたいな生意気な奴は相手にすんなよ。その辺の雑魚と大して変わらないからw
564 名前:デフォルトの名無しさん [2008/08/23(土) 08:19:13 ] 540、血圧上がってますよ? w書いててわらってもうたw
565 名前:564 [2008/08/23(土) 08:21:57 ] >>540 みてみたけどたいしたことじゃないなw HTTPも知らないのか540はw
566 名前:540 mailto:sage [2008/08/23(土) 08:25:46 ] う〜ん、まじめにmixiとかAmazonとかじゃなくて、数秒遅れたら致命傷になるような システム作ってる奴いるか?今のシステムに不満はないんだけど、OSがWindowsって ところだけは、顧客は拒否反応示すからさ。 ロジックは簡単だから、Javaはよくしらないけど、定番のアプリケーションサーバ とデータベースとMQでシステムをリプレイス出来たら、そういう顧客にも有効かと 思ってさ。
567 名前:540 mailto:sage [2008/08/23(土) 08:26:44 ] >>565 Webサービスだよね?あれだと遅すぎて駄目なんだわ
568 名前:デフォルトの名無しさん [2008/08/23(土) 08:27:29 ] 彼は病院にお帰りなったそうですOrrz
569 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 08:41:53 ] >>566 それならwindows一筋で頑張ってください
570 名前:970 [2008/08/23(土) 08:43:59 ] >>567 そしたらプロトコルなに使ってるの?
571 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 08:48:27 ] パフォーマンスを重視したいのか改造コストを低く抑えたいのかわからんな。 クライアントはどのくらいいじっていいのよ? いっそDCOM−CORBAブリッジでも使うかい。
572 名前:540 mailto:sage [2008/08/23(土) 08:51:26 ] >>570 登りは.NetRemotingで下り(配信)はTCP/UDP直だよ 昔はDCOMだったけど それにしても、Webサービスは遅すぎる。発注だそうと思ったときにはもう 相場変わってるっちゅうの LANで計測しても、独自プロトコルの10倍以上通信してるからな
573 名前:970 [2008/08/23(土) 08:52:25 ] ちょっと見てみたけどクライアントとjavaで通信できそうな気が。
574 名前:デフォルトの名無しさん [2008/08/23(土) 08:53:01 ] 全部TCP/UDPにしたらいいと思うよ。
575 名前:970 [2008/08/23(土) 08:54:29 ] 独自プロトコルって、危ない気がするけどいいの? なんか大切なデータ送ってそうだけど。
576 名前:540 mailto:sage [2008/08/23(土) 08:54:43 ] >>571 ありがとうございます。 開発コストは考えてません。営業がそれなりの金額で売ってきてくれるので。 重視してるのは、クライアント(C#)-サーバ(Javaサーブレット)で今までの パフォーマンスが出るのかですね。 で、それにともなってJavaの混沌としているアプリケーションサーバとデータベース とその他諸々からどれを選択していいのかと
577 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:02:00 ] クライアントサーバー間はLAN/WANの類なのかインターネットなのか、 インターネットだとCOM+やCORBAやRMI(IIOP)はプロトコル的にきつい気もするが。
578 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:23:32 ] HTTPが遅いってどゆこと、通信って一往復だよね? 毎回コネクション張るのが問題?
579 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:27:17 ] >>544 マ板でやれ
580 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 09:55:16 ] そらHTTP自体がオーバーヘッド比較的でかいし、 その上でWebサービスとか使えば遅いわな。
581 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:13:10 ] >>580 うーん。わかんね。ヘッダーとかがあるからってこと? 自分でTCPで通信するのとそんなに大差あるのかな? HTTPサーバーが遅いってこと? それなら自分で作ったHTTPサーバーが例えばIISのパフォーマンスを 超えられるの?
582 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:19:30 ] >>559 そもそもXML文書のタグ以外に<>を含めてはダメだろ。 &lt;か&gt;に書き換えるべきじゃね。
583 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:25:07 ] >>566 >数秒遅れたら致命傷 まず初めに専用回線を引くべきじゃね? OS関係無いと思うし、そんな性能を求められるところってほいほいリプレイスしない方がいいと思う。
584 名前:559 [2008/08/23(土) 10:42:44 ] >>582 解決できました。ありがとうございます。助かりました。
585 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 10:43:26 ] 540はろくに知識がないため大失敗する悪寒
586 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 11:06:29 ] >>585 多分、実際は無職なので問題ない。
587 名前:デフォルトの名無しさん [2008/08/23(土) 12:03:30 ] OutOfMemoryを捕まえたいんですけど、 GUIの部品使うと別スレッドが色々たってるみたいで try〜catch で拾えないんですけど、 どうにもならないんですかね?
588 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 12:57:48 ] >>587 Thread#setDefaultUncaughtExceptionHandler Thread#setUncaughtExceptionHandler で捕まえるとか。
589 名前:587 mailto:sage [2008/08/23(土) 13:50:14 ] おお、こういうのあるんですね。 ありがとうございました。
590 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 14:28:44 ] CLDCにもThread#setDefaultUncaughtExceptionHandler Thread#setUncaughtExceptionHandler がほしいぜ。
591 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 14:33:41 ] javaの暗号・復号化でJCEなるものがあることがわかったのですが、 ファイルを読み込みバイト配列で一括変換しているせいかメモリ不足に陥ってしまいます。 元ファイルをInputStreamに出力ファイルをOutputStreamにと ダイレクトに暗号化する方法ってないのでしょうか。 8kbyteといった固定単位でファイルを読み込み、暗号化して暗号化後のサイズとデータを書き込みことで、メモリ不足を引き起こさず暗号・復号化は出来そうですが・・
592 名前:591 mailto:sage [2008/08/23(土) 14:54:36 ] 自己解決しました FileInputStreamにCipherInputStreamをラップしたら出来ました。 m(__)m
593 名前:デフォルトの名無しさん [2008/08/23(土) 16:06:43 ] だから>>540 はアホだって言っておいただろ。見て分からなかったんなら、お前ら鈍いな。 TCP/UDPってなんだよwボロでてんだよww それもTCP遅いって、確かにTCPとUDPを上回る通信はあるけど、 こいつはMS一筋でよっぽど世の中知らない奴だと思わない? お前はもう来るな
594 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 16:34:06 ] うさんくさい奴だったな
595 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 16:40:47 ] WebアプリやTCPを使って発注すると、(相場が変わるとか何とかの理由で)遅いって、どういう業界というかどの職種でそんなことが起こるんですか?
596 名前:デフォルトの名無しさん [2008/08/23(土) 17:07:43 ] あ でも最近の証券会社やFXの会社の発注少し遅いよね
597 名前:デフォルトの名無しさん [2008/08/23(土) 18:33:25 ] そんなコンマ1秒を争う世界とか限界に挑戦するような世界はwindowsでやってくれw
598 名前:デフォルトの名無しさん [2008/08/23(土) 18:52:28 ] pc11.2ch.net/test/read.cgi/tech/1150286189/l50 現世代Java。 話題としてこっちじゃないか?
599 名前:デフォルトの名無しさん [2008/08/23(土) 18:59:29 ] CABOSをダウンロードしたのですが開いたら 「JAVAソフトウェアがロードできません」と出ました JAVAのサイトに行ってダウンロードすると「JAVAのバージョン確認」と出るだけで 何も状況が変わりません 誰かいいアドバイスをください
600 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:06:00 ] tmp == "(" tmp.charAt(0)=="(".charAt(0) tmp.length()=="(".length() が上からfalse.true.trueとなるんだがバグかなんか?
601 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:08:38 ] ん? 正しい動作だわ、そりゃ 詳しく知りたきゃ、equalsでググれ
602 名前:デフォルトの名無しさん [2008/08/23(土) 19:08:49 ] 激安ノートパソコンでJAVA勉強できますか?
603 名前:599 [2008/08/23(土) 19:13:45 ] HELP
604 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:18:06 ] 今年最大の夏を感じるな
605 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:18:21 ] 520=599
606 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:19:45 ] >>602 JDKの動作要件を満たしていればできる。
607 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:20:24 ] >>602 高性能PCじゃないとeclipse動かないよ
608 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 19:50:59 ] >>600 仕事で1年間Javaを使って開発してる奴にこの前 if( strHoge == "true" ) で 同じにならないんだけど って質問来た時はマジで、はぁぁお前1年間Java使っといてそれはないだろう!って思ったよ。 それ以降、漏れはそいつのこなす仕事は何一つ信用しなくなったよ・・orz 1年間Java使ってましたっていう自己申告じゃなく、ホントに1年間開発してたんだよ・・どんなソース書いていたんだか・・
609 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 20:29:19 ] HTTPはパフォーマンス(応答性)優先のプロトコルじゃないからな。 あまり細かいこと考えずに作ると、 プロキシの検索が走ったり Expect-100で一往復待ったり 設定によってはKeepAlive使わずに毎回接続したり その上でWebサービスとなると SOAPエンコードでかなりサイズが膨れ上がり XMLのシリアライズ、デシリアライズ等々割と重い処理が入る
610 名前:デフォルトの名無しさん [2008/08/23(土) 21:07:22 ] あなたのそれは、そんなに凄いアプリ(システム)なんですか?
611 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:11:16 ] もう相手にするなよ。どうせ何も作れずに知ったか知識並べてるようなニーとだし、そういうやつは2chによくいるだろw 最近の夏だと大ほらふきが出没しているから、たぶんそいつだろうw それと嘘はだめだ。一生信用されない。
612 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:15:10 ] >>580 =>>609 だが 俺は単に横槍っていうかHTTPとWebサービスの一般的な話してるだけで 元のやつととは全然関係ないんだが、それでもこれは俺が突っ込まれてるのか??
613 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:23:26 ] それじゃ、そんなに凄いシステムなんですか?
614 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:30:32 ] 意味が分かりません><
615 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 21:47:33 ] >>551 コンピュータって何ですかレベルだとしたらどうでしょう? 無理でしょうか? パソコンを使って遊ぶことが出来る(YouTube見たり、共有ソフトでファイル集めたり、 集めたファイルを扱ったり・・・でもフォルダなら分るけどディレクトリだと難しく感じるレベル)けど、 仕組みはさっぱり分らないというレベル。 HTTPってそう言えば何の略?みたいなレベルだとして。 情報系の大学の学部を出てるわけでも、専門学校を出てるわけでもなく、 普通の私立の文科系を卒業してる程度の人間だと仮定すると絶望的???
616 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:07:09 ] 「JAVAプログラマの新入社員」程度なら無理じゃないでしょ ゼロから初めて半年でも
617 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:11:11 ] >>615 まあ、あくまで一例だが、 知っている情報系の中小企業だと、Excelしか使ったことの無い文系の新卒でも、3ヶ月で基本情報処理技術者が取れるように訓練される。 無論、当人の努力も大事だし、実際の試験で落第したなら、合格するまで昇給をストップされる。
618 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:44:48 ] IBMへ行った先輩の話だと、文系も理系もなく新人研修でしごかれるらしいな C言語は2日で終わってC++を1週間、Java、Web、DBと容赦なく進むスケジュール表を事前に渡されるので 研修開始までに独習して一通りマスターしておくのが普通らしいな
619 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:45:31 ] String#equalsはjavaで真っ先に覚える部類だろ。 基本情報処理技術者って落ちる奴居るのか?
620 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 22:51:41 ] リフレクションに関する質問です。 interface Hoge {} class HogeImpl implements Hoge{} 現在Hoge.classのみがあって(Hogeのインスタンスは存在しない)、HogeImplがHogeを継承しているかどうかを調べる方法はあるのでしょうか? Hogeのインスタンスが存在しているのであれば Hoge.class.isInstance(hogeImplInstance); で確認できるのですが、Classのみでの確認手段が分かりませんでした。 newInstanceでインスタンス作って確認するしかないのでしょうか?
621 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:00:00 ] 今ちょっと見ただけだけどisAssignableFromとかあるじゃん
622 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:00:06 ] HogeImpl.class.getInterfaces てかClassのJavaDoc読んだ? あと、それを確認しなければならない状態があるのかよ。 Hoge hoge = new HogeImpl(); と書けばコンパイルエラーになるだろ、implしてなければ
623 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:00:34 ] >>620 Class#isAssignableFrom(Class)
624 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:06:25 ] >>619 統計発表されてるだろ
625 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 23:11:03 ] あったんですね。迅速な回答ありがとうございます。 >>622 一通り読んだつもりだったのですが読み落としてました。 本当に申し訳ないです。
626 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:05:43 ] >>618 C言語2日って、それならやらない方がマシじゃねかw こんな連中しかいないからWacsなんていう糞フレームワークしか作れないんだな(ワラ
627 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:14:21 ] >C言語は2日で終わってC++を1週間 どう考えても無謀だしな。
628 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 00:22:57 ] いいかげん嘘つきの相手なんかすん
629 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 01:50:13 ] 以下のURLのような、図をプログラムで解析するようなプログラミングの問題で www.i.u-tokyo.ac.jp/edu/course/ci/pdf/2007_8_ci_practice_all.pdf (沢山ある、それぞれの頂点が辺で結ばれていたり、いなかったりする) 私は、2次元配列を用いて、cell[結合元の番号][結合先の番号]=0or1のようにして表して解こうとしたのですが、 なかなかうまくいきません。このような問題の本流というか、良いやり方はどのようなものでしょうか? また、上記urlの問題の最後の方にある頂点から別の頂点への距離を求めるものがあるのですが、 私には遺伝的アルゴリズムを用いた手法しか思い浮かびません。しかし、大学院入試のプログラミング問題程度で そのようなものが要求されるのは考えにくいので、私が何か見落としている気がします。 問題の解釈すら違うかもしれません。どのようなレスでもいいので、お願い致します。
630 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 02:18:34 ] >>629 すまん。 まったくわからん。 ただ、おれにわかるのはスレ違いということくらい。
631 名前:デフォルトの名無しさん [2008/08/24(日) 02:32:43 ] 良いやり方というのは特にありません たぶんお勉強にこだわりすぎなんじゃないですか?
632 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 02:36:29 ] >>629 Q2-1はつながってる先を順に調べて、ツリー状に調べてゆくってことかな? Q4は、 辺を追加していく順序に就いて悩んでいるのだろうけど、 冒頭に、「N は変えるが同じ頂点対の並びを利用する. その場合, N 番目以降の頂点対は無視する.」ってあるから、 G3は単にファイル上の登場順にN番目までの辺で出来たグラフ。 残りもその順で追加して行くだけでは?
633 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 03:21:50 ] IBM Javaで暗号化してSun Javaで復号化すると IBM Javaのクラスが見つかりませんとエラーが発生しました。 java.lang.ClassNotFoundException: com.ibm.crypto.provider.DESKey 暗号化キーは、シリアライズ化してあったものをObjectInputStreamでよみこもうとした時に上記エラーが発生しました。 回避策わかる方いますでしょうかm(__)m
634 名前:633 mailto:sage [2008/08/24(日) 03:58:06 ] Objectをシリアライズせず、キーのデータのみ受け渡しすれば 異なるVM間で復号化できましたm(__)m
635 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 04:01:35 ] VM実装依存のクラスつかってりゃClassNotFoundExceptionでるだろ。馬鹿か?
636 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 11:27:14 ] RMIのリモートオブジェクトに対して、new Socket().isConnected()に当たるようなコネクションの確認はできるでしょうか?
637 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 17:21:29 ] javac <ファイル名>.java は出来たのですが、 その次にファイルを実行出来ません。 どうすればいいでしょうか?
638 名前:デフォルトの名無しさん [2008/08/24(日) 17:41:14 ] wisdom.sakura.ne.jp/ ここでどぞ
639 名前:デフォルトの名無しさん [2008/08/24(日) 18:53:41 ] JavaEEのパフォーマンスチューニングの相談もここでOKですか?
640 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 19:17:26 ] 同じバージョンのJREをつんだ違うOSで、同じbeanをシリアライズしたバイトデータの中身はまったく同じなのでしょうか?
641 名前:デフォルトの名無しさん mailto:sage [2008/08/24(日) 19:25:32 ] バージョン違えばそりゃ違うんじゃね?
642 名前:デフォルトの名無しさん [2008/08/24(日) 23:39:58 ] Javaの勉強を最近始めた超初心者です。 勉強してる中でパッケージの内容からどうしても先に勧めません。 あるプログラムの頭にpackage パッケージ名;と打ち込んだのですが、 "予想されたパッケージと一致しません"と言われうまく起動してくれません。 どういった名前を付ければ予想されたパッケージになるのでしょうか。。 教えてください。。
643 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 00:15:44 ] >>642 パッケージが「package foo;」だったら、そのソースファイルはfooディ レクトリの中にある必要がある、のが原因かもしれない。
644 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 03:22:20 ] 画像をFlowLayoutパネルに流したいのですが FlowPanel.add(Image)は対応していないのでImageIconを作って画像を入れようと色々やっているのですが上手く行きません。 Toolkit tk = Toolkit.getDefaultToolkit(); Image img = tk.getImage("C:\\~~.jpg"); ImageIcon icon = new ImageIcon(img); JLabel label = new JLabel(icon); こんな感じでラベルをつくってレイアウトに流し込んでいるのですが・・・
645 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 04:17:07 ] >>644 ImageIconには画像ファイルのパスを引数にとるコンストラクタがあるから ファイルから画像を読み込んでJLabelのアイコンに設定するならImageを作らなくても JLabel label = new JLabel(new ImageIcon("C:\\~~.jpg")); でいけるよ
646 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:07:06 ] もう頭パニック助けて・・・ 下記のコードでdをcのListに値を入れるのってどうやればいいんですか? import java.util.*; public class bbb{ public static void main(String [] args){ List <aaa> c = null; aaa d = null; d.setNo(1); d.setName("test"); c.add(d); System.out.println(c.get(0).getNo()); System.out.println(c.get(0).getName()); } } class aaa { int no; String name; public aaa(){ } public int getNo(){ return no;} public void setNo(int newNo){no = newNo;} public String getName(){return name;} public void setName(String newName){ name = newName;} }
647 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:14:35 ] >>646 List <aaa> c = new ArrayList<aaa>(); aaa d = new aaa();
648 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:28:06 ] >>647 new 試したけどいまいち書き方がわかりませんでした。 ありがとうございました。
649 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:38:27 ] 現在Javaで動画を扱おうと試行錯誤していますが、いまいちできるかどうかもわからない状態です。 機能的には、デスクトップをプログラムでキャプチャしてそのままAVIなどの動画に変換して出力したいのですが、 Java言語ではどのようにすれば可能なんでしょうか?
650 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:40:49 ] >>649 Vectorから適当なスクリーンキャプチャをダウンロード・インストールして、 Javaサイドから定期的に呼び出す。 というのではいけませんか?
651 名前:デフォルトの名無しさん [2008/08/25(月) 16:45:13 ] JAIについて質問です。 JAI入門書のサンプルプログラムをコンパイルすると下のようなエラーが出ます。 パッケージ javax.media.jai は存在しません。 JAIもJDKのPathの設定のようなものがいるのでしょうか?
652 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 16:47:47 ] >>651 要るんだと思いますよ。
653 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 17:28:36 ] >>651 ですが どう設定すればいいか教えてください。おねがいします
654 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 17:44:14 ] >>653 入門書なら設定の仕方とかは書いていると思いますよ。 もし書いていないならその本は捨てても構わないと思いますよ。
655 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 19:36:02 ] オプションパッケージはインスコするかバンドルするかってちゃんとjavadocに書いてあるだろうがjavadoc嫁。 それにオプションパッケージのreadmeにも書いてある。 JMFのインストーラ版なら決め打ちで勝手にパス通すが。
656 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 22:04:55 ] 一週間くらい前に、デザインパターン入門の本を教えてくれた人、マジありがとうございます。 いい本ですね。
657 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 22:24:13 ] どのあたりがいい本なのか書かないと
658 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 22:31:38 ] そもそもどの本だ?
659 名前:デフォルトの名無しさん mailto:sage [2008/08/25(月) 22:32:54 ] 文章が読みやすい 例が簡潔でわかりやすい 細かいフォローもばっちり デザインパターンをそれぞれ関係づけてあって覚えやすい 基礎から実践に近づくために必要な知識が効率的に吸収できます。
660 名前:デフォルトの名無しさん [2008/08/25(月) 22:42:54 ] 教えてくれた人にだけわかればいいから質問してくんなよ。ケッ。
661 名前:デフォルトの名無しさん [2008/08/26(火) 00:16:44 ] その本を超えるようなホームページを作ってください!
662 名前:泣きそうです mailto:sage [2008/08/26(火) 13:35:45 ] 下記のXMLで、key1とval1を出力したいのですが、 取得の仕方がイマイチ分かりません。 いろいろ試したのですが、コンパイルとかエラーになって・・・ どなたか、取得の仕方を教えて下さい。 -----------[testXml.xml]------------------------------------ <?xml version="1.0" encoding="UTF-8"?> <config> <ptn1_data1> <element key="a1" val="a01"/> <element key="a2" val="a02"/> </ptn1_data1> <ptn2_data2> <element key="x1" val="x01"/> <element key="x2" val="x02"/> </ptn2_data2> </config> --------------------------------------------------------
663 名前:泣きそう mailto:sage [2008/08/26(火) 13:47:24 ] import java.io.*; import javax.xml.parsers.*; import org.w3c.dom.*; class testXml { public static void main(String args[]) throws Exception { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(new FileInputStream("testXml.xml")); Element root = doc.getDocumentElement(); walk(root); }
664 名前:泣きそう mailto:sage [2008/08/26(火) 13:49:43 ] public static void walk(Node n) { for(Node ch = n.getFirstChild(); ch != null; ch = ch.getNextSibling()){ if(ch.getNodeType() == Node.ELEMENT_NODE){ System.out.println("ELEMENT_NODE:"+ch.getNodeName()); walk(ch); } else if(ch.getNodeType() == Node.TEXT_NODE && ch.getNodeValue().trim().length() != 0){ System.out.println(" TEXT_NODE:"+ch.getNodeValue()); } else { System.out.println( ・・・・key1を出力したいです); System.out.println( ・・・・valを出力したいです); } } } }
665 名前:泣きそう mailto:sage [2008/08/26(火) 13:50:39 ] 長く書いてしまってごめんなさい。 けど、どなたか教えて下さい。 お願いします
666 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 14:18:49 ] >>662 Document doc = db.parse(in); NodeList l = doc.getElementsByTagName("element"); if (null == l) { System.out.println("タグ element はありません。"); } else { System.out.printf("タグ element は %d 個あります。\n", l.getLength()); for (int i = 0; i < l.getLength(); ++i) { NamedNodeMap n = l.item(i).getAttributes(); System.out.printf("\t[key=%s],[val=%s]\n" , n.getNamedItem("key").getNodeValue() , n.getNamedItem("val").getNodeValue()); } }
667 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 14:43:34 ] それ以前にxmlの設計が腐ってる。 xmlスレ行って出直して来い。
668 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 15:30:04 ] >662 コンパイルエラー ttp://javafaq.jp/S172.html
669 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 00:15:27 ] >>662 普通はこんなかんじ。 indexはいらんかも。 <config> <ptn_data index="1"> 略 </ptn_data> <ptn_data index="2"> 略 </ptn_data> </config>
670 名前:デフォルトの名無しさん [2008/08/27(水) 07:37:12 ] すいませんが教えてください。 自分で作った実行ファイルがあります(文字コードMS932)→Test.class これをbatファイル(文字コードEUC-JP)で実行します。 batファイルの中身は java Test 日本語パラメータ で、batファイル自体は文字コードEUC-JPです。 この場合引数で受け取った"日本語パラメータ"という文字列を プログラム内ではMS932として、文字化けせず"日本語パラメータ"として処理を行いたいのですが どうすればいいでしょうか? まず、batファイルをダンプして"日本語パラメータ"という文字列を見た場合と args[0]をarg[0].getBytes()してダンプ出力した結果が違うのです。 ためしにarg[0].getBytes("EUC-JP")してもこれもまた上とはまた違った結果になります。 もう、引数で渡されてきた時点でデータが壊れているのでしょうか?
671 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 07:59:53 ] >>670 コマンドラインはプラットフォームのデフォルトエンコーディングで扱 われると思う。batファイルとか書いてあるってことはWindowsかね。で あれば、コマンドラインはms932で書かないと化ける。 ところで「実行ファイルの文字コードがms932」ってどういう意味?
672 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 08:02:34 ] >>670 echo 日本語パラメータ だけの内容のbatファイルをEUC-JPで作成して試してみ? たぶん引数の前、コマンドラインシェルが解釈した段階で化けてると思うぞ。
673 名前:デフォルトの名無しさん [2008/08/27(水) 11:33:28 ] 一旦バイトコードに変換してから処理したいんですが 文字化けを起こして出来ません。 PrintWriter out = response.getWriter(); //String val = request.getParameter("kanji"); //byte[] byteData = val.getBytes("Shift_JIS"); //val = new String(byteData, "Shift_JIS"); out.print(val); コメントアウトを外すと文字化けを起こします。 表示先は文字コードはShift_JISであっている筈なんですが・・・ 単純に両方Shift_JISをピンポイントで指定してるのに なぜ化けるのでしょうか?バイトコードへ変換して戻す処理の中で何かデータの欠損でも起きているのでしょうか?
674 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:30:06 ] SJIS外の文字は入ってないの?
675 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:43:56 ] >673 1. response の PrintWriterオブジェクトの文字コードは何なのかしら? 2. request は正しい文字コードで入力を読み取ってるかしら? 3. 674 のように Shift_JIS外の文字は入ってないかしら? 4. response で出力した先の文字コードは 1 と同じかしら?
676 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:35:15 ] 行き詰まっているので質問させて下さい。 データベースに日付を管理するresettime・・・というテーブルがあります。 そのテーブルにはtimeというdate型のカラムがあり2008-08-27という値が格納されています。 んでソースです。 public void checkDate() { Date now = new Date();//今日の日付 String sqlIndex = "select * from resettime"; try { db.connect();//データベースに接続する ResultSet rs = db.executeQuery(sqlIndex);//Statementのと同じ機能 rs.next(); if(now.after(rs.getDate("time")//今日の日付のはず)) { //※問題の箇所 String[] sql = new String[2]; sql[0] = "delete from popularmovieinfunnymoviechannel"; sql[1] = "update resettimeinfunnymoviechannel set time = '"+now+"'"; db.addBatch(sql); db.executeBatch();//Statementのと同じ機能 } } catch(SQLException e) { } finally { db.disConnect();//データベースを切断する } } 問題の箇所がtrueとなってしまい上手くいきません。バグっぽい箇所が在ればご教授下さい jreは6_7です。
677 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:38:43 ] nowは今日の日付に加えて現在の時刻も入ってるはず そのDBのdate型が時刻を格納してないなら00:00:00になるはず 今日の現在時刻と今日の00:00:00を比較したらどうなるかというと・・・
678 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:43:11 ] RMiの呼ばれる実装クラスにて、要求先のIPアドレスを取得する方法はあるでしょうか? 引数で情報を渡すはなしでお願いします。
679 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:51:05 ] >>673 request.setCharacterEncodingでSHIFT_JISを有効にする。 あと、Tomcat5.0以降のバージョンでGetの処理すると、 デフォルトの動作でsetCharacterEncodingが無効になるから注意。 server.xmlの変更で対処して。そのあたりはググれば出てくる。
680 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 15:55:34 ] >>677 nowをjava.sql.Date()のインスタンスにしてもtrueになるんですけど・・・ jre変えてみまッス。
681 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:05:40 ] >>680 java.sql.Dateも一緒 Javadoc見てみ、時間をミリ秒で表すって書いてある java.sun.com/javase/ja/6/docs/ja/api/java/sql/Date.html
682 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:20:08 ] 結局データーベースから取ったDateとDateインスタンスは比較しても無駄って事ですか?
683 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:24:51 ] >>682 java より先に小学生レベルの時刻の概念から学んだ方がいい
684 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 16:28:50 ] >683 あいそうします。ありがとうございました。
685 名前:デフォルトの名無しさん [2008/08/27(水) 16:55:15 ] 時間・時刻を比較したいのか
686 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 17:11:31 ] afterとbeforeの動作を誤解してるとかじゃないよね? nowが現在の時刻なんだから、それよりもafterな時刻なんて 存在しない……だから、”問題の箇所”は常にtrueになって当たり前。
687 名前:686 mailto:sage [2008/08/27(水) 17:13:43 ] 「それよりもafter」って変だったorz 現在の時刻よりも、未来の時刻は存在しないから ”問題の箇所”は常にtrueって言いたかった……
688 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:01:43 ] >>686 もしjava.sql.Date型同士のインスタンスを比較するとして両方のインスタンスが 同年同一日ならafterでもfalseが帰る。
689 名前:680 mailto:sage [2008/08/27(水) 21:20:11 ] >681 nowの方の日にちを調整することで解決させました。 このまま行ってたら大きな誤解を持ったまま行くところでした。thx。
690 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 21:30:00 ] Component component = new JScrollPane(new JPanel()); JTabbedPane jtp = new JTabbedPane(); jtp.addTab(component); のように書いた時に、後々componentを取得する方法はあるで しょうか。 ご教授お願いします。
691 名前:690 mailto:sage [2008/08/27(水) 21:40:35 ] すみません。690ですが 取得したいのはcomponentではなくて、 スクロールペインの中のJPanelでした。 宜しくお願いします。
692 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 22:16:21 ] Strtusについて質問です。 public void setGoods(ArrayList<String> goods){ this.goods = goods;} public void setNumber(ArrayList<String> number){ this.number = number;} このようにしてBeanに格納したArrayListを、 <logic:iterate id="name" name="Bean"> <bean:write name="name" property="number" />: <bean:write name="name" property="goods" /><br> </logic:iterate> 上記のJSPで出力しようとしてもエラーが出ます。 <logic:iterate id="name" name="Bean" property="number"> <bean:write name="name" /> </logic:iterate> <logic:iterate id="name" name="Bean" property="goods"> <bean:write name="name" /> </logic:iterate> こういった書式だと値の表示は可能ですが、当然出力位置が変ってしまいます。 number1:goods1 number2:goods2 number3:goods3 最終的にこういう表示をさせるにはどういった書き方をすればいいでしょうか。
693 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 23:17:58 ] >>691 ((JScrollPane)component).getViewport().getView()
694 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 01:24:16 ] >>693 ありがとうございます。 お陰で無事解決しました。
695 名前:688 mailto:sage [2008/08/28(木) 09:17:37 ] ごめ、嘘ブッコイタ。
696 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 10:11:00 ] >>678 java.rmi.server.RemoteServer.getClientHost() でガマンしろ。
697 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:33:18 ] まったくの初心者です。よろしくお願いします。 Javaの勉強をしようと思い 「JDK 6 Update 7」をダウンロードしてインストールしてみました。 環境変数を設定した後に、バージョンが正しいか確認してみたのですが、 C:\>java -version java version "1.4.2_03" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02) Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode) と表示さてれました。 ただし、 C:\WINDOWS\system32>java -version java version "1.6.0_07" Java(TM) SE Runtime Environment (build 1.6.0_07-b06) Java HotSpot(TM) Client VM (build 10.0-b23, mixed mode, sharing) だと、きちんと「JDK 6 Update 7」がインストールされているぽいのですが・・・ これってちゃんとインストールされた状態になったのでしょうか?
698 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:36:50 ] すでにインストールされてたっぽい JRE 1.4.2_03 は特に使わないなら削除してしまえ あと javac -version も
699 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:45:50 ] >>698 レスありがとうございます。 C:\>javac -version javac version "1.6.0_07" C:\WINDOWS\system32>javac -version javac version "1.6.0_07" でした。 1.4.2_3の削除についてですが、 プログラムの追加と削除に無く、 レジストリ内も検索してみたのですがそれらしいのが無いため どこから削除すればよいでしょうか?
700 名前:692 mailto:sage [2008/08/28(木) 11:54:23 ] 自己解決しました。 ありがとうございました。
701 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 11:55:18 ] >>699 環境変数の PATH を確認する。 恐らく "C:\jdk1.4.2_03\bin" みたいなのが含まれているはず。
702 名前:デフォルトの名無しさん [2008/08/28(木) 15:08:43 ] デザインパターンの本を買った人へ。 貴方のほらふきの癖を治せば、少しは友達が増えると思います。
703 名前:デフォルトの名無しさん [2008/08/28(木) 16:32:37 ] javaでゲームのようなものを作っているのですが、(GUIです)質問させていただきます。 ゲームを起動すると ログイン画面→どのゲームを選ぶかの選択画面→ゲームの画面 と画面を入れ替えていきたいのですが、どうやって処理すればいいでしょうか? やはりカードレイアウトを使うしかないのでしょうか?画面の切り替えには・・・
704 名前:デフォルトの名無しさん [2008/08/28(木) 16:50:41 ] 質問させてください。 while文を回して配列に格納した多くのデータを、 終了後にファイルに出力するにはどうするのが一番効率的でしょうか? ファイルの入出力がよくわからなくて…よろしくお願いします。
705 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:06:04 ] Ubuntuなら update-alternativeっていうコマンドでやる。 PATHには入ってないんじゃないかな? javaのパスを直接指定する人も珍しいだろうし。 とりあえず気休めだが、 JAVA_HOMEをいじっておけ。
706 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:58:51 ] >>704 効率なんか気にせず作ってみる だいたい気にするほど遅くないことが多い 実際に気になるほど遅かったらそのときに訊くといい
707 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 18:01:26 ] >>703 古いコンポーネントをremoveして新しいコンポーネントをaddすることもできるよ
708 名前:704 mailto:sage [2008/08/28(木) 18:50:07 ] >>706 ありがとうございます。とりあえず作ってみます。
709 名前:デフォルトの名無しさん [2008/08/28(木) 19:30:56 ] >>707 ありがとうございます。removeで取り除くことを忘れてました。。 カードレイアウトとどちらが良いんでしょう・・・
710 名前:デフォルトの名無しさん [2008/08/28(木) 19:32:27 ] >>707 ありがとうございます。removeで取り除くことを忘れてました。。 カードレイアウトとどちらが良いんでしょう・・・カードは重くなりそうな印象で
711 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 19:35:01 ] 二重・・・すいませんov2
712 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 23:13:00 ] >>710 印象で選択するのは危険。 実測してみればいい。
713 名前:デフォルトの名無しさん [2008/08/28(木) 23:39:43 ] 他のスレで話題に上がってて気になったんで質問。 Javaでチャット機能作る場合は一人に1スレッド設計しか無理なの? サーバからのメッセージも随時受け取らないとダメだし
714 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 00:06:32 ] 一人の何に1スレッドを当てるの?
715 名前:デフォルトの名無しさん [2008/08/29(金) 00:55:57 ] スレッドは常にwhileで受信の準備をしてるんじゃない?
716 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 01:31:12 ] 非同期
717 名前:デフォルトの名無しさん [2008/08/29(金) 01:43:05 ] genericsについて質問です。 Parentクラスを継承するChildクラスを定義して下記コードを記述しました。 List<? extends Parent> list = new ArrayList<Child>(); list.add(new Parent()); 上記コードでコンパイルエラーが出ます。 型を見るとadd()の引数がnullになってました。 きっとadd()しちゃいけないから引数の型がnullなんでしょうけど、 理由がよくわかりません。教えてくだしあ。
718 名前:717 mailto:sage [2008/08/29(金) 01:53:34 ] すんまそん。コードの2行目は list.add(new Parent()); じゃなくて list.add(new Child()); でした。どっちにしろ結果は同じなんですけどね。
719 名前:デフォルトの名無しさん [2008/08/29(金) 02:02:59 ] >型を見るとadd()の引数がnullになってました。 ?
720 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:21:38 ] >717 何度書いたか分からんが、ジェネリクスは静的解決、キャストは動的解決。 List<? extends Parent> という宣言を書いたからオカシイ。 そもそも、宣言部分の代入式のほうで、<Child> としているではないですか。 何故、List<Child> と書かないのですか?
721 名前:717 mailto:sage [2008/08/29(金) 03:26:41 ] >>719 Eclipseでの話となりますが・・・ 「list.」までを入力するとメソッド一覧が出てきますよね? そこでaddの定義を見ると、add(null arg0)となっているんです。 addをCTRL+左クリックで表示されるクラスファイルエディターでも確認できます。
722 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:38:10 ] なんでジェネリックス入れてRTTI入れなかったんだっけ? VMの実装が複雑になるから?
723 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 03:53:44 ] それがJavaだから。
724 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 04:10:33 ] >>717 List<? extends Parent> には、Parent を継承したクラス Child1 や Child2 などを用いた List<Child1> や List<Child2> などが代入されているかもしれない。 これらが同時に安全に add できるものは、 どんな型にもキャストできる null しかない。
725 名前:デフォルトの名無しさん [2008/08/29(金) 09:03:12 ] デュアルコアのCPUが2スレッドを同時に処理するJavaプログラムを動かすとします。 この場合1コアあたり1スレッドなんていう動作になるんでしょうか? もしそうだとすればnコアでn未満のスレッドを動かしたときどうなるのか非常に気になりますが。
726 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 10:10:19 ] >>725 Sun の Java VM であればネイティブスレッドなので 1 コア 1 スレッドで動くことができる。 というか、1 コアが 1 スレッドしか動かせないと思ってないか?Intel だって Hyper Threading で 1 コア 2 スレッド動かせるし、Sun の Niagara 3 にいたっては 1 コア 16 スレッド(1 CPU 16 コアなので全体で 256 スレッド)動くぞ? > もしそうだとすればnコアでn未満のスレッドを動かしたときどうなるのか非常に気になりますが。 別に気にならないだろ。普通に動くだけだが、何か変な妄想してないか? 空いてるコアは別の仕事するだけだ。
727 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 10:22:07 ] 従来のシングルコアで10スレッド動かしたら 1コア当たり何スレッドの処理をするんだろうか? Javaプログラムだと5スレッドかもしれないし、100スレッドかもしれない しかし、これだと処理されないスレッドが発生し、さらに 他のスレッドも待ち状態のままになり、見かけ上ではフリーズしたのと同じだ これを回避するためにPentium4のHT技術が開発されたんだな Intelすげえという電波ですねわかりません
728 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 14:55:48 ] コア数よりスレッド数が多い場合は見かけ上ではあるがOSがタイマー割り込みで実現する。 シングルCPU時代のスレッドは基本的に待機スレッド。 ビジースレッドの並列処理で処理効率をあげるような手法はマルチじゃないと意味はないが、 基本的にIOやイベント待ちでスレッドは止まっているものだ。 それからHTは微妙でビジースレッドの並列処理向きじゃないんだよな。
729 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 15:13:40 ] 新規質問。 Servlet 作ってて困っているのだけど、 スレッドID ってスレッドが動いてる時に突然変更されることってありえる?
730 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 15:17:10 ] >>729 ない ってJavadocに書いてあるよ
731 名前:デフォルトの名無しさん [2008/08/29(金) 16:00:09 ] intelがjava bytecodeとclassesを直接読み取っちゃうCPU命令を実装してくれればいい。
732 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 20:56:38 ] >>731 死屍累々ってほどでもないが、すでにそういうチップは作られていて全く普及して無い。picojavaとか。 そもそも Java の byte code 自体がハードで実装するには不向きな内容だし。 昨今は実行時プロファイリングでホットスポットを解消するほうが実行速度が上がるし。
733 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:24:02 ] intelのfloatや超越関数とかの機械語は、ibmやsunから見ればハードでの実装は不向きな内容であって、 それこそsin[x]なんかはソフトウェア(ライブラリ)で実装するもんだろうな。 つまり、java bytecodeはハードでは不向きという考えは古い考えじゃないの? 君みたいなゴミにとってはこれぐらいの話しすらついて来れないんだろうけどww
734 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:26:14 ] jvmとjavaはもともとは家電(ハード)組み込みの設計だったしなぁ
735 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 21:53:26 ] >>>732 おまえはどこに行っても相手にされないし無能なやつだな
736 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:41:58 ] テキストファイルのエンコーディングが予めわかっていない場合 どうやって適切なエンコーディングで読むのでしょうか? Javaのライブラリを使用すれば、自動的に適切なエンコーディングで読んでくれるものがあるのでしょうか?
737 名前:デフォルトの名無しさん mailto:sage [2008/08/29(金) 23:47:19 ] 教授目指してみようかな。 それは結構面白いかも知れない。 戦国時代に生まれたかった。 そして戦場で野垂れ死にしたかった。
738 名前:デフォルトの名無しさん [2008/08/30(土) 00:14:47 ] 先生にも2つのタイプがあってな、1つは研究者で教えるのが仕事じゃなくて技術の追求が仕事で、もう1つは教えるのが仕事の教師でどちらかといえば過去・既存技術に精通していて教えたり話したりするのが好きで上手な人。 聞きかじった最先端の雑記を偉そうに語るのは、先生じゃなくても無能なサルでも出来るけど、お前のタイプはどっちだ?
739 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:27:33 ] MITの教授になりたい。
740 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:29:47 ] >>736 不可能です。 あきらめてあてずっぽやるか、人間さまに直接おたずねください。
741 名前:デフォルトの名無しさん [2008/08/30(土) 00:39:06 ] 少なくとも、最新技術を追いかけるのは最先端のオナニー・ショウを見てるようなものでしかないよ。 それよか、過去の技術や発明・基盤技術をちゃんと知ってるかどうかじゃないの? 大学でやってんならなおさらPCの歴史とかPCがたとどって来た道を知らないとねぇ。 ハードよりなら制御とか組み込みだし、ソフトよりならアルゴ・ライブラリとかコンパイラじゃないの? すくなくとも、intelの機械語sin[x]は実際はハード内部でデコードしてハード・ロジックのライブラリを呼び出してるだけだしw まずは自分用のCコンパイラを作れるかじゃないかな?
742 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:42:41 ] >>741 針が太すぎて、ブランコ代わりに腰掛けられるよ・・・
743 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:43:36 ] 先端オナニーですね、分かります。
744 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 00:46:00 ] じゃう゛ぁとともにあらんことを。
745 名前:717 mailto:sage [2008/08/30(土) 00:55:29 ] >>720 それだけじゃ>>724 みたいな結論にたどり着けないっすよ先輩。 理解してる人しか理解できないヒントというか何というか。 >何故、List<Child> と書かないのですか? Genericsの勉強中に、クラス間に継承関係があっても List<Base> = new ArrayList<Child>(); のような事はできませんが、 <? extends Base>を使えば可能、という記述を見つけたので 試していただけです。で、add()ができないのは何故かと。 >>724 仮に可能であれば、 Child hoge = list.get(0); とした時にChild1やChild2を返してしまいClassCastExceptionが発生するため危険、 という事でいいですか? List<? extends Base>#get()の返り値の型をBase型として返せば いいような気もしますが、それもやはり不都合があるんでしょうか。
746 名前:デフォルトの名無しさん [2008/08/30(土) 01:02:26 ] ジャヴァーは、言語仕様や文法よりも「ライブラリ☆命」なんですが・・・
747 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 01:35:25 ] >>745 List<? extends Parent> list = new ArrayList<Child1>(); list.add(new Child1()); list.add(new Child2()); // ←ココ
748 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 02:02:49 ] >>745 >List<? extends Base>#get()の返り値の型をBase型として返せば List<? extends Base> list = new ArrayList<Child>(); を例えば List<Child> childList = new ArrayList<Child>(); List<? extends Base> list = childList; としてみましょう。 list.add(new Base()); が実行された場合、list.get() は Base インスタンスを返せるでしょうが、 childList.get() は Child のインスタンスを返せる(返すことを保証できる)でしょうか。
749 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 10:08:37 ] >>743 SFCの『ラブクエスト』を思い出した。 「先っちょ、先っちょ、気持ち良い!」
750 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 10:43:44 ] >>733 コプロセッサって知ってるか? >>735 そうだな。オマエくらいしか相手にしてくれなくて人生寂しいよ。 でもオマエがこうやってレスしてくれて、マジな話ちょっとうれしかった。 無視されるのが一番辛い。煽りでもなんでも、反応してもらえてサンキュ。
751 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 12:18:08 ] ぬるぽ
752 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 12:36:16 ] KeyTypedの中でgetKeyCharを使って入力をコンソールに表示しようとしても0としか表示されません。 getKeyCharなら、アルファベットキーは表示されるのですが、矢印キーの時は何も表示されません。 どうしてでしょうか?
753 名前:デフォルトの名無しさん [2008/08/30(土) 15:32:44 ] JScrollPaneのJTableについて質問です。 例えば、あるボタンを押したらJScrollPaneがJTableの1行分だけ 下または上にスクロールする、というようなことは可能でしょうか。 JTable内で選択されている行を、そのボタンを押せば自動的に ひとつ次or前の行に選択を移動させるようにしようと考えているのですが、 ScrollPaneに表示されている行内の終わりからボタンでさらに選択を奥に移動させると、 選択行は変わりますが、スクロールはしてくれないので、どうしたものかと悩んでいます。
754 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 15:42:13 ] >>752 > KeyTypedの中でgetKeyCharを使って入力をコンソールに表示しようとしても0としか表示されません。 のgetKeyCharはgetKeyCodeの書き間違い? なら、 > KEY_TYPED イベントの場合、keyCode は VK_UNDEFINED なのでVK_UNDEFINED(=0)が返る。 矢印キーなどのキーコードが取りたければ、 keyTypedでなくkeyPressedやkeyReleasedでイベントを捕まえる。
755 名前:752 mailto:sage [2008/08/30(土) 15:50:11 ] >>754 その通りCharじゃなくてCodeでした。
756 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 16:12:37 ] >>753 これは使えないかな? ttp://java-house.jp/ml/archive/j-h-b/021677.html
757 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 16:58:51 ] String str = "ABCDE"; という文字列があって、この文字列を逆にして表示させたいです。 最終的に、System.out.println(str); で、画面には EDCBA と表示させたいです。 文字列を引数にとって、それを反転して返すメソッドがあるのは 分かったのですが、そういうのを使わないで、配列やforをうまく使って 自力で反転させたいのです。 charAt(int index)やfor辺りで試行錯誤したのですが、どうも辿り着きません。 方法を教えてもらえませんでしょうか?
758 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:03:41 ] >>757 無駄なコードを書くことに、うまい方法なんて無いのでは?
759 名前:デフォルトの名無しさん [2008/08/30(土) 17:06:24 ] >>749 >>750 >>751 ぬるぽ ぬるぽ ぬるぽ ぬるぽ
760 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:06:38 ] >745 申し訳ありません。724 や 748 の話を良く聞いてください。 お詫びに、関係しそうな記事を置いていきます。 Javaの理論と実践: Generics、了解! ttp://www.ibm.com/developerworks/jp/java/library/j-jtp01255/index.html
761 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:13:23 ] >>756 どうもありがとうございます。その先に記述されているのをヒントとして、 ほぼ完成というところまでたどり着けました。 ただ、スクロールバーの▼・▲のボタンや、バーで移動させた際に、 その移動をさせたことを検出させて、かつ移動した距離を知りたいのですが、 どうにか知る術はないものでしょうか?たびたびすいません。
762 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 17:17:03 ] >757 Stringオブジェクトは、作成後、状態を変更できません。 ということは、反転した Stringオブジェクトを作成する時点で、 既に反転した状態を持つ「何か」を用意する必要があります。 「何か」は、char配列でも良いですが、単に追加するだけなら java.lang.StringBuilder/Buffer が良いと思います。
763 名前:デフォルトの名無しさん [2008/08/30(土) 17:19:30 ] www.apple.com/jp/mac/ このページの最上部のメニューバーみたいなのをウェブサイトに実装したいのでですが 何かオススメのスクリプトありませんか? カテゴリ(ジャンル)が20個ぐらいありそれを1つのページに表示させたいです。
764 名前:デフォルトの名無しさん [2008/08/30(土) 17:57:51 ] 相変わらずひねくれてる奴多いな。 >>757 はそりゃアルゴリズムの問題でjavaとはあまり関係ないない。 str2=new StringBuffer().append(str).reverse().toString(); これがjava流。良くAPIを読むとサロゲートはreverseしないとかがまたいい!
765 名前:757 mailto:sage [2008/08/30(土) 18:13:46 ] >>758 確かにうまくはないですね、言い方が悪くてすいません。 ただ、専用のメソッドを使うより、他のやり方を考えたら プログラムの理解度も高まるかなーと思いまして。まだ初心者なんです。 >>762 配列を反転する方法がわからなかったので、 結局配列もStringBuilder/Bufferも使わないアナログなやり方で完成しました(´・ω・`) ありがとうございます。 >>764 ひねくれものですかね?ヽ(´ー`)ノ
766 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 18:46:46 ] >>765 理解したいなら、reverseのソース読むべきじゃね?
767 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 18:53:12 BE:511027586-2BP(5957)] ボタンを押すと定められた波形・音程で音が鳴る、という簡単なアプレットをMac OS X上で作りました。 当然Mac上では問題なく動くのですが、Windowsではうまく動きません。 音意外の部分は問題ない挙動なのですが、どうにも音だけが出ません。(サンプルレート8000、ビットレート16、モノラル) Javaのバージョンも最新です。 何か心当たりのある方、教えて頂けると助かります。お願いします。
768 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:15:02 ] テーブルで常に一行だけしか選択できないようにする方法ってあります?
769 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:32:00 ] >>702 じゃあ、これから正直になりますので、友達になってください。
770 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:45:00 ] >>768 APIドキュメント見てもいないのか? JTable#setSelectionMode 辺りを探れ
771 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 19:49:13 ] >>765 どんな方法にしろ、目的を達成するプログラムが書けたのならOKだ。 後は 766 の言うように他の同じことをするプログラムを見て、違いを観察するんだ。 自分で書き、他人のを読み、違いを吸収して次に生かせばいい。
772 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 20:29:55 ] >>761 AdjustmentListenerは? scrollPane.getVerticalScrollBar().addAdjustmentListener(new AdjustmentListener(){ int oldValue = 0; public void adjustmentValueChanged(AdjustmentEvent e){ if(e.getValueIsAdjusting()) return; System.out.println("Adjusted: " + (oldValue - e.getValue())); oldValue = e.getValue(); } }); とかで
773 名前:デフォルトの名無しさん [2008/08/30(土) 21:00:41 ] java初心者です。お聞きしたいことがあります。 javaからPHPにバイナリデータを渡したいのですがデータの中に0x00が 含まれていると2byteの0x5c,0x30に置き換わってしまいます。 どなたかご教授おねがいします。 String postParams = "p1="; byte[] byteBuf new byte[1024]; OutputStream oStream = null; : con = (HttpConnection)Connector.open("localhost/xxx.php ", Connector.READ_WRITE, true); con.setRequestMethod(HttpConnection.POST); con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); oStream = con.openOutputStream(); oStream.write(postParams.getBytes()); oStream.write(byteBuf); //←ここのDATAに0x00が含まれていると oStream.close(); con.connect(); :
774 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 22:45:54 ] >>773 >byte[] byteBuf new byte[1024]; コンパイル通ってるコード? byteBufに実際は何を入れてるのか。
775 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 22:54:34 ] HTTP POST でベタにバイナリなんて送れたっけ?
776 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 23:00:20 ] JTableでアクティブな行は青色になりますよよね? それに加えて行の中でクリックしたセルだけ青い囲みがかかるんですけど このセルの囲いをなくすことってどうやったらできるんでしょうか? 検索してもちょっとわからないので、、、ご教授ください。
777 名前:デフォルトの名無しさん [2008/08/30(土) 23:02:31 ] >>772 おお、ありがとうございますm(_ _)m 無事にできました。
778 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 23:12:07 ] >>776 setCellSelectionEnabled(boolean)とかなかったっけ?
779 名前:デフォルトの名無しさん [2008/08/30(土) 23:16:39 ] >774,775さん 上記例では部分抜き出しで書きましたがコンパイルは通ってます。 データは仮に [0xff,0x10,0x00,0xff]だとしたらPHPで受け取って そのまま送り返して調べた結果では、 [0xff,0x10,0x5c,0x30,0xff]となってます。 画像データなども送りたいと考えているのですが。 宜しくお願いします。
780 名前:デフォルトの名無しさん mailto:sage [2008/08/30(土) 23:55:40 ] データの持ち方について質問です。 プリミティブ型はスタックにデータを持ってて、ヒープ領域は使わないと認識してますが合ってますでしょうか。 それと、プリミティブ型の配列はヒープ領域を使ってて、要素0のデータへのアドレスをスタックに格納して、ヒープ領域では連続した領域に格納されているという認識で合ってますでしょうか。 あと、オブジェクト型の配列でも同様に、ヒープ領域では連続した領域に保持されているのでしょうか?
781 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 00:04:13 ] >>778 うーむ、それだとセルのみ選択したときに色がつくようになっちゃうんですよね・・・。 逆のことをしたいんですが、何かないでしょうかね。
782 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 00:11:39 ] >>779 >byte[] byteBuf new byte[1024]; なんて、コンパイル通る訳無いだろ。 コンパイルも通らないコードなんか載せられても何も答えられんわ
783 名前:デフォルトの名無しさん [2008/08/31(日) 02:01:47 ] >>780 jvm.dllの実装上の問題です。普通はそのように実装するんですけど、あなたにピッタシのAPIはByteBuffer.allocateDirectですかね。
784 名前:デフォルトの名無しさん [2008/08/31(日) 02:42:37 ] >>782 さん あああ!、申し訳ないです。'='←書くの抜けてました。 プログラム上ではちゃんと書いてます>< byte[] byteBuf = new byte[1024]; 何度もすみません。
785 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 03:11:15 ] >>779 コード 0x00 (NUL) が 0x5C 0x30 (\0) に変換される、と。 773 では、Content-Type に application/x-www-form-urlencoded を指定しています。 この指定自体は、form を送信する際の一般的な設定だと思います。 しかし、この指定によって、クライアントかサーバか、どちらか分かりませんが、 変換が行われてると、私は思います。 つ【パケットキャプチャ】かな?
786 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 03:33:00 ] >>781 TableCellRenderer を見れ。
787 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 03:40:28 ] >>779 >そのまま送り返して調べた結果では、 PHP が受け取ったモノをチェックしろよ。 送り返して調べたって、送り返す時にヘマしてたら分かんなくなるだろ。
788 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 10:26:08 ] www12.plala.or.jp/ksp/wave/beating/ これの真ん中あたりにあるアプレット動く? うちのXPだとIEでもFirefoxでも動かん。
789 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 11:31:32 ] x-www-form-urlencodedの意味を考えろってことで。
790 名前:デフォルトの名無しさん [2008/08/31(日) 11:34:44 ] >785,787さん PHP側では <?php $p1 = isset($_REQUEST['p1']) ? $_REQUEST['p1']: ''; $p2 = isset($_REQUEST['p2']) ? $_REQUEST['p2']: ''; if ( $p1 ){ echo ($p1); } ?> としているのですが。 PHP側でも調べてみます。
791 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 11:43:07 ] >>773 お前の書いたsetRequestMethodとsetRequestPropertyを一万回読み返せ BASE64でエンコード/デコードするか、URLにエンコードするか、 Content-Typeをimage/jpegにするか、バラバラすぎる。 あと受け側がどう処理するかによって異なる。
792 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 13:31:24 ] 酷い流れデツネ
793 名前:717 mailto:sage [2008/08/31(日) 15:31:20 ] >>747 >>748 すんません。 実際に返されるインスタンスの型が問題であって 返り値の型をBaseクラスにしても全然解決になってないですね。 質問に答えてくださった先輩方ありがとう。
794 名前:デフォルトの名無しさん [2008/08/31(日) 15:39:43 ] JPanel上でImageIOつかいたい どうしたら良い?
795 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 16:04:53 ] というかHTTPすらろくに理解してないんじゃないのか? x-www-form-urlencodedでバイナリ送るとか吹いたぞw
796 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 16:13:39 ] ホームページのフォームからJava servletでMySQLに複数の名前と番号のセットを 入力したいのですが参考になるホームページが見つかりません。 参考になるサイトやブログを教えていただけないでしょうか。
797 名前:デフォルトの名無しさん [2008/08/31(日) 16:38:00 ] 795のように書けばあたかも知ってるように見えるが大概は知らない場合が多い
798 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 16:55:19 ] コンソールで入力した文字列から、特定の文字が何文字含まれているか 表示するプログラムを作りたいのですが(例えば「javaprogram」と入力したら 「aは3個含まれています」と表示されるような感じです。 どうすればできるでしょうか?相当考えたのですが… 何の構文やメソッドを使うのか…どうかヒントをば…
799 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:00:25 ] >>798 ヒント:配列
800 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:13:04 ] String#indexOf
801 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:41:51 ] >>794 BufferedImage と ImageIcon の合わせ技。
802 名前:デフォルトの名無しさん [2008/08/31(日) 17:44:52 ] BufferedImage bi = jPanel1.getComponent(0).getGraphicsConfiguration() .createCompatibleImage(10,10); これでいいのかな
803 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:48:50 ] >>796 1個のデータは登録できるのか? できてないなら、無理すんな。 まずは単一で考えなよ
804 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 17:50:12 ] >>798 ・char[] にしてまわす ・StrigBufferにしてまわす どちらでも好きな方を
805 名前:デフォルトの名無しさん [2008/08/31(日) 18:54:53 ] または、特定の文字をすべて削除した文字列を作って長さを比べる 自分も質問なんだけど、テキストエリアの後ろに画像を入れるにはどうしたら良いのかな。
806 名前:デフォルトの名無しさん [2008/08/31(日) 18:59:19 ] 正確にはJScrollPaneだった・・
807 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 18:59:44 ] HTMLDocument使うとか、画像に対応したDocumentとViewを作ればいいんでない?
808 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 19:00:48 ] ん?やりたいことがいまいち分からない・・ 背景に画像? JScrollPaneのViewportに画像描画してJTextAreaを透明にってこと?
809 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 19:27:46 ] >>786 すんません、調べてみたんですがどうしてもわからない・・・ CellRendererの中にクリックでアクティブになったセルに関する設定項目が見つからないっす。 説明が下手なんですが、わかりやすく言うと、クリックされたセルのある行は薄青になりますよね? それとは別に、その薄青の行の中でクリックしたセルだけボーダーラインが太くなりますよね。 あの太いボーダラインをなくしたいんです。 setRowSelectionIntervalを利用すると行が薄青になるだけなので、テーブルのMouseListenerに 1 int rowIndex = jTable.getSelectedRow(); 2 jTable.removeRowSelectionInterval(rowIndex, rowIndex); 3 jTable.setRowSelectionInterval(rowIndex, rowIndex); とやってみたのですが、これだと2の部分では薄青だけ消えて、太いボーダーラインが残ってしまいます。 どうすりゃ消えるんでしょうか、、、
810 名前:デフォルトの名無しさん [2008/08/31(日) 19:48:48 ] >> vewportでやってみたのですが、イメージがやけに暗く表示されてしまいました。 バッファしてる間に暗くなるとかあるのかな・・・
811 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 19:56:39 ] ないない。 もうちょっと詳細を教えてくれないと何とも言えないよ
812 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:00:09 ] すいません。 出かけ先にいるので帰って見直してみます。 ありがとうございました。
813 名前:796 [2008/08/31(日) 20:12:47 ] >>803 単一では出来ます。 ttp://www.atmarkit.co.jp/flinux/rensai/mysql09/mysql09b.html を参考にコンパイル、MySQLの設定及びデータベースとテーブルも設定しております。 問題は、同じようなデータがありそれを複数同時に入力できないところです。
814 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:21:40 ] >>813 最大10件とかならば、name-1, value-1 のように固定でHTMLに埋めてしまえ 完全可変にするならば、動的にJavaScriptでinputを作っていけばいい
815 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 20:23:18 ] >>805 Swingの話かHTMLの話か解らない SwingだったらTextAreaとLabelを配置したパネルを作って、それを配置する方が楽だし、再利用しやすい形になると思う
816 名前:796 [2008/08/31(日) 20:52:25 ] >>814 すみません説明不足がありました。 仰るとおりHTMLのフォームはname[1],name[2]...のようにフォームに番号を付けています。 servletの方ではこれをループでMySQLに入力するようにしています。 また、名前(漢字)と数字なので先にループで配列に入力するといった方法も出来ませんでした。 JavaScriptによる入力ですが技術的に難しいです。
817 名前:796 [2008/08/31(日) 21:02:33 ] 肝心なことを忘れてました。 もし、フォームに名前はあっても番号はない場合は登録せず 次のフォームを読み取らせ、ループは名前が無くなったら出るというシステムです。 長々となってしまいまして申し訳ありません。
818 名前:デフォルトの名無しさん [2008/08/31(日) 21:05:26 ] ネイティブ言語や .NET 言語で実現できることは、Java でも実現できますか?
819 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:06:14 ] 無理。
820 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:08:23 ] こんな感じでできるだろ for(int i = 1; i < n; i++) { getParameter("name[" + i + "]"); getParameter("value[" + i + "]"); }
821 名前:796 [2008/08/31(日) 21:13:43 ] >>820 データは取得できるとは思うのですが、 データを保存またはMySQLに連続して登録するときはどのようにすればよろしいでしょうか。
822 名前:デフォルトの名無しさん [2008/08/31(日) 21:24:00 ] >>821 Valuesをつなげるか、何回もUpdateとかInsertする
823 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 21:42:17 ] beginTransaction(); for(int i = 1; i < n; i++) { getParameter("name[" + i + "]"); getParameter("value[" + i + "]"); insertOrUpdate(data); } commit();
824 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 22:37:08 ] テーブルでソートを行うために setAutoCreateRowSorter(true)を使っているのですが、 ソートを一時的に無効にしたい場合が生じました。 setAutoCreateRowSorter(false)ではだめなようなので、 setRowSorter(null)を使っているのですが、 このような方法でよいものでしょうか。
825 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 22:47:13 ] >824 APIドキュメントは読みましたか? そこに書いてありませんか?
826 名前:798 mailto:sage [2008/08/31(日) 23:05:53 ] >>799 >>800 >>804 ヒントありがとうございます。 ヒントを頼りにここまではできたのですが、 hisazin-up.dyndns.org/up/src/75650.java 文字列を入力するとwhile文が無限ループになります。 無限になるのはわかるんですが、何を入れれば無限がとめられるのかわかりません。 もうこれ以上しぼっても何にも出てこないので、どうか何が足りないのか指摘をお願いしますorz
827 名前:デフォルトの名無しさん [2008/08/31(日) 23:06:51 ] >>819 実現な無理なことって何? ※中間言語を介しているのでネイティブより遅いってのはナシ
828 名前:デフォルトの名無しさん [2008/08/31(日) 23:08:16 ] × 実現な無理 ○ 実現が無理
829 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:08:28 ] while(!(s = br.readLine()).equals("end")){ ..... } こうして、読み込みと同時にループ判定ってのをJavaではよく使うよ。
830 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:15:12 ] てかループの最後でreadLineしなきゃダメだろ、冷静に考えろ
831 名前:798 mailto:sage [2008/08/31(日) 23:22:32 ] >>829 >>830 もうほんとありがとうございます。どっちのパターンでもできました。 未熟ですいません。途中泣きそうになってました。 教えていただいた知識はありがたく吸収させて頂いて、 完全体への糧とさせて頂きます。
832 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:23:39 ] アグモン進化〜〜〜!
833 名前:デフォルトの名無しさん [2008/08/31(日) 23:24:47 ] javaの文字処理は、 while (r.ready()) {} がセオリーなんだけど・・・ アホな奴が書いた説明を読んだんじゃないの?
834 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:34:27 ] セオリー(笑)と言い切る根拠示したら?
835 名前:798 mailto:sage [2008/08/31(日) 23:34:28 ] >>832 ちょww >>833 独学でやってるんですが、教科書にはその書き方はのってなかったですね。 でもちょっとした応用ですよね。気付かない自分の無力としておきます。 ありがとうございます。
836 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:37:55 ] VB上がりの人は、rubyかperlの方からやっるといいよ。
837 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:39:14 ] >833 言いたいことは解るが、その場合は while(r.ready()) { System.out.println("文字列を入力して下さい"); String s = r.readLine(); if(s.equals("end")) break; // 以下同様 } と書かなくてはならないだろ。 そこまでちゃんと説明しないのはあまりにも無責任。 ついでにいえば、r.ready()がfalseになることは基本的にないからな、標準入力からとっているわけだし。
838 名前:デフォルトの名無しさん [2008/08/31(日) 23:40:12 ] >>795 こいつには「友達はいないだろうな」と感じるのは、俺だけなのかな・・・
839 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:43:04 ] たぶんMSDNのVBの記事ののりで、いつまでもお子ちゃまのままなのか、もともと糞まみれのまま生活してるとかじゃないか?
840 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:44:18 ] だなw
841 名前:デフォルトの名無しさん mailto:sage [2008/08/31(日) 23:45:40 ] ぬるぽ
842 名前:デフォルトの名無しさん [2008/08/31(日) 23:52:42 ] >>805 です。帰ってきました。 具体的には JPanel panel = new GraphicPanel("image.jpg"); JTextArea area1 = new JTextArea(); JTextArea area2 = new JTextArea(); area1.setOpaque(false); area2.setOpaque(false); JScrollPane scrollA = new JScrollPane(area1); JScrollPane scrollB = new JScrollPane(area2); scrollA.getViewport().setOpaque(false); scrollB.getViewport().setOpaque(false); panel.setLayout(new GridLayout(2,1)); panel.add(scrollA); panel.add(scrollB); という形でやっているのですが・・ GraphicPanel()は、別クラスでイメージ名を渡すとそれがパネルの背景になります。
843 名前:デフォルトの名無しさん [2008/08/31(日) 23:56:03 ] >>834 >>837 流れを見ると、君が勉強不足なだけのようだけど?
844 名前:デフォルトの名無しさん [2008/08/31(日) 23:59:56 ] >>837 はかなり問題発言だと思うけど、このスレ的には放置でいいの?
845 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:01:36 ] ITドカタ出身のカスみたいだし、ほっとけばいいんじゃない?
846 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:03:55 ] >>841 ,844,845 だなw
847 名前:805 mailto:sage [2008/09/01(月) 00:06:48 ] どうやらJScrollPanelの透明化が出来てないようです。。
848 名前:805 mailto:sage [2008/09/01(月) 00:13:08 ] setOpaque getViewport().setOpaque どちらもやると透明になりました!!すれ汚しすいませんでした。
849 名前:デフォルトの名無しさん [2008/09/01(月) 00:15:32 ] そうだ!大学や専門学校でVBとかC#を教えればいいんじゃんか! VBの方が使ってる人多いし、VBアプリもいっぱいあるじゃん。 高校ではBASIC教えてんだから、何で大学とかでVBを教えないんだよ。オレ頭いい〜
850 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:19:54 ] >>805 これ参考になるかな? ttp://terai.xrea.jp/Swing/CentredBackgroundBorder.html >>809 使ってるのはDefaultTableCellRendererだよな? だとしたらgetTableCellRendererComponenメソッドをオーバーライドして、 super.getTableCellRendererComponenで取ってきたComponentを JLabel(もしくはJComponent)でキャストしてやつを setBorder(null)にすればうまく行く様な気がする。
851 名前:デフォルトの名無しさん [2008/09/01(月) 00:37:46 ] ジャヴァ最高! サン最高! アムロ最高!
852 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 00:45:04 ] 以下でchannelを閉じるときにFileOutputStreamって自動的に閉じますよね? FindBugsさんに怒られて不安になってしまいますた。 FileNotFoudExceptionとIOExceptionはメソッド単位で投げてます。 clearしているstreamは引数で与えているByteBufferです。 File file = new File(fileName); FileChannel channel = null; try { channel = new FileOutputStream(file).getChannel(); channel.write(stream); } finally { // 事後処理 stream.clear(); if (null != channel) { channel.close(); } }
853 名前:デフォルトの名無しさん [2008/09/01(月) 00:52:09 ] javaで開発してる人の半分以上はwindowsであるという事実がある。 しかしjvm runtimeも.net runtimeもほぼ同じことが出来るのに、なぜこれほどまでにMSは嫌われるのかが謎だな。 さらにwindowsのvb, c#で簡単なこと(例えばメディア・プレーヤ系とか)をわざわざjavaでやるのもまたなんとも香ばしい。 今の時代の主流OO言語風に言えば、.netで作ったライブラリをjvmから呼び出せば済むことなんじゃないの?
854 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 01:03:19 ] dot net と jvm bytecode が相互にアクセスして相互に運用が出来るライブラリとかはもう誰かが作ってるよ。 どっかにあったような…海外だったかな?
855 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 01:30:28 ] >>853 効率だけで物事を選ぶわけじゃないからだろ。
856 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 01:39:28 ] >>841 ガッ
857 名前:デフォルトの名無しさん [2008/09/01(月) 01:45:30 ] 俺のサーバPC(インテルCPUじゃないの)でiphone使えたりmp4再生できても意味ないからな・・・ それよりも、それらコーディックの類は特許の塊でもあるから、jvmで実装するよりもそういうのは特許に関心があるMSに任せといて、 それらメディア系のファイル使うときは、dotnetやjavaのライブラリAPIでアクセスできれば十分じゃないの? h.264みたいな最先端の技術はさすがに専用のデコーダ兼表示端末(インテルPCとかかな)ないと実用じゃないだろうけど、 そうじゃなければ、昔からあるシェルのパイプ機能に毛が生えたのでいいよ。 特許がどうとか言うと、ライセンスとか裁判とかジャスラックとかウザイだろw どうせおまえなんか法学部出身なわけでもなければ民事裁判やったことないんだろうしww
858 名前:デフォルトの名無しさん [2008/09/01(月) 01:53:59 ] iniファイルでプロパティ設定するのは骨が折れるから、プロパティ設定辺りはいまどきはGUIでサクッとやりたいなと思うけど。 Javaがデスクトップとかメディアに進出もいいけど、どうせ特許の壁にぶつかるし、出来ても所詮はネイティブであって、携帯電話でそのデコーダ(コーディック)が動くわけでもないし、 今必要なのは、swingみたいにコンポーネントやbeansを作ってくれればいいでない? java/jvmの管理とかマネジメント充実も一通り終わったから、そろそろデスクトップのUIとかの方かなと思う。
859 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 02:42:31 ] 夏休みは終わったらしいぞ
860 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 03:35:07 ] すれ違い
861 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 08:04:21 ] どなたか >833 の解説をお願いします。 reader.ready() は「次の読み込みがブロックされるかどうか」だけとの事ですので、例えば以下の場合には正常に動作しない場合もあるかと思います。(※クライアントからデータが未送信の場合) Socket s = serverSocket.accept(); BufferedReader reader = new BufferedReader(new InputStreamReader(s.getInputStream())); while(reader.ready()) {/* 処理 */} また、StringReader#ready() は常に true を返したりもします。 このような危険性がありながらなお ready() がセオリーとされる理由を御教示頂けないでしょうか
862 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 10:30:33 ] それよか、.NetとJVMを結びつけるライブラリとかほんとにあんの?
863 名前:デフォルトの名無しさん [2008/09/01(月) 10:44:40 ] >>861 たぶん君は、ストリームのことを大学で教えてもらえなかった哀れな人なんだろう。 まずstdinを(line!=null) ?とかでナル・チェックするのはマズイことを知れ。
864 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 12:13:46 ] >863 お返事ありがとうございます。 独学なので更に哀れな知識量しかなく、色々間違っているかと思います。 もう少々お付き合い下さい。すみません。 > stdinを(line!=null) ?とかでナル・チェックするのはマズイことを知れ。 との事ですが、その前に疑問を整理させて下さい。 元々の疑問は、「文字処理は ready()がセオリー」との発言でした。これは標準入力に限らず、Reader 系全般に当てはまるかと思います。 ここで、敢えて ready() をセオリーと言っていた事がよく分かりませんでした。 Reader#ready() は、「次の読み込みがブロックされるかどうか」を返す訳ですから、入力が無い == ブロックされる == false となり、例えば標準入力であれば、起動直後の入力が無い場合には BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); while (r.ready()) {/* 処理 */} としてもループ内に入ることなく抜けてしまい、期待した動作はしないかと思います。 同様に、Socket から文字列を読み込む場合でも、通信状態に応じて、データパケットが届く前に ready() が実行される事もあるかと思います。 であるのに、ready() をセオリーとする理由がよく分からず、質問した次第です。 (ファイルからの入力に限定するのであれば、ready() がセオリーでも理解はできるのですが) 頭の悪い質問で申し訳ありませんが、回答をよろしくお願いします。 あと、stdin を null チェックするのはまずい、という理由もよく分かりませんでした。 System.in は null を返さない、とかそういう単純な理由ではありませんよね? 宜しければ一緒に教えて頂けないでしょうか
865 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 14:04:51 ] 俺は Reader#ready() 使ったことないのでセオリーとは思ってない。 stdin だろがなんだろが BufferedReader#readLine() だったら EOF->null だから当然チェックする。 >>833 >>863 の説明に期待するかw で、Reader#ready() は「ブロックされるかどうか」じゃなく「ブロックされないかどうか」だ。 false だからといってブロックするとは限らないし、入力が無いとも言えない。
866 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 14:47:41 ] JTableからJScrollPaneって取得できますか。 JTableのsetVisibleだとテーブルを非表示にできないようなので、 JScrollPaneのsetVisibleを呼びたいのですが。
867 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 14:50:33 ] getParentで取得してチェック
868 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 14:55:54 ] インタフェースにあるクラス(インタフェースじゃない)を継承させることってできますか?
869 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 15:05:05 ] むり
870 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:04:35 ] >>867 thx!
871 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:41:30 ] 基本データ型のうちなぜString型だけ先頭が大文字なのでしょうか? これだとラップクラスと同じになりますよね。
872 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:54:09 ] Stringは基本データ型ではありません java.langパッケージに属するクラスです
873 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:54:35 ] >>871 Stringは基本データ型じゃないだろ。
874 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 16:59:34 ] これだからCをやってないやつはだめなんだよな
875 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 17:09:00 ] ではchar型も基本データ型ではありませんね
876 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 17:12:20 ] どうしてそう思いますか?
877 名前:871 mailto:sage [2008/09/01(月) 17:23:02 ] すみません何か大きな勘違いをしてました Stringはどう見ても基本データ型じゃないです
878 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:15:43 ] byteからintに符号なしでキャストしたいときはどうするんですか?
879 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:18:02 ] (int)Math.abs()
880 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:30:24 ] >>879 言い方が悪かったです (byte)0xff が-1でなく255になるようにしたいです
881 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:33:24 ] byte b;があったとして b&0xFF ってすりゃいいよ。
882 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:36:32 ] (int) ((byte) 0x80) // 0xffffff80 = -128 ((int) ((byte) 0x80)) & 0xff // 0x80 = 128
883 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 18:41:32 ] 解決しました。ありがとうございます
884 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:01:57 ] > 865 返答ありがとうございました。 ひとまず、ready() の件はセオリーとは言えない、と認識して納得しました。 > で、Reader#ready() は「ブロックされるかどうか」じゃなく「ブロックされないかどうか」だ。 確かにその通りでした。大ボケこいてました。ご指摘ありがとうございます。 お騒がせしました。
885 名前:デフォルトの名無しさん [2008/09/01(月) 20:17:22 ] APIもちゃんと読んでもいなければ、ソースも読んでないんだろうな。 たとえば、java.io.Ready.read():Iのソース見たことないだろw お前のようにいつまでも妄想してようじゃ上達しないんじゃない。 それなら、いつready()を使うんだろう?
886 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:21:34 ] >>884 ready()とストリームついて知りたかったら、難しい解説本読むか、ちゃんと学校いけよw 2chでお手軽に聞くようなお手軽独学厨房にはもったいなくて教えてやんないww
887 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:25:17 ] >>885 java.io.Ready.read・・・
888 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:32:57 ] すみません 知識が浅いもので不快にさせてしまいましたら申し訳ありません 一応、判らないなりに、SunのJAVA5実装はReaderからStreamDecoder経由してio_util_md.c までは辿っています。 これ以上どこを見るといいのか教えて頂けますか よろしくお願いします
889 名前:デフォルトの名無しさん [2008/09/01(月) 20:33:29 ] ストリームも知らないなら別にナムル・チェックいいでない? どうせargs[k]とかやってる程度の人だろうしww
890 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:39:34 ] >>885 よっぽどのアホだな・・・
891 名前:デフォルトの名無しさん [2008/09/01(月) 20:41:23 ] あじゃぱー
892 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:41:34 ] >>889 日本語でおk
893 名前:デフォルトの名無しさん [2008/09/01(月) 20:46:29 ] >>888 そこまでソース追いかけても分からないならタコでしょw Reader.read():Iが何でnativeでなくてnew char[1]なのかで十分分かると思うけど・・・ もしセンスがあればだけど、多分君はお勉強はできるけど・・・あんまし・・・ってタイプでしょうか? というよりも、それならいつready()を使うわけ?
894 名前:デフォルトの名無しさん [2008/09/01(月) 20:49:54 ] 東大の教授になりたかった・・・
895 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:51:40 ] >>893 バカには一生わかんねーよ
896 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:52:54 ] >>894 共産党に入れ
897 名前:デフォルトの名無しさん [2008/09/01(月) 20:57:20 ] >>895 なんみょう〜 なんみょう〜 なんみょう〜
898 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 20:59:49 ] まずJavaの本読むより、「バカの壁」を読んでからじゃね?
899 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:01:12 ] ListってCでいうとこのstructみたいなもんすか?
900 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:09:26 ] >>899 リストはCでもつかうだろ。
901 名前:デフォルトの名無しさん [2008/09/01(月) 21:38:21 ] ready()なんか使う奴こそ糞だな! 一生ナンミョウ〜やってろよww
902 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:49:04 ] >>901 いや、使う用件はあるだろ。
903 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:52:35 ] ready?
904 名前:デフォルトの名無しさん [2008/09/01(月) 21:54:11 ] ストリームわかんねーの奴は「Cが難しすぎてJAVAに逃げてきました」って程度だろ。そういう奴はJAVAも無理無理。VBAかVBぐらい丁度いいよw
905 名前:デフォルトの名無しさん [2008/09/01(月) 21:56:58 ] ストリームもそうだけど、スレッドも分からない奴がいたよな。 スレッド・セーフがどうとかこうとか適当な妄想を言ってたけど、アレはC#のスレだったか?
906 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 21:57:22 ] >>833 はまったくの嘘だから気にしなくていいよ
907 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:05:57 ] StringBufferクラスの必要性をご教授ください。 Stringだけで十分だと思うのですが・・・
908 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:10:59 ] それなら、char[]で間に合うから、Stringも必要ないね
909 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:11:55 ] StringBuilderで間に合うから、StringBufferは要らないね。
910 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:18:08 ] ここは一応 初心者歓迎 となってるのを忘れてないか?
911 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:24:49 ] うん歓迎してるぜ。
912 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:28:42 ] 充分にヒントになっているかと思うが?
913 名前:デフォルトの名無しさん [2008/09/01(月) 22:34:35 ] >>908 悪いがそれは違うな。もう一度JAVAのオブジェクト指向プログラミングの技法とやらから初めて、一からやり直したらどうだろか?
914 名前:デフォルトの名無しさん [2008/09/01(月) 22:38:00 ] >>907 StringBufferはreverse()するとき良く使いますw
915 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:39:56 ] Stringクラスは代入するたびに新しいStringオブジェクトを作るので、 メモリ的にも処理速度的もコストが高いんよ。 例えば、aとbとcの文字列を連結する場合に以下のような処理があったとすると -------------------- String buffer = a; buffer += b; buffer +=c; -------------------- StringBuffer buffer = new StringBuffer(a); buffer.append(b); buffer.append(c); -------------------- Stringでは、 += bをしている処理は a に b の文字列を連結してる のではなく、 aとbを連結したStringオブジェクトを新しく作ってる。 同様に +=c の処理でも 新しいStringオブジェクトを作ってる。 一方StringBufferでは、 .append(b) では 文字列を連結しているので 新しいStringBufferオブジェクトは作っていない。 つまり、新しいオブジェクトを作っていない(newしていない)分 メモリも速度も節約できるということ。
916 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:45:57 ] >>906 答えられもしないくせに適当なこと言うな
917 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:46:22 ] >>915 文字列の操作を行う場合は、って前提が抜けてなければ完璧な回答だったのにな
918 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 22:54:39 ] まぁ今はコンパイルする時点で文字列の結合はStringBuffer#append()に置き換えてくれるから単純な結合は無視しちゃっていいけどね
919 名前:デフォルトの名無しさん [2008/09/01(月) 22:56:28 ] 0と1を反転させる方法を教えてください。 かっこいい方法は無いですか?
920 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:00:00 ] 文字列の0と1なのか別のモノの0と1なのかくらい示せ
921 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:01:09 ] かっこいい方法…俺には無理だ
922 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:01:30 ] アセンブラの頃は良く XOR したな…
923 名前:デフォルトの名無しさん [2008/09/01(月) 23:03:47 ] int型でお願いします。
924 名前:デフォルトの名無しさん [2008/09/01(月) 23:09:04 ] >>915 そんな数十行にもわたって書くことじゃないと思うけど、お前が噂のニートだろ?それに友達も一人もいない自宅警備員で、実際は、プログラムも作ったことない無能だろww
925 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:15:03 ] おー、こわい、こわいw
926 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:17:44 ] > 893 ひとまず、標準入力の件に関しては java ReaderClass < data.txt といったデータの与え方をした場合の事なのではないかと理解しました。 確かに、この場合には間違いなく ready() の使い所と思います。 この理解は間違っているでしょうか?
927 名前:デフォルトの名無しさん [2008/09/01(月) 23:18:52 ] >>915 の性格はキモイ説明サイトと同類だな。 もう、そういうサイトはいっぱいあるし、一見丁寧に説明しているようでどうでもいいところが長いだけだし、その程度の説明じゃ人は来ないだろうけどww たとえば、x=1; new StringBuffer(x)とかだと、その説明の効率的の指摘からすれば、逆に非効率になるんじゃないの? 知ったかぶっりの雑学知識を披露したのは、わからないでもないんだけどねぇ・・・それじゃ文系のITジャーナリストと同じムジナだな・・・
928 名前:デフォルトの名無しさん [2008/09/01(月) 23:23:01 ] 文系といえば、確かにALL ABOUTの記事かいてるのはキモイ奴の多いよな。 「どこにも就職できなかったけど、All Aboutで拾ってもらいました!!」て感じのオーラが強いって言うか… 早稲田みたいなところの心理学科卒業で、All Aboutで「アロマがどうとかは心理的に〜」とか専門術語を使って妄想記事かいてるのは吹いたww >>915 は結局それと同じムジナ。もう無理しないで死んでいいよ。
929 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:24:08 ] >>919 !
930 名前:デフォルトの名無しさん [2008/09/01(月) 23:25:14 ] >>929 それはboolean
931 名前:デフォルトの名無しさん [2008/09/01(月) 23:29:51 ] 妄想ならせめて旧帝大レベルじゃないとだめだろ。といっても、この前の東工大の学生は、左手腕に刺青みたいな模様をさらけ出してて、危ないやっちゃなと思ったけど、東工大は旧帝レベルだから少しは聞いてやったw その話の真意よりも、たぶん自宅警備員候補だろうし、人生苦労する奴なんだろうなと思った。
932 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:30:17 ] >>926 そんな場合だからといってready()を使う必要なんてないよ。 10年ぐらいJava触ってて一度もready()を使ったことないけど、「入力が なければ他の処理をする」という感じの疑似マルチスレッドぐらいしか 用途が思い付かない。で、そういうときは素直にマルチスレッドにする。
933 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:32:10 ] 雑談したいなら他行け。 >>926 そうか? 標準入力を使うのは、その元が手入力だろうがファイルだろうがttyだろうがとにかく 何かが送られてくるのを受けたいだけだからだろう。 ファイルからだから ready を使うとか考えるのは違うんじゃないか。
934 名前:デフォルトの名無しさん [2008/09/01(月) 23:35:41 ] つまり、>>915 の説明はString/StringBufferの違いを本質的に指摘してないってことですね。実はそんな風に思ってましたがスッキリしました!
935 名前:デフォルトの名無しさん [2008/09/01(月) 23:39:39 ] 文系のITジャーナリストってのは、堀江豚と友達だったメガネで蝶ネクタイの30代ぐらいでキモイ奴か? あいつは正に素早く死んで欲しい。いつもおれは、寝る前には必ず神棚で手を合わせて「早く死んでくれって」祈ってるぐらいだし。
936 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:41:15 ] それそろすれ違い
937 名前:デフォルトの名無しさん mailto:sage [2008/09/01(月) 23:55:54 ] >932, 933 リダイレクトで渡せば EOF が取れないだろうから ready() の出番・・・と思ったのですが、書き込んでから試したらきちんと EOF になりました(阿呆です) 何か根本的に道を間違えているようです。 標準入力 + ready() というキーワードにこだわり過ぎているのでしょうか。 (その辺りを離れて単純に ready() の使い道を考えるのであれば、932 さんの仰るような nio っぽい使い方が一番の使い所であるような気がします。)
938 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:03:55 ] Stringをだな。阿呆みたいに+=で連結しまくってるコードがあったんだ。 あんまりにもあんまりだと思って、StringBufferで書き換えてみたんだ。 でもベンチマークを取ってみると、1msも変わらなくてだな。 そのメソッドのほんの数行、DBをアクセスしてる部分が、処理時間の99% 以上を持っていってたんだ……。
939 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:15:58 ] つまりStringBufferの利用価値は自己満足が大半ってことですね?
940 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:18:38 ] それで結局StringとStringBufferの違いは何?
941 名前:デフォルトの名無しさん [2008/09/02(火) 00:19:36 ] Bufferって付いてるか付いてないか
942 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:20:07 ] 確かによほど下手なことせん限り大差ないよな。でも演算途中でnew,new,new....ってのは気持ち悪い・・・
943 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:22:33 ] もう夏は終わったんだぜ?
944 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:23:20 ] でたでたでた。
945 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:23:47 ] ちなみにStringBufferとStringBuilderとかHashTableとHashMapとかだと 実際の所どの程度速度に影響するもの?
946 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:33:23 ] >>916 夏の終わりの駆け込みかと思ってたけど、オマエ、本気なんじゃないのか?
947 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:34:48 ] >>926 間違ってるな。
948 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:36:48 ] >>945 そいつらへのアクセスが処理の多くを占めてたら、それなりに効いてくるんじゃないか? 特にマルチコア/マルチCPUだと、synchronizedの部分でメモリの同期化が行われるから、それなりに馬鹿にならないコストがかかるような気がする。 とは言え、Java7あたりだと、JITコンパイラが不要なロックを省略するような最適化をぶちかましてくれるらしいからな……。
949 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 00:36:50 ] >>945 それは自分でやってみれば分かる事じゃん・・・
950 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 01:19:11 ] String:不変オブジェクト StringBuffer:可変オブジェクト っていう教科書にありそうなのではどうだw
951 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 03:03:11 ] >>945 今となっては多分そんなには変わらない。
952 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 03:14:15 ] まだやってんのか。違いは、効率じゃないんだよね。
953 名前:デフォルトの名無しさん [2008/09/02(火) 03:27:17 ] ぼくらはreadyなんかなくても幸せ!
954 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 09:35:52 ] RandomAccessFileは、ソースを見てもnativeばかりですが、 実際(実装上)のところ多少はバッファがきいているから、BufferedInputStreamと同じように考えてよいのでしょうか。 他に気になるところはありますか?
955 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 09:39:19 ] EclipseってJavaでできてるみたいですが Eclipseはexeにするのに何使ってるんですかね?
956 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 10:48:08 ] >>954 どうしてバッファされていると期待できるのかが理解できない。 ソースは見てないけど、バッファされないと思うぞ。バッファリングと ランダムアクセスは相性悪いから。
957 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 10:53:37 ] いや、逆にバッファされていないと考える方がおかしいんだけど… 問題はバッファされているか・いないかじゃなくて、実用上問題ないかどうかだと思うが? それと、ランダムアクセスとバッファが相性悪いのはどの辺りに根拠があるの?
958 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 11:07:42 ] 相性とかそういうレベルの話でVMが作られてたら笑えるw
959 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 11:09:37 ] いつも通り>>956 の思い込みが根拠じゃね?
960 名前:デフォルトの名無しさん [2008/09/02(火) 11:17:54 ] >>958 そろそろ死んだ方がいいんじゃないか?人生疲れただろ。
961 名前:デフォルトの名無しさん [2008/09/02(火) 11:21:53 ] そうだよな…なんで俺は生きてるんだろう…
962 名前:デフォルトの名無しさん [2008/09/02(火) 13:09:56 ] ぼくらはEclipseなんかなくても幸せ!
963 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 16:01:00 ] ローカルでグラフィック描画する時は Graphics gr = img.getGraphics(); gr.drawLine(x1,y1,x2,y2); gr.dispose(); と毎回設定して廃棄しますが グローバルで Graphics gr = img.getGraphics(); としておいて、ローカルで gr.drawLine(x1,y1,x2,y2); だけで、ずっとgrを使いまわしてはだめですか?
964 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 16:23:10 ] いいよ ずっと同じimgに描画するのなら
965 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 16:26:23 ] そうですか
966 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 17:39:54 ] ぼくはJCPADだよ! みんな何使ってるの?
967 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 17:42:07 ] eclipse
968 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 17:43:36 ] 今JCPADからEclipseに変えたとこ 閉じるのがいいね
969 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 23:22:31 ] 30過ぎてJava覚えてJavaの資格とったらプログラマーの就職先見つかりまつか?
970 名前:デフォルトの名無しさん mailto:sage [2008/09/02(火) 23:27:10 ] ちょっとの学歴あれば30ならまだ余裕で就けるよ
971 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:00:03 ] >>969 おでも三十で就職目指してます。 お互い頑張りましょう。
972 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:06:21 ] 2つの別のクラスで同じ値を共有したいと思っています ClassA、ClassBはループさせていて常に結果を出力しています。 ClassA{ if(hoge>0) ClassF.setX(true); else ClassF.setX(false); } ClassB{ test.setEnable(ClassF.getX()); } ClassF{ static boolean f; static void setX(boolean bl){ f = bl; } static boolean getX(){ return f; } } こんな感じのプログラムを書いたんですが、ClassBに反映されません どこが間違っているんでしょうか? それとも、別のクラスで同じ値を共有するのは無理なのでしょうか?
973 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:19:08 ] もうちょっと意図が分かるように書けよ。 ClassBに反映されないってどういう意味だ? test.SetEnabledで思った値が取れてないってことか? こんな擬似コードじゃ分からんけど、 もしループとやらが複数スレッドで同時に回し続けてるって意味なら、 ClassF.fへのアクセスを同期化する必要がある。 volatileにするかメソッドにsynchronizedつける。
974 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:19:34 ] >>972 別スレッドならsynchronizedかvolatile必須だぞ。 要素が1個かつJava5.0以上なら、AtomicBoolean等でもいい。
975 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:24:53 ] 大量のUDPパケットを受信して、処理したいんですが、 どうしても、幾つかのパケットを取りこぼします。 何か、効率良く処理できる方法はありませんか?
976 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:32:18 ] >>973-974 ありがとうございます。 volatile static boolean f; で望み度通りの結果を出すことができました。
977 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:37:50 ] >>975 どーやってんだ
978 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:44:18 ] >>976 変数が1個ならそれでいいけど、複数個ある場合はちゃんと同期取らないと変更途中のデータが読み出される可能性があるぞ。 詳しくは、マルチスレッドプログラミングに関する本を読んどけ。
979 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 00:46:00 ] >>975 UDPならパケットが取れないことがあるのは前提じゃないのか
980 名前:975 [2008/09/03(水) 00:46:50 ] DatagramSocketを使って、普通にポートを開いて受信しています。
981 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 01:26:19 ] >>979 答えは、UDPを使わないってことだな・・・
982 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 01:56:38 ] >>980 効率良くポートを開いて効率良く受信しろ
983 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 02:23:25 ] 動的なキャストはどうやるんでしょうか? windows95/98のプラットフォーム向けのアプリなんでjdk1.2相当なんですが。 よろしくお願いします。
984 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 02:26:08 ] 動的キャストは、 Object obj; ... val=(???)obj ですが、???がコンパイル時未定の時のキャストです。
985 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 03:03:37 ] で、それに何の意味があるの? ???が未定なのにキャストした後でどうやって使うわけ?
986 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 03:15:12 ] >>984 valの型にキャスト
987 名前:デフォルトの名無しさん [2008/09/03(水) 03:34:55 ] jdk1.5にある、val.getClass().cast(obj) といった方が早いですね。これを1.2でやるにはどういうコードになるんでしょうか。
988 名前:デフォルトの名無しさん [2008/09/03(水) 03:46:03 ] 最近プログラムを勉強しはじめてわからないことだらけなのですが キャストとパースの違いがよくわかりません どなたか教えてください
989 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 04:35:02 ] >>987 >>985 >>986 は無視かい・・・ Class#cast() は >public T cast(Object obj) { >if (obj != null && !isInstance(obj)) >throw new ClassCastException(); >return (T) obj; >} となってるから generic が無いと無理なんだと思っとけ。 それよりもこれを使うようなのは相当面相なプログラムだと思うが、 これを使わないですむようにするほうが後々の為になると思うぞ。
990 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 04:49:15 ] 無視というより、val=val.getClass().cast(obj) 程度で分かりませんでしたか。 使わないで済むように方法を探したんですけど、後々のためというより、ももともとターゲットが古くてこれしかないので聞いてるんですが? 知らないなら無理に御答えにならなくて結構ですけど、あなたはだいぶ妄想好きなんですねw 他に良い施策はありませんか?
991 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 04:59:34 ] >>984 val=(???)objのあと、valをどう使うつもりなの? 型が決まっていなければvalのメソッドとかを呼び出すコードもvalを他のクラスに渡すコードも書けないんじゃない? というかval自体の型はval=(???)objの前でどう宣言しているの? objになりうるクラス共通にインタフェースを実装させて、そのインタフェースにキャストするとか、 全体のクラス設計を見直した方がいいと思う。
992 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:01:45 ] 単なるキチガイだったのか……
993 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:03:36 ] >>990 お前の問題だから自分で捜せ そんな態度じゃまともな人のレスも付かないよ
994 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:07:05 ] そう思うんだけど、このスレの態度の方が酷くない。正しく真正糞スレだと思うが?
995 名前:デフォルトの名無しさん [2008/09/03(水) 05:09:42 ] 次スレ?
996 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:13:02 ] >>991 あなたは、答えらず、それにたいした能力もないのに、そんなに人の庭が好きなんですか? その設計とやらを知って、あなたは手伝ってくれるんですかねw 一つ忠告しておけば、首突っ込むのは程ほどにした方がいいですよ。
997 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 05:16:24 ] >>998 が>>988 に答えてやって>>999 は次スレ立てて誘導>>1000 は俺が踏む
998 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 06:02:25 ] ジェネリクスは静的処理... コンパイル時に決定できない型は、キャストするのも代入するのも不可能也。 パース...parse...castに似ている部分もあるのか... 【初心者】Java質問・相談スレッド119【歓迎】 pc11.2ch.net/test/read.cgi/tech/1220388885/
999 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 07:51:27 ] 999
1000 名前:デフォルトの名無しさん mailto:sage [2008/09/03(水) 07:53:53 ] 1000get!
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。