【初心者】Java質問 ..
534:デフォルトの名無しさん
08/08/22 20:54:47
>>533
いつのまにか整数以外が
使えるようになったのかと思っちゃったじゃないか。
URLリンク(java.sun.com)
ひょっとしてenumのことか?
535:デフォルトの名無しさん
08/08/22 21:08:01
Stringのswitchは7で導入予定なんだよな?
ほしいー
536:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/22 21:35:29
Stringのswitchが有効なケースってあんまりなくね?
enum使えば解決じゃない?
538:デフォルトの名無しさん
08/08/22 21:48:55
ジャバザハット
539:デフォルトの名無しさん
08/08/22 22:08:02
enum 導入のおかげでたまにはswitchを思い出すようになりました
540:デフォルトの名無しさん
08/08/22 22:16:19
今Windows上で二つのシステムがあって、
C++クライアント −DCOM→ MTS(スレッド管理・トランザクション管理) → SQLServer or MSMQ
と
C#クライアント -.NETリモーティング→ 独自サーバ → SQLServer or MSMQ
というシステムがあるのですが、これをクライアント以外Javaに置き換えたいです。
どのようなアプリケーションが代用になるのでしょうか?また、クライアントだけ
Windows上のC++ or C#とした場合、サーバのJavaとの接続はできるのでしょうか?
541:デフォルトの名無しさん
08/08/22 22:25:09
String の switch は
main() に渡されたオプションの解析とかに使えそう
542:デフォルトの名無しさん
08/08/22 22:45:34
そうそう。そんな感じで使いたい。
それってやるとしたらequalsの展開になるのかな?
それとも個数によっちゃTreeMapかなんかで実装するのかな
わくわくだわー
543:481
08/08/22 23:05:51
返事遅くなってすみません。
>>483
>>486
>>489
みなさん、ありがとうございました。
544:デフォルトの名無しさん
08/08/22 23:24:38
皆さんに質問です。
ここにいらっしゃるのは殆どがJAVAをある程度学ばれている方だと思いますが、
これまで培ってきたJAVA関連の知識や技術が3日後には全て消え失せるとします。
もう一度初めから学び直さなければなりません。
あなたに与えられた期間は半年です。
半年経てばJAVAプログラマの新入社員として働いていかなければなりません。
ただ、今のあなたが3日後のあなたに一つだけ残せるものがあります。
それは今のあなたの考えるJAVA学習の方法論です。
どう勉強するべきかどの本で勉強するべきか・・・。
その半年間の予定表を立てて下さい。
では私はもうこれで寝ますので3日後くらいまでにはご回答をお願いします。
545:デフォルトの名無しさん
08/08/22 23:31:25
言語仕様を確認して、ライブラリリファレンスを確認して、実際にモノを作ってみる
半年もあればだいたい大丈夫だろ
やる気さえあれば ← これ1番重要
546:デフォルトの名無しさん
08/08/22 23:45:57
Javaなんて簡単すぎて半年もいらん
547:デフォルトの名無しさん
08/08/22 23:50:22
オブジェクト指向の方法論とかの知識も
全く無い状況からだとすれば、仕様を覚えてから使えるようになるまでには
ある程度かかるだろうとは思う
548:デフォルトの名無しさん
08/08/22 23:50:31
簡単すぎて半年もいらん(笑)
549:デフォルトの名無しさん
08/08/22 23:52:33
>>544
まあ、数年放置してるといつのまにかバージョンが上がったり、
使ってたメソッドが推奨されないメソッドに認定されてたりするから、
似たような状況はたまにあるね。
勉強?要らない要らない。
せっかく忘れたんだから他の言語勉強する。
550:デフォルトの名無しさん
08/08/23 01:11:44
今日は大漁だwww(でも雑魚ばっかw)
551:デフォルトの名無しさん
08/08/23 01:40:12
>>544
Java関連の知識って、どこまでよ?
フレームワーク?イディオム?ライブラリの知識?言語仕様?
それともオブジェクト指向って何?って所まで消えるのか?
変数って何ですか?、とか、インターネットってどういう仕組み?とか
コンピュータって何ですか?まで行っちゃうとか
そこが分からないと答えようがない
552:デフォルトの名無しさん
08/08/23 01:53:34
コンピュータって何ですか?まで行っちゃったら
多分この業界で仕事しようと思わないとおもわれ
553:デフォルトの名無しさん
08/08/23 03:36:09
544は 魔法使い
554:540
08/08/23 05:58:25
すみません。
ここには下流工程の人しかいないですよね
板違いでした
555:デフォルトの名無しさん
08/08/23 07:15:48
はいそうです。どうせどこで聞いても答えてもらえないでしょうが
もうここには決して来ないで下さい。
556:デフォルトの名無しさん
08/08/23 07:24:31
>>540
「付けたし付けたしで今まで頑張ってました」って感じだなw
557:デフォルトの名無しさん
08/08/23 07:29:59
スルー白
558:540
08/08/23 07:31:49
答えられないなら黙ってろって
数十万の顧客抱えてるから今すぐJavaに移行なんて無理だから、試してみただけだしw
559:デフォルトの名無しさん
08/08/23 07:39:53
SAXを用いてXML文書から文字列を取得する勉強をしています。
イベントハンドラで "<" を含む文字列を取得しようとしているのですが
"<" がタグ開始の文字列として認識されてしまいエラーが発生してしまいます。
どなたか解決法をご存知でしたらご教授下さい。お願いします。
560:デフォルトの名無しさん
08/08/23 07:42:38
>>558
では、顧問料いくら出せるんですか?
561:デフォルトの名無しさん
08/08/23 07:44:48
>>558
もう君の自慢話しはいいからwwさっさと消えてくれないか?
562:デフォルトの名無しさん
08/08/23 07:49:11
>Windows上のC++ or C#とした場合、サーバのJavaとの接続はできるのでしょうか?
質問が抽象的すぎてイマイチ分かり辛いんですけど、WindowsならMS製品で固めた方がいいですよ。
563:デフォルトの名無しさん
08/08/23 08:05:37
>>540みたいな生意気な奴は相手にすんなよ。その辺の雑魚と大して変わらないからw
564:デフォルトの名無しさん
08/08/23 08:19:13
540、血圧上がってますよ?
w書いててわらってもうたw
565:564
08/08/23 08:21:57
>>540みてみたけどたいしたことじゃないなw
HTTPも知らないのか540はw
566:540
08/08/23 08:25:46
う〜ん、まじめにmixiとかAmazonとかじゃなくて、数秒遅れたら致命傷になるような
システム作ってる奴いるか?今のシステムに不満はないんだけど、OSがWindowsって
ところだけは、顧客は拒否反応示すからさ。
ロジックは簡単だから、Javaはよくしらないけど、定番のアプリケーションサーバ
とデータベースとMQでシステムをリプレイス出来たら、そういう顧客にも有効かと
思ってさ。
567:540
08/08/23 08:26:44
>>565
Webサービスだよね?あれだと遅すぎて駄目なんだわ
568:デフォルトの名無しさん
08/08/23 08:27:29
彼は病院にお帰りなったそうですOrrz
569:デフォルトの名無しさん
08/08/23 08:41:53
>>566
それならwindows一筋で頑張ってください
570:970
08/08/23 08:43:59
>>567
そしたらプロトコルなに使ってるの?
571:デフォルトの名無しさん
08/08/23 08:48:27
パフォーマンスを重視したいのか改造コストを低く抑えたいのかわからんな。
クライアントはどのくらいいじっていいのよ?
いっそDCOM−CORBAブリッジでも使うかい。
572:540
08/08/23 08:51:26
>>570
登りは.NetRemotingで下り(配信)はTCP/UDP直だよ
昔はDCOMだったけど
それにしても、Webサービスは遅すぎる。発注だそうと思ったときにはもう
相場変わってるっちゅうの
LANで計測しても、独自プロトコルの10倍以上通信してるからな
573:970
08/08/23 08:52:25
ちょっと見てみたけどクライアントとjavaで通信できそうな気が。
574:デフォルトの名無しさん
08/08/23 08:53:01
全部TCP/UDPにしたらいいと思うよ。
575:970
08/08/23 08:54:29
独自プロトコルって、危ない気がするけどいいの?
なんか大切なデータ送ってそうだけど。
576:540
08/08/23 08:54:43
>>571
ありがとうございます。
開発コストは考えてません。営業がそれなりの金額で売ってきてくれるので。
重視してるのは、クライアント(C#)-サーバ(Javaサーブレット)で今までの
パフォーマンスが出るのかですね。
で、それにともなってJavaの混沌としているアプリケーションサーバとデータベース
とその他諸々からどれを選択していいのかと
577:デフォルトの名無しさん
08/08/23 09:02:00
クライアントサーバー間はLAN/WANの類なのかインターネットなのか、
インターネットだとCOM+やCORBAやRMI(IIOP)はプロトコル的にきつい気もするが。
578:デフォルトの名無しさん
08/08/23 09:23:32
HTTPが遅いってどゆこと、通信って一往復だよね?
毎回コネクション張るのが問題?
579:デフォルトの名無しさん
08/08/23 09:27:17
>>544
マ板でやれ
580:デフォルトの名無しさん
08/08/23 09:55:16
そらHTTP自体がオーバーヘッド比較的でかいし、
その上でWebサービスとか使えば遅いわな。
581:デフォルトの名無しさん
08/08/23 10:13:10
>>580
うーん。わかんね。ヘッダーとかがあるからってこと?
自分でTCPで通信するのとそんなに大差あるのかな?
HTTPサーバーが遅いってこと?
それなら自分で作ったHTTPサーバーが例えばIISのパフォーマンスを
超えられるの?
582:デフォルトの名無しさん
08/08/23 10:19:30
>>559
そもそもXML文書のタグ以外に<>を含めてはダメだろ。
&lt;か&gt;に書き換えるべきじゃね。
583:デフォルトの名無しさん
08/08/23 10:25:07
>>566
>数秒遅れたら致命傷
まず初めに専用回線を引くべきじゃね?
OS関係無いと思うし、そんな性能を求められるところってほいほいリプレイスしない方がいいと思う。
584:559
08/08/23 10:42:44
>>582
解決できました。ありがとうございます。助かりました。
585:デフォルトの名無しさん
08/08/23 10:43:26
540はろくに知識がないため大失敗する悪寒
586:デフォルトの名無しさん
08/08/23 11:06:29
>>585
多分、実際は無職なので問題ない。
587:デフォルトの名無しさん
08/08/23 12:03:30
OutOfMemoryを捕まえたいんですけど、
GUIの部品使うと別スレッドが色々たってるみたいで
try〜catch で拾えないんですけど、
どうにもならないんですかね?
588:デフォルトの名無しさん
08/08/23 12:57:48
>>587
Thread#setDefaultUncaughtExceptionHandler
Thread#setUncaughtExceptionHandler
で捕まえるとか。
589:587
08/08/23 13:50:14
おお、こういうのあるんですね。
ありがとうございました。
590:デフォルトの名無しさん
08/08/23 14:28:44
CLDCにもThread#setDefaultUncaughtExceptionHandler
Thread#setUncaughtExceptionHandler
がほしいぜ。
591:デフォルトの名無しさん
08/08/23 14:33:41
javaの暗号・復号化でJCEなるものがあることがわかったのですが、
ファイルを読み込みバイト配列で一括変換しているせいかメモリ不足に陥ってしまいます。
元ファイルをInputStreamに出力ファイルをOutputStreamにと
ダイレクトに暗号化する方法ってないのでしょうか。
8kbyteといった固定単位でファイルを読み込み、暗号化して暗号化後のサイズとデータを書き込みことで、メモリ不足を引き起こさず暗号・復号化は出来そうですが・・
592:591
08/08/23 14:54:36
自己解決しました
FileInputStreamにCipherInputStreamをラップしたら出来ました。
m(__)m
593:デフォルトの名無しさん
08/08/23 16:06:43
だから>>540はアホだって言っておいただろ。見て分からなかったんなら、お前ら鈍いな。
TCP/UDPってなんだよwボロでてんだよww
それもTCP遅いって、確かにTCPとUDPを上回る通信はあるけど、
こいつはMS一筋でよっぽど世の中知らない奴だと思わない?
お前はもう来るな
594:デフォルトの名無しさん
08/08/23 16:34:06
うさんくさい奴だったな
595:デフォルトの名無しさん
08/08/23 16:40:47
WebアプリやTCPを使って発注すると、(相場が変わるとか何とかの理由で)遅いって、どういう業界というかどの職種でそんなことが起こるんですか?
596:デフォルトの名無しさん
08/08/23 17:07:43
あ
でも最近の証券会社やFXの会社の発注少し遅いよね
597:デフォルトの名無しさん
08/08/23 18:33:25
そんなコンマ1秒を争う世界とか限界に挑戦するような世界はwindowsでやってくれw
598:デフォルトの名無しさん
08/08/23 18:52:28
スレリンク(tech板)l50
現世代Java。
話題としてこっちじゃないか?
599:デフォルトの名無しさん
08/08/23 18:59:29
CABOSをダウンロードしたのですが開いたら
「JAVAソフトウェアがロードできません」と出ました
JAVAのサイトに行ってダウンロードすると「JAVAのバージョン確認」と出るだけで
何も状況が変わりません
誰かいいアドバイスをください
600:デフォルトの名無しさん
08/08/23 19:06:00
tmp == "("
tmp.charAt(0)=="(".charAt(0)
tmp.length()=="(".length()
が上からfalse.true.trueとなるんだがバグかなんか?
601:デフォルトの名無しさん
08/08/23 19:08:38
ん?
正しい動作だわ、そりゃ
詳しく知りたきゃ、equalsでググれ
602:デフォルトの名無しさん
08/08/23 19:08:49
激安ノートパソコンでJAVA勉強できますか?
603:599
08/08/23 19:13:45
HELP
604:デフォルトの名無しさん
08/08/23 19:18:06
今年最大の夏を感じるな
605:デフォルトの名無しさん
08/08/23 19:18:21
520=599
606:デフォルトの名無しさん
08/08/23 19:19:45
>>602
JDKの動作要件を満たしていればできる。
607:デフォルトの名無しさん
08/08/23 19:20:24
>>602
高性能PCじゃないとeclipse動かないよ
608:デフォルトの名無しさん
08/08/23 19:50:59
>>600
仕事で1年間Javaを使って開発してる奴にこの前
if( strHoge == "true" ) で 同じにならないんだけど
って質問来た時はマジで、はぁぁお前1年間Java使っといてそれはないだろう!って思ったよ。
それ以降、漏れはそいつのこなす仕事は何一つ信用しなくなったよ・・orz
1年間Java使ってましたっていう自己申告じゃなく、ホントに1年間開発してたんだよ・・どんなソース書いていたんだか・・
609:デフォルトの名無しさん
08/08/23 20:29:19
HTTPはパフォーマンス(応答性)優先のプロトコルじゃないからな。
あまり細かいこと考えずに作ると、
プロキシの検索が走ったり
Expect-100で一往復待ったり
設定によってはKeepAlive使わずに毎回接続したり
その上でWebサービスとなると
SOAPエンコードでかなりサイズが膨れ上がり
XMLのシリアライズ、デシリアライズ等々割と重い処理が入る
610:デフォルトの名無しさん
08/08/23 21:07:22
あなたのそれは、そんなに凄いアプリ(システム)なんですか?
611:デフォルトの名無しさん
08/08/23 21:11:16
もう相手にするなよ。どうせ何も作れずに知ったか知識並べてるようなニーとだし、そういうやつは2chによくいるだろw
最近の夏だと大ほらふきが出没しているから、たぶんそいつだろうw
それと嘘はだめだ。一生信用されない。
612:デフォルトの名無しさん
08/08/23 21:15:10
>>580=>>609だが
俺は単に横槍っていうかHTTPとWebサービスの一般的な話してるだけで
元のやつととは全然関係ないんだが、それでもこれは俺が突っ込まれてるのか??
613:デフォルトの名無しさん
08/08/23 21:23:26
それじゃ、そんなに凄いシステムなんですか?
614:デフォルトの名無しさん
08/08/23 21:30:32
意味が分かりません><
615:デフォルトの名無しさん
08/08/23 21:47:33
>>551
コンピュータって何ですかレベルだとしたらどうでしょう?
無理でしょうか?
パソコンを使って遊ぶことが出来る(YouTube見たり、共有ソフトでファイル集めたり、
集めたファイルを扱ったり・・・でもフォルダなら分るけどディレクトリだと難しく感じるレベル)けど、
仕組みはさっぱり分らないというレベル。
HTTPってそう言えば何の略?みたいなレベルだとして。
情報系の大学の学部を出てるわけでも、専門学校を出てるわけでもなく、
普通の私立の文科系を卒業してる程度の人間だと仮定すると絶望的???
616:デフォルトの名無しさん
08/08/23 22:07:09
「JAVAプログラマの新入社員」程度なら無理じゃないでしょ
ゼロから初めて半年でも
617:デフォルトの名無しさん
08/08/23 22:11:11
>>615
まあ、あくまで一例だが、
知っている情報系の中小企業だと、Excelしか使ったことの無い文系の新卒でも、3ヶ月で基本情報処理技術者が取れるように訓練される。
無論、当人の努力も大事だし、実際の試験で落第したなら、合格するまで昇給をストップされる。
618:デフォルトの名無しさん
08/08/23 22:44:48
IBMへ行った先輩の話だと、文系も理系もなく新人研修でしごかれるらしいな
C言語は2日で終わってC++を1週間、Java、Web、DBと容赦なく進むスケジュール表を事前に渡されるので
研修開始までに独習して一通りマスターしておくのが普通らしいな
619:デフォルトの名無しさん
08/08/23 22:45:31
String#equalsはjavaで真っ先に覚える部類だろ。
基本情報処理技術者って落ちる奴居るのか?
620:デフォルトの名無しさん
08/08/23 22:51:41
リフレクションに関する質問です。
interface Hoge {}
class HogeImpl implements Hoge{}
現在Hoge.classのみがあって(Hogeのインスタンスは存在しない)、HogeImplがHogeを継承しているかどうかを調べる方法はあるのでしょうか?
Hogeのインスタンスが存在しているのであれば
Hoge.class.isInstance(hogeImplInstance);
で確認できるのですが、Classのみでの確認手段が分かりませんでした。
newInstanceでインスタンス作って確認するしかないのでしょうか?
621:デフォルトの名無しさん
08/08/23 23:00:00
今ちょっと見ただけだけどisAssignableFromとかあるじゃん
622:デフォルトの名無しさん
08/08/23 23:00:06
HogeImpl.class.getInterfaces
てかClassのJavaDoc読んだ?
あと、それを確認しなければならない状態があるのかよ。
Hoge hoge = new HogeImpl();
と書けばコンパイルエラーになるだろ、implしてなければ
623:デフォルトの名無しさん
08/08/23 23:00:34
>>620
Class#isAssignableFrom(Class)
624:デフォルトの名無しさん
08/08/23 23:06:25
>>619
統計発表されてるだろ
625:デフォルトの名無しさん
08/08/23 23:11:03
あったんですね。迅速な回答ありがとうございます。
>>622
一通り読んだつもりだったのですが読み落としてました。
本当に申し訳ないです。
626:デフォルトの名無しさん
08/08/24 00:05:43
>>618
C言語2日って、それならやらない方がマシじゃねかw
こんな連中しかいないからWacsなんていう糞フレームワークしか作れないんだな(ワラ
627:デフォルトの名無しさん
08/08/24 00:14:21
>C言語は2日で終わってC++を1週間
どう考えても無謀だしな。
628:デフォルトの名無しさん
08/08/24 00:22:57
いいかげん嘘つきの相手なんかすん
629:デフォルトの名無しさん
08/08/24 01:50:13
以下のURLのような、図をプログラムで解析するようなプログラミングの問題で
URLリンク(www.i.u-tokyo.ac.jp)
(沢山ある、それぞれの頂点が辺で結ばれていたり、いなかったりする)
私は、2次元配列を用いて、cell[結合元の番号][結合先の番号]=0or1のようにして表して解こうとしたのですが、
なかなかうまくいきません。このような問題の本流というか、良いやり方はどのようなものでしょうか?
また、上記urlの問題の最後の方にある頂点から別の頂点への距離を求めるものがあるのですが、
私には遺伝的アルゴリズムを用いた手法しか思い浮かびません。しかし、大学院入試のプログラミング問題程度で
そのようなものが要求されるのは考えにくいので、私が何か見落としている気がします。
問題の解釈すら違うかもしれません。どのようなレスでもいいので、お願い致します。
630:デフォルトの名無しさん
08/08/24 02:18:34
>>629
すまん。
まったくわからん。
ただ、おれにわかるのはスレ違いということくらい。
631:デフォルトの名無しさん
08/08/24 02:32:43
良いやり方というのは特にありません
たぶんお勉強にこだわりすぎなんじゃないですか?
632:デフォルトの名無しさん
08/08/24 02:36:29
>>629
Q2-1はつながってる先を順に調べて、ツリー状に調べてゆくってことかな?
Q4は、
辺を追加していく順序に就いて悩んでいるのだろうけど、
冒頭に、「N は変えるが同じ頂点対の並びを利用する. その場合, N 番目以降の頂点対は無視する.」ってあるから、
G3は単にファイル上の登場順にN番目までの辺で出来たグラフ。
残りもその順で追加して行くだけでは?
633:デフォルトの名無しさん
08/08/24 03:21:50
IBM Javaで暗号化してSun Javaで復号化すると
IBM Javaのクラスが見つかりませんとエラーが発生しました。
java.lang.ClassNotFoundException: com.ibm.crypto.provider.DESKey
暗号化キーは、シリアライズ化してあったものをObjectInputStreamでよみこもうとした時に上記エラーが発生しました。
回避策わかる方いますでしょうかm(__)m
634:633
08/08/24 03:58:06
Objectをシリアライズせず、キーのデータのみ受け渡しすれば
異なるVM間で復号化できましたm(__)m
635:デフォルトの名無しさん
08/08/24 04:01:35
VM実装依存のクラスつかってりゃClassNotFoundExceptionでるだろ。馬鹿か?
636:デフォルトの名無しさん
08/08/24 11:27:14
RMIのリモートオブジェクトに対して、new Socket().isConnected()に当たるようなコネクションの確認はできるでしょうか?
637:デフォルトの名無しさん
08/08/24 17:21:29
javac <ファイル名>.java は出来たのですが、
その次にファイルを実行出来ません。
どうすればいいでしょうか?
638:デフォルトの名無しさん
08/08/24 17:41:14
URLリンク(wisdom.sakura.ne.jp)
ここでどぞ
639:デフォルトの名無しさん
08/08/24 18:53:41
JavaEEのパフォーマンスチューニングの相談もここでOKですか?
640:デフォルトの名無しさん
08/08/24 19:17:26
同じバージョンのJREをつんだ違うOSで、同じbeanをシリアライズしたバイトデータの中身はまったく同じなのでしょうか?
641:デフォルトの名無しさん
08/08/24 19:25:32
バージョン違えばそりゃ違うんじゃね?
642:デフォルトの名無しさん
08/08/24 23:39:58
Javaの勉強を最近始めた超初心者です。
勉強してる中でパッケージの内容からどうしても先に勧めません。
あるプログラムの頭にpackage パッケージ名;と打ち込んだのですが、
"予想されたパッケージと一致しません"と言われうまく起動してくれません。
どういった名前を付ければ予想されたパッケージになるのでしょうか。。
教えてください。。
643:デフォルトの名無しさん
08/08/25 00:15:44
>>642
パッケージが「package foo;」だったら、そのソースファイルはfooディ
レクトリの中にある必要がある、のが原因かもしれない。
644:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/25 04:17:07
>>644
ImageIconには画像ファイルのパスを引数にとるコンストラクタがあるから
ファイルから画像を読み込んでJLabelのアイコンに設定するならImageを作らなくても
JLabel label = new JLabel(new ImageIcon("C:\\~~.jpg"));
でいけるよ
646:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/25 16:14:35
>>646
List <aaa> c = new ArrayList<aaa>();
aaa d = new aaa();
648:デフォルトの名無しさん
08/08/25 16:28:06
>>647
new 試したけどいまいち書き方がわかりませんでした。
ありがとうございました。
649:デフォルトの名無しさん
08/08/25 16:38:27
現在Javaで動画を扱おうと試行錯誤していますが、いまいちできるかどうかもわからない状態です。
機能的には、デスクトップをプログラムでキャプチャしてそのままAVIなどの動画に変換して出力したいのですが、
Java言語ではどのようにすれば可能なんでしょうか?
650:デフォルトの名無しさん
08/08/25 16:40:49
>>649
Vectorから適当なスクリーンキャプチャをダウンロード・インストールして、
Javaサイドから定期的に呼び出す。
というのではいけませんか?
651:デフォルトの名無しさん
08/08/25 16:45:13
JAIについて質問です。
JAI入門書のサンプルプログラムをコンパイルすると下のようなエラーが出ます。
パッケージ javax.media.jai は存在しません。
JAIもJDKのPathの設定のようなものがいるのでしょうか?
652:デフォルトの名無しさん
08/08/25 16:47:47
>>651
要るんだと思いますよ。
653:デフォルトの名無しさん
08/08/25 17:28:36
>>651ですが
どう設定すればいいか教えてください。おねがいします
654:デフォルトの名無しさん
08/08/25 17:44:14
>>653
入門書なら設定の仕方とかは書いていると思いますよ。
もし書いていないならその本は捨てても構わないと思いますよ。
655:デフォルトの名無しさん
08/08/25 19:36:02
オプションパッケージはインスコするかバンドルするかってちゃんとjavadocに書いてあるだろうがjavadoc嫁。
それにオプションパッケージのreadmeにも書いてある。
JMFのインストーラ版なら決め打ちで勝手にパス通すが。
656:デフォルトの名無しさん
08/08/25 22:04:55
一週間くらい前に、デザインパターン入門の本を教えてくれた人、マジありがとうございます。
いい本ですね。
657:デフォルトの名無しさん
08/08/25 22:24:13
どのあたりがいい本なのか書かないと
658:デフォルトの名無しさん
08/08/25 22:31:38
そもそもどの本だ?
659:デフォルトの名無しさん
08/08/25 22:32:54
文章が読みやすい
例が簡潔でわかりやすい
細かいフォローもばっちり
デザインパターンをそれぞれ関係づけてあって覚えやすい
基礎から実践に近づくために必要な知識が効率的に吸収できます。
660:デフォルトの名無しさん
08/08/25 22:42:54
教えてくれた人にだけわかればいいから質問してくんなよ。ケッ。
661:デフォルトの名無しさん
08/08/26 00:16:44
その本を超えるようなホームページを作ってください!
662:泣きそうです
08/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:泣きそう
08/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:泣きそう
08/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:泣きそう
08/08/26 13:50:39
長く書いてしまってごめんなさい。
けど、どなたか教えて下さい。
お願いします
666:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/26 14:43:34
それ以前にxmlの設計が腐ってる。
xmlスレ行って出直して来い。
668:デフォルトの名無しさん
08/08/26 15:30:04
>662
コンパイルエラー
URLリンク(javafaq.jp)
669:デフォルトの名無しさん
08/08/27 00:15:27
>>662
普通はこんなかんじ。
indexはいらんかも。
<config>
<ptn_data index="1">
略
</ptn_data>
<ptn_data index="2">
略
</ptn_data>
</config>
670:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/27 07:59:53
>>670
コマンドラインはプラットフォームのデフォルトエンコーディングで扱
われると思う。batファイルとか書いてあるってことはWindowsかね。で
あれば、コマンドラインはms932で書かないと化ける。
ところで「実行ファイルの文字コードがms932」ってどういう意味?
672:デフォルトの名無しさん
08/08/27 08:02:34
>>670
echo 日本語パラメータ
だけの内容のbatファイルをEUC-JPで作成して試してみ?
たぶん引数の前、コマンドラインシェルが解釈した段階で化けてると思うぞ。
673:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/27 12:30:06
SJIS外の文字は入ってないの?
675:デフォルトの名無しさん
08/08/27 12:43:56
>673
1. response の PrintWriterオブジェクトの文字コードは何なのかしら?
2. request は正しい文字コードで入力を読み取ってるかしら?
3. 674 のように Shift_JIS外の文字は入ってないかしら?
4. response で出力した先の文字コードは 1 と同じかしら?
676:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/27 15:38:43
nowは今日の日付に加えて現在の時刻も入ってるはず
そのDBのdate型が時刻を格納してないなら00:00:00になるはず
今日の現在時刻と今日の00:00:00を比較したらどうなるかというと・・・
678:デフォルトの名無しさん
08/08/27 15:43:11
RMiの呼ばれる実装クラスにて、要求先のIPアドレスを取得する方法はあるでしょうか?
引数で情報を渡すはなしでお願いします。
679:デフォルトの名無しさん
08/08/27 15:51:05
>>673
request.setCharacterEncodingでSHIFT_JISを有効にする。
あと、Tomcat5.0以降のバージョンでGetの処理すると、
デフォルトの動作でsetCharacterEncodingが無効になるから注意。
server.xmlの変更で対処して。そのあたりはググれば出てくる。
680:デフォルトの名無しさん
08/08/27 15:55:34
>>677 nowをjava.sql.Date()のインスタンスにしてもtrueになるんですけど・・・
jre変えてみまッス。
681:デフォルトの名無しさん
08/08/27 16:05:40
>>680
java.sql.Dateも一緒
Javadoc見てみ、時間をミリ秒で表すって書いてある
URLリンク(java.sun.com)
682:デフォルトの名無しさん
08/08/27 16:20:08
結局データーベースから取ったDateとDateインスタンスは比較しても無駄って事ですか?
683:デフォルトの名無しさん
08/08/27 16:24:51
>>682
java より先に小学生レベルの時刻の概念から学んだ方がいい
684:デフォルトの名無しさん
08/08/27 16:28:50
>683 あいそうします。ありがとうございました。
685:デフォルトの名無しさん
08/08/27 16:55:15
時間・時刻を比較したいのか
686:デフォルトの名無しさん
08/08/27 17:11:31
afterとbeforeの動作を誤解してるとかじゃないよね?
nowが現在の時刻なんだから、それよりもafterな時刻なんて
存在しない……だから、”問題の箇所”は常にtrueになって当たり前。
687:686
08/08/27 17:13:43
「それよりもafter」って変だったorz
現在の時刻よりも、未来の時刻は存在しないから
”問題の箇所”は常にtrueって言いたかった……
688:デフォルトの名無しさん
08/08/27 21:01:43
>>686 もしjava.sql.Date型同士のインスタンスを比較するとして両方のインスタンスが
同年同一日ならafterでもfalseが帰る。
689:680
08/08/27 21:20:11
>681 nowの方の日にちを調整することで解決させました。
このまま行ってたら大きな誤解を持ったまま行くところでした。thx。
690:デフォルトの名無しさん
08/08/27 21:30:00
Component component = new JScrollPane(new JPanel());
JTabbedPane jtp = new JTabbedPane();
jtp.addTab(component);
のように書いた時に、後々componentを取得する方法はあるで
しょうか。
ご教授お願いします。
691:690
08/08/27 21:40:35
すみません。690ですが
取得したいのはcomponentではなくて、
スクロールペインの中のJPanelでした。
宜しくお願いします。
692:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/27 23:17:58
>>691
((JScrollPane)component).getViewport().getView()
694:デフォルトの名無しさん
08/08/28 01:24:16
>>693
ありがとうございます。
お陰で無事解決しました。
695:688
08/08/28 09:17:37
ごめ、嘘ブッコイタ。
696:デフォルトの名無しさん
08/08/28 10:11:00
>>678
java.rmi.server.RemoteServer.getClientHost() でガマンしろ。
697:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/28 11:36:50
すでにインストールされてたっぽい JRE 1.4.2_03 は特に使わないなら削除してしまえ
あと javac -version も
699:デフォルトの名無しさん
08/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
08/08/28 11:54:23
自己解決しました。
ありがとうございました。
701:デフォルトの名無しさん
08/08/28 11:55:18
>>699
環境変数の PATH を確認する。
恐らく "C:\jdk1.4.2_03\bin" みたいなのが含まれているはず。
702:デフォルトの名無しさん
08/08/28 15:08:43
デザインパターンの本を買った人へ。
貴方のほらふきの癖を治せば、少しは友達が増えると思います。
703:デフォルトの名無しさん
08/08/28 16:32:37
javaでゲームのようなものを作っているのですが、(GUIです)質問させていただきます。
ゲームを起動すると
ログイン画面→どのゲームを選ぶかの選択画面→ゲームの画面
と画面を入れ替えていきたいのですが、どうやって処理すればいいでしょうか?
やはりカードレイアウトを使うしかないのでしょうか?画面の切り替えには・・・
704:デフォルトの名無しさん
08/08/28 16:50:41
質問させてください。
while文を回して配列に格納した多くのデータを、
終了後にファイルに出力するにはどうするのが一番効率的でしょうか?
ファイルの入出力がよくわからなくて…よろしくお願いします。
705:デフォルトの名無しさん
08/08/28 17:06:04
Ubuntuなら
update-alternativeっていうコマンドでやる。
PATHには入ってないんじゃないかな?
javaのパスを直接指定する人も珍しいだろうし。
とりあえず気休めだが、
JAVA_HOMEをいじっておけ。
706:デフォルトの名無しさん
08/08/28 17:58:51
>>704
効率なんか気にせず作ってみる
だいたい気にするほど遅くないことが多い
実際に気になるほど遅かったらそのときに訊くといい
707:デフォルトの名無しさん
08/08/28 18:01:26
>>703
古いコンポーネントをremoveして新しいコンポーネントをaddすることもできるよ
708:704
08/08/28 18:50:07
>>706
ありがとうございます。とりあえず作ってみます。
709:デフォルトの名無しさん
08/08/28 19:30:56
>>707
ありがとうございます。removeで取り除くことを忘れてました。。
カードレイアウトとどちらが良いんでしょう・・・
710:デフォルトの名無しさん
08/08/28 19:32:27
>>707
ありがとうございます。removeで取り除くことを忘れてました。。
カードレイアウトとどちらが良いんでしょう・・・カードは重くなりそうな印象で
711:デフォルトの名無しさん
08/08/28 19:35:01
二重・・・すいませんov2
712:デフォルトの名無しさん
08/08/28 23:13:00
>>710
印象で選択するのは危険。
実測してみればいい。
713:デフォルトの名無しさん
08/08/28 23:39:43
他のスレで話題に上がってて気になったんで質問。
Javaでチャット機能作る場合は一人に1スレッド設計しか無理なの?
サーバからのメッセージも随時受け取らないとダメだし
714:デフォルトの名無しさん
08/08/29 00:06:32
一人の何に1スレッドを当てるの?
715:デフォルトの名無しさん
08/08/29 00:55:57
スレッドは常にwhileで受信の準備をしてるんじゃない?
716:デフォルトの名無しさん
08/08/29 01:31:12
非同期
717:デフォルトの名無しさん
08/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
08/08/29 01:53:34
すんまそん。コードの2行目は
list.add(new Parent());
じゃなくて
list.add(new Child());
でした。どっちにしろ結果は同じなんですけどね。
719:デフォルトの名無しさん
08/08/29 02:02:59
>型を見るとadd()の引数がnullになってました。
?
720:デフォルトの名無しさん
08/08/29 03:21:38
>717
何度書いたか分からんが、ジェネリクスは静的解決、キャストは動的解決。
List<? extends Parent>
という宣言を書いたからオカシイ。
そもそも、宣言部分の代入式のほうで、<Child> としているではないですか。
何故、List<Child> と書かないのですか?
721:717
08/08/29 03:26:41
>>719
Eclipseでの話となりますが・・・
「list.」までを入力するとメソッド一覧が出てきますよね?
そこでaddの定義を見ると、add(null arg0)となっているんです。
addをCTRL+左クリックで表示されるクラスファイルエディターでも確認できます。
722:デフォルトの名無しさん
08/08/29 03:38:10
なんでジェネリックス入れてRTTI入れなかったんだっけ?
VMの実装が複雑になるから?
723:デフォルトの名無しさん
08/08/29 03:53:44
それがJavaだから。
724:デフォルトの名無しさん
08/08/29 04:10:33
>>717
List<? extends Parent>
には、Parent を継承したクラス Child1 や Child2 などを用いた
List<Child1> や List<Child2> などが代入されているかもしれない。
これらが同時に安全に add できるものは、
どんな型にもキャストできる null しかない。
725:デフォルトの名無しさん
08/08/29 09:03:12
デュアルコアのCPUが2スレッドを同時に処理するJavaプログラムを動かすとします。
この場合1コアあたり1スレッドなんていう動作になるんでしょうか?
もしそうだとすればnコアでn未満のスレッドを動かしたときどうなるのか非常に気になりますが。
726:デフォルトの名無しさん
08/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:デフォルトの名無しさん
08/08/29 10:22:07
従来のシングルコアで10スレッド動かしたら
1コア当たり何スレッドの処理をするんだろうか?
Javaプログラムだと5スレッドかもしれないし、100スレッドかもしれない
しかし、これだと処理されないスレッドが発生し、さらに
他のスレッドも待ち状態のままになり、見かけ上ではフリーズしたのと同じだ
これを回避するためにPentium4のHT技術が開発されたんだな
Intelすげえという電波ですねわかりません
728:デフォルトの名無しさん
08/08/29 14:55:48
コア数よりスレッド数が多い場合は見かけ上ではあるがOSがタイマー割り込みで実現する。
シングルCPU時代のスレッドは基本的に待機スレッド。
ビジースレッドの並列処理で処理効率をあげるような手法はマルチじゃないと意味はないが、
基本的にIOやイベント待ちでスレッドは止まっているものだ。
それからHTは微妙でビジースレッドの並列処理向きじゃないんだよな。
729:デフォルトの名無しさん
08/08/29 15:13:40
新規質問。
Servlet 作ってて困っているのだけど、
スレッドID ってスレッドが動いてる時に突然変更されることってありえる?
730:デフォルトの名無しさん
08/08/29 15:17:10
>>729
ない
ってJavadocに書いてあるよ
731:デフォルトの名無しさん
08/08/29 16:00:09
intelがjava bytecodeとclassesを直接読み取っちゃうCPU命令を実装してくれればいい。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4352日前に更新/268 KB
担当:undef