[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 17:23 / Filesize : 229 KB / Number-of Response : 870
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者】Java質問・相談スレッド111【大歓迎】



1 名前:デフォルトの名無しさん [2008/01/13(日) 00:25:22 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド110【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1197710566/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝のう存じます。

次スレは>>980あたりで。

643 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 13:38:09 ]
エラーって例外かね?

アプレット相手だと、未だにJDK1.1互換で考えなきゃいかんのか?
だとすると、Thread.UncaughtExceptionHandler とか使えないし、
EDT相手だとuncahughtExceptionをオーバーライドしたThreadGroup使って、
ってわけにもいかんだろうし。

644 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 13:58:28 ]
>>643
すみまません。書き方が悪かったですね。
具体的にはアプレットのウインドウのリサイズを感知したときに再読込から始めたいのです。
アプレットのウインドウサイズは変わらない前提で作ってあったので、
外部から動的に変更されてそのまま実行するとエラーになるのです。

もちろん全てのスレッドを止めてメモリも解放して、最初からやり直すように書けばいいだけなのですが
もっと簡単に再開できる方法が有ればと…(昔のBASICのRUNみたいに(^^;)

645 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 14:27:09 ]
>>644
現実行環境の破棄->再読み込み->再実行 とかを
一発でできる便利メソッドがあるか、って話?

ないはず。

646 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 14:56:35 ]
>>645
ありがとうございました。
手抜きは諦めます。

647 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 15:08:13 ]
>>639
ありがとうございます。-Dcom.sun.management.jmxremote 設定 + jconsole で
取得できる情報でまさに構わないのですが、起動引数が自由に弄らせて貰えない
状態でして…再起動は許されるかもしれません。

あるいは、上記のようなシステムプロパティを設定しなくてもできるもの
なのでしょうか?

648 名前:デフォルトの名無しさん [2008/02/01(金) 15:27:18 ]
って作ればいいじゃんメソッド

649 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 15:42:48 ]
>>634
this に関係なくそんなレース問題みたいなのは発生しうる、と言ってるのが
理解できんのかこのバカ。ゆとり読解力だと社会生活も支障あるだろ、マジ同情。

650 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 15:48:02 ]
>>646
LiveConnect で JavaScript 呼び出してページリロードでもさせれば?

651 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:07:05 ]
LiveConnect使うとIEじゃ動かないだろ。
ページリロードくらいjavascriptの範囲で出来ると思うが。



652 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:13:19 ]
IE だと何が動かないと?

653 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:14:05 ]
IEってLiveConnect使えなかったっけか?

654 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:21:40 ]
>>645
AppletContext#showDoculent(URL, String) で、
ターゲットに "_self" 使えば再読み込みできんじゃね?

655 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 16:25:06 ]
≫ doculent

656 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:17:51 ]
IEはActiveXScripting。NNはLiveConnect。

657 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:48:06 ]
ActiveXScripting て単なるスクリプティング環境で接続仕様じゃないんだけど。
Sun の Java Plug-in ドキュメントでも使い分けてないし、ベースが Netscape の
LiveConnectにあわせたインターフェースなんだから LiveConnect で良いじゃん。

658 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 18:55:51 ]
AWT で言うところの Canvas って Swing で JPanel 使えば良いんですかね?
コンポーネント配置するんじゃなくて自分で描画する奴。

659 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:28:02 ]
JPanelでもいいがJComponentでもいい
paintじゃなくてpaintComponentをオーバーライドすること

660 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:39:07 ]
>>657
一人でそう思っとけばいいだろ、いちいち騒ぐことでもない

661 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:40:09 ]
(´,_ゝ`)プッ



662 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 19:54:28 ]
言語仕様3版から導入されたコンストラクタ終了時のfinalフィールドの可視性の保証は、
this が漏洩されると保証されなくなるって聞いたけど、
コンストラクタがオーバライド可能なメソッドを呼び出すことについては、どう扱われているん?
おしえてエロイ人


663 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 20:01:06 ]
普通に未初期化の null とか 0 とかの値で参照してしまうだけじゃね。

664 名前:デフォルトの名無しさん [2008/02/02(土) 02:12:51 ]
JNDIについてわかりやすいサイトがあればおしえてくれませんか。
EJBの勉強で別サーバで動くEJBを動かしたいんですが、JNDIの設定
がわからなくてエラーがでます。

665 名前:デフォルトの名無しさん [2008/02/02(土) 02:47:54 ]
>>664
もうちょっとエラーの内容を細かく書いてみるべし。

666 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 04:10:02 ]
昔の Java からどう変わってきたかざっくり書いてある HP ないですか?

667 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 04:24:20 ]
>>666
こんなん? まぁキーワードから先は自分で調べれ
lab.moyo.biz/references/java/version.xsp
lab.moyo.biz/references/java/history.xsp

668 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 11:21:11 ]
質問なんですけど・・・アメーバビジョンとかの GOOD やら BAD を選ぶフォームあるじゃないですか?
あれで押しても動画の視聴が遮られないで反映するのって何で実装してるのですか?

669 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 11:23:59 ]
web板池

670 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 12:16:17 ]
そうします。失礼スマスタm (_ _) m

671 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 13:52:45 ]
iアプリスレから誘導されました
iアプリでTextBoxに入力する時には一度決定キーで文字入力状態にしますが、
KeyPressedでキーの数字を順次読み込ませてTextBoxに入力させたいのですが、
方法がいまいち分かりません。
public void KeyPressed(int key) {
text.setText(text.getText() + (key));
}
で良いのでしょうか?ご教示願います。



672 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:28:49 ]
固有のAPIはここに誘導してもどうしようもないと思うんだが。

673 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 14:40:39 ]
>>671
int key が数字ボタンに表示されてる数字(1とか2とか)ならそれで大丈夫。
iアプリのAPIについては良くわからないので別の問題なら私は無理。

というか、〇〇で大丈夫ですか? と聞くぐらいなら、試せばいいじゃないか、と。
「△△になるはずだったんだけど、□□と表示されてしまう」というなら、
解決法なり誘導なり、色々手伝えることがあるとは思うのだが…

674 名前:671 mailto:sage [2008/02/02(土) 16:16:25 ]
>>673
質問の仕方が悪く、大変申し訳ありませんでした。
上記のソースを使って編集不可に設定したTextBoxに
入力できるようにしているつもりなのですが、
TextBoxには数字が入力されません。
どうすればよいのでしょうか。

675 名前:デフォルトの名無しさん [2008/02/02(土) 16:34:08 ]
Javaアプリケーションを実行形式で配布する方法ってありますか?
どこかのスレで話し合われていたら、誘導お願いします。

なんか、過去ログにはあったんですが、
現行スレなさそうで・・・。

676 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 16:50:47 ]
>>675
ダブルクリッカブルでいいのかそれともネイティブな実行可能ファイルを吐きたいのかによる。
ダブルクリッカブルでいいならjar生成するときにマニフェストでMain-Class指定。
ネイティブならjava, exeなどで検索。

677 名前:デフォルトの名無しさん [2008/02/02(土) 17:22:24 ]
最近、ここ一年くらいJava使ってないんだが、
最近のJavaの近況ってどうよ?

SpringとかAjax周りとかO/Rマッピングとか、StrutsとかRoRのJava版とか
昔聞いた記憶があるんだが
そのほか新しいトピックがあるとしたら今は何よ?

678 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:29:28 ]
WicketいいよWicket

679 名前:デフォルトの名無しさん [2008/02/02(土) 17:31:28 ]
劇団四季のあの芝居か?

680 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:28:36 ]
ちょいとパッケージについて質問したいのだがコンパイラ時に
classファイルが1つしか出てこないのだが(5つのファイルで構成されている)
これは何故なのだろうか・・・。ちなみにコンパイルは通った。
packageの名前が違うというジョークは無い。
ちなみに参考書についていたパッケージのプログラム(4つのファイルで構成)
は普通に通って4つ分のclassファイルが出来たのだが。

681 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:41:53 ]
>>680
javac だと、コンパイルしたクラスが直接使用してない
無関係なクラスは自動的にはコンパイルされないけど、
そーゆー話じゃなくて?



682 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 19:59:55 ]
>>681
あ、もしかしたらそれかもしれない。回答thx。

683 名前:デフォルトの名無しさん [2008/02/02(土) 21:08:36 ]
例えば計算アルゴリズムを作ってランチャー形式で計算させるようなアプリケーションを作る場合
追加のアルゴリズムをモジュールのように取り込んで別々の計算をさせるようにするには全体をどんな構造にすれば
いいのか
何かコツみたいなものあります?

684 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 21:12:27 ]
ttp://www.raw-paradise.com/

685 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:41:23 ]
どうでもいいことで恐縮なんですが、java.util.CalendarのMonthって、なぜ0からなんでしょう?
年はおろか、日すら1から始まるのに、月だけ0-11にしたのかわかりません。
一通り調べたのですが、なかなか出てこなかったので、知っている方いらっしゃれば教えてください。

686 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:48:12 ]
>>685
月は数字じゃなくて、名前がついてるからじゃね?
曜日も0からだし。

687 名前:685 mailto:sage [2008/02/02(土) 23:49:24 ]
と、書いた矢先にそのものズバリの答えを見つけました。
スレ汚し失礼しました。

# 以下チラ裏
# 後続のために念のため見つけたURL書いときます
# JavaFAQ: Date / Calendar
# ttp://javafaq.jp/S100.html


688 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 23:50:29 ]
>>686
すいません、回答ありがとうございます。
その通りでした。

689 名前:デフォルトの名無しさん [2008/02/03(日) 01:40:07 ]
>>679
それはウィキッド

690 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 04:20:11 ]
わかりにくいボケにわざわざ突っ込んであげる>>689に全俺が感動。


691 名前:デフォルトの名無しさん [2008/02/03(日) 16:03:37 ]
664です。質問内容がが不明瞭でした。
EJBを使用する際に、
ObjHome objHome =
(ObjHome)context.lookup("java:comp/env/ejb/test.ObjHome");
でhomeを取得してくるのですが、
これってリモートでEJBをCALLするときにEJBが存在するサーバIPや
ポートの指定などしていないのですが、何故callできるんでしょうか。




692 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 16:30:23 ]
>>691
・InitialContext.lookup()の引数に環境情報を渡す
・jndi.propertiesにホスト情報を記述する
・APサーバのJNDIサービスにエイリアスを設定する
上記のどれか。
何もなければ同一ホストから検索される。


693 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:26:01 ]
質問させて下さい。

Object obj = new Object() { ... }

こういう文法が理解できません。
中括弧の中では、何をしているのでしょうか。
コンストラクタを定義するのと同時に、
インスタンスを作成している感じでしょうか?
メソッドに与えられるのは引数だけだと思っていたので、
それ以外の何かを同時にしているというのがよくわかりません。
この書き方の概念を教えてください。

出来れば言語仕様上で、こういう記法がどこに書いてあるかの
ポインタも合わせて教えていただけると嬉しいです。
(さらに言えば、日本語で)
こういう書き方をなんと呼ぶのかも知らないので、検索もできず……。

この書き方は、例えば ThreadLocal クラスの
API の 1.4 以降で、使い方の説明に出てきます。
sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/lang/ThreadLocal.html

694 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:28:20 ]
>>693
匿名クラスでググれ

695 名前:693 mailto:sage [2008/02/03(日) 17:33:48 ]
>>694
ありがとうございます!
ぐぐって無事に正体がわかりました!

696 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:34:30 ]
>>676
ありがとうございます。

ダブルクリックで起動できればいいかなと思っていますので、
ちょっと試してみます。

.batファイルを作ったり、
ショートカットで作ったりしていましたが、
それって、環境変わったらだめくさいきがしまして・・・。

697 名前:868 mailto:sage [2008/02/03(日) 19:50:23 ]
>>869
回答ありがとうございます。
ProjectはBuild automatically clean にチェックが入っています。
しかし新しく作成したディレクトリがTomcatで表示されません。
webapp直下にjsp-xxxというフォルダを作ったのですが。


698 名前:868 mailto:sage [2008/02/03(日) 20:00:04 ]
誤爆しましたorz


699 名前:697 mailto:sage [2008/02/03(日) 20:16:20 ]
697の質問ってどこですればいいのでしょうか?orz

質問先でスレ違いといわれてしまいました。

700 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 20:32:45 ]
それだけで状況が解るエスパーを探しているのかい?

701 名前:697 mailto:sage [2008/02/03(日) 20:52:24 ]
>>700
回答ありがとうございます。
あと何を書いたらよいでしょうか?



702 名前:697 mailto:sage [2008/02/03(日) 21:38:08 ]
くだスレで聞いてみます。

703 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:56:30 ]
エスパー頼りならどこで聞いても同じだろ

704 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:25:39 ]
>>703

あとは何を書いたらいいのかわかりません。
何を書いたらよろしいでしょうか?

705 名前:デフォルトの名無しさん [2008/02/03(日) 23:52:19 ]
java.lang.Process#waitFor()で永久ブロックになってしまうことがあるので
タイムアウトを設定して回避したいのですが、
タイムアウト付のwaitFor代替の方法ってあるのでしょうか?
いちいちTimer設定して破棄するしかないのだろうか・・・


706 名前:デフォルトの名無しさん [2008/02/04(月) 00:22:23 ]
>>687
Java FAQも古いな。

Java5以降になってから解決した問題が未だに載っている。
Java5以降の開発では有用性が弱冠下がっている。
Java6以降の対応版Java FAQを作るべき時期に来ているのだろうか?
それとも、すでにそれに相当するサイトによって置き換えられてしまったか?

707 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:22:26 ]
final Process proc = Runtime.getRuntime().exec("/bin/shine");
Thread t = new Thread(){
public void run(){ try{ proc.waitFor(); } catch(InterruptedException ex){/* */}}
};
t.start();
t.join(5 * 1000);
if(t.isAlive()){ proc.destroy();}

708 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:24:31 ]
>>690
www.shiki.gr.jp/applause/wicked/

こいつよ

>>678はWicket
劇団四季でやってるのはWicked

スペルが一つ違い。


これは面白いミュージカルなんだろーか


>>678のおかげで見たくなってきた

709 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:27:08 ]
>>702
誤爆してるっていうから、レス番が>>898と未来へ飛んでるわけな?
今のところ、>>898のレスが無いから、
元の質問も今の君の質問からも、君が何をしたいのか
わからないんだ。情報を出してもらわないことには、質問には
答えられない。エスパーする以外では

710 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:29:17 ]
>>707
ありがとうございます。
結局waitForのタイムアウト指定版っていうのはないみたいですね…

711 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:36:30 ]
>>706
こういうまとめ系って Wiki とかじゃないと管理人がヘタったら終わりなんだよね。
他人が勝手にコピペして引き継ぐわけに行かないし。Wiki 立てるのって簡単なのかな?
サーバリソース余ってるからやっても良いんだけど。



712 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:52:55 ]
すみません。
>>709
アドバイスありがとうございます。そのとおりですね。

apache-tomcatとEclipseを使っています。
EclipseにSeaser2プラグインを入れました。
Churaプロジェクトを新規作成、
デフォルトのindex.jspがtomcatで表示されることを確認(localhost)

で、webapp直下にディレクトリを作成してファイルを置きました。
でコンテクスト定義の更新をかけたのですが、
作成したディレクトリが見えません。
ProjectはBuild automatically clean にチェックが入っています。

おそらくweb.xmlを直さないといけないのでしょうが
どこを直したらいいか見当がつきません。
ネットも探してみましたが分かりませんでした。
よろしくお願いいたします。

713 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 00:57:20 ]
Eclipseの外でディレクトリ作って、Eclipse側で更新かけてないというオチは俺は良くやる。

714 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 01:03:09 ]
このスレのWikiの更新具合も微妙

715 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 01:20:40 ]
>>713
回答ありがとうございます。
Eclipseの中でディレクトリを作っています。

716 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 03:36:48 ]
質問ですノ
リファレンスの本ってあったほうがいいでしょうか?
ワザあり!逆引き速引きリファレンスJavaってのがいいって聞いたのですが
どうなんでしょうか?

717 名前:デフォルトの名無しさん [2008/02/04(月) 10:11:33 ]
それくらい自分で考えろ。人に聞くことじゃない

718 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 14:30:47 ]
>>711
Wikihouseに立てるのは簡単だよ。

これ使う手もあり
ja.wikibooks.org/wiki/

719 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 17:32:20 ]
>>716
まず本屋でパラパラその本を捲ってみろ。

720 名前:デフォルトの名無しさん [2008/02/04(月) 19:44:11 ]
パラパラの本か
見た事無いなあ

721 名前:デフォルトの名無しさん [2008/02/04(月) 19:50:11 ]
>>692
サンクスです。
リモート呼び出しでも何の設定もしていなければ同一サーバ上のEJBを探しにいく
ということですね。

同一サーバ上で動かしていますが、
Context initial = new InitialContext();
Object objref = initial.lookup("NewSessionRemote");
で、lookupのところで
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial

が出ます。何か設定しろということらしいのですが・・・



722 名前:デフォルトの名無しさん [2008/02/04(月) 21:05:25 ]
初めまして。Javaを最近になって勉強し始めた者です。
サンプルプログラムを探していて、このようなサイトにたどり着きました。
www.catch.jp/program/java/

ページ上部の「021: 10個の点が3-Dで移動する」のソースコードをコンパイルすると
classファイルが3つ出現しました。
使い方がわからなかったので、検索してみると「jar」コマンドで複数のclassファイルを結合できると知り、
試してみたのですがなかなかうまくいかないので、皆様のお力をお借りしたいです。
jarファイル作成についてはこのサイトを参考にさせていただきました。
www.tohoho-web.com/java/other.htm

このような場合にブラウザでアプレットとして動かすにはどうすればよいのでしょうか。
よろしくお願い致します。

723 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:05:25 ]
失礼します。

for(int i=0;i<numChips;i++){
mapChipImages[i]=createImage(chipSize,chipSize);
int x=i%numChipsInRow;
int y=i/numChipsInRow;
Graphics g=mapChipImages[i].getGraphics();
g.drawImage(mapChipImage,0,0,chipSize,chipSize,x*chipSize,y*chipSize,x*chipSize+chipSize,y*chipSize+chipSize,null);
}

numChips=64,chipSize=32,numChipsInRow=8です。
と、このようなものがあるのですがこちらの5行目(Graphics g=...)にて
Exception in thread "main" java.lang.NullPointerException
というエラーが発生してしまい困っております。
ttp://javagame.main.jp/index.php?FrontPage#rd9af24b
こちらのマップエディタの描画処理をrepaint();ではなく基礎-アクティブレンダリングで紹介されているものに
置き換えようとしたのですが上手く行かず困っています。
よろしくお願いします。

724 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:18:51 ]
マップエディタをアクティブレンダリングにして何の意味があるんだ?

725 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:25:43 ]
>>724
ごめんなさい。しっかりと書くべきでした。
ttp://javagame.main.jp/index.php?FrontPage#rd9af24b
で紹介されているマリオ風アクションゲームにてマップエディタを使い記録したものを
読み込ませるために使いたいのです。なので本来はマップエディタのマップを読み込み
描画するというところだけを抜き出せばよいハズなのですがどうも上手く動かなかったので
質問した次第です。ご迷惑をお掛け申し訳ありません。

726 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:27:21 ]
ついでに答えるか。
javaはパッシブレンダリングだからアクティブレンダリングするときは自分でバッファ管理しないとNPE出るけどそれじゃない?

ttp://homepage1.nifty.com/algafield/JavaGUIFaq19j.html#three4

727 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:30:29 ]
>>725
表示させるだけならアクティブレンダリングの意味ない

728 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 21:43:42 ]
>>726
まだ、私は日が浅いため理解するのに時間はかかりそうですが
頑張って理解してみようと思います。
>>727
そうなのですか。しかし、そうだとしても一枚のグラフィックを複数に分けて
使用するというのは今後も使いそうなのでできれば習得しておきたいと考えたのです。
実際、使う画像を一枚一枚分けて保存していては管理も大変だと思ったので。

729 名前:デフォルトの名無しさん [2008/02/05(火) 00:31:24 ]
解放したら自動的にnullになりますか?
これまでずっとCだったので、JAVAはよく分かりません。
www.asahi-net.or.jp/~ns9k-mr/csproject/jdbc_source/mvc.html

  }finally{
    try{
      if(rs != null) rs.close();
の部分です。
rsにnullを代入している記述は見つかりませんでした。
JAVAでは一般的に、*.close()すると、*はnullになるように
クラスが設計されているのでしょうか?

730 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:43:22 ]
>>729
> JAVAでは一般的に、*.close()すると、*はnullになるように
ならないよ。

731 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 00:47:27 ]
>>729
* がnullになる、という状態が上手く理解できていないので、Javaの方だけ説明します。

closeの内部で何をしているかについては実装しだいですが、
API の説明を見る限りでは、「JDBCリソース」を直ちに解放するようです。

try文の外、宣言部分で null 代入してます。
nullチェックをしているのは、値が入る前に例外が発生した時を想定しています。
ヒープからの解放は、GCにお任せなので、制御できません。



732 名前:デフォルトの名無しさん [2008/02/05(火) 01:13:45 ]
>>730>>731
それならfinallyで
      if(rs != null) rs.close();
こんなことが書いてあるということは、処理がうまくいった場合は
rs.close();が実行されて、その後にtryを抜けるところで
finallyによってもう一度rs.close();が実行されようとする悪いソースなのでしょうか?

733 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:26:31 ]
close() は 2 回以上呼んでも問題ないという Connection の仕様だから問題ない。
ただそのサイトのソースの書き方

}finally{
try{
if(rs != null) rs.close();
if(stmt != null) stmt.close();
if(con != null) con.close();
}catch(SQLException se){
se.printStackTrace();
}
}

とか文字列連結で SQL パラメータ追加したりとかウンコすぎ。

734 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:29:19 ]
>>733
>}finally{
>try{
>if(rs != null) rs.close();
>if(stmt != null) stmt.close();
>if(con != null) con.close();
>}catch(SQLException se){
>se.printStackTrace();
>}
>}

なにがいけないの?
一個目で例外が出ると全部コケる所?

735 名前:デフォルトの名無しさん [2008/02/05(火) 02:04:48 ]
>>733
Cでよくあるclose()のように、そのclose()も2回呼んでもエラーにならないと
想像してはいましたが、Cやってる人なら普通はclose()したらその直後にNULL入れるから
そういうソース見るとウンコかと。
でもJAVA知らないのでclose()の内部でnullする処理があるのか気になりました。

736 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:15:09 ]
> Cやってる人なら普通はclose()したらその直後にNULL入れる
そんなことしたことない。

737 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:22:06 ]
文字列を返すというクラスbを作りました。
bは引数が1つあって、引数に与えられた文字の手前に"f"を挿入した文字を返します。
結果は"fh"となることを期待しました。
期待通りになるように修正していただけませんか?

public class a {
 public static void main (String args[]) {
  String g = b("h");
  System.out.println("Hello World!!");
 }
}
public class b {
 b(String c){
  d(c);
 }
 private String d(String c) {
  String e = new String("f" + c);
  return e;
 }
}

738 名前:デフォルトの名無しさん [2008/02/05(火) 02:25:07 ]
>>735
それぞれの変数に値入れる前に例外発生してfinallyブロックに行く可能性があるからそういうコードになる。


739 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:25:30 ]
Javaの人でも close 直後に null を入れて大丈夫です。
但し、最終的な解放は GC 任せですので、あしからず。

Javaの場合は、裏でOSネイティブなリソースを使ってる場合があって、
明示的に解放してあげないと、何時までも占有する可能性がある。
特に、close はそういうことに関係してるかと。

740 名前:デフォルトの名無しさん [2008/02/05(火) 02:27:28 ]
>>737
まずコンパイル通せよ。
まぁそのままだと実行しても"Hello World!"としか表示されないだろうが。

741 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:30:15 ]
ローカル変数なら、nullを入れてもあまり意味がない。
フィールドや、外部に晒した変数なら、nullを入れるのもいいかもしれない。



742 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:32:36 ]
>>734
その通り。トランザクションの不整合などで rs.close() が例外になるとステートメントや
コネクションがクローズされない。

>>735
大きな try-finally 節の中で何度もオープン/クローズを繰り返すような時はクローズ後に
null を代入して、finally 節の close() は例外発生時の大域的な保障と位置づけることも
あるが、そのソースのように最後に 1 度だけやれば良いようなときは最後の finally に
任せてわざわざ try 節内ではクローズしない。一回目の close() で失敗したときの予備
としてもう一度試行する意図かもしれないが、DB の問題はもう一度やってうまく行くという
ものでもないし。つーかそのページの趣旨は JDBC コーディングどうあるべきかじゃない
んだからそんなお作法的なところは適当に読め。

743 名前:デフォルトの名無しさん [2008/02/05(火) 02:36:15 ]
>>738
それはエラーが発生した場合ですよね。
正常な場合にclose()を2回実行しようとするのはウンコだと思います。

>>739
JAVAは解放をGCがやってくれるらしいですが、Cと違って
やってくれるのはnewに対する解放のみなんでしょうか?

744 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:39:57 ]
>>743
スタックには参照しか置けねーよ アホ

745 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:42:28 ]
>>740
コンパイルしましたがまだ分かりません。
↓a.java
public class a {
 public static void main (String args[]) {
 String g = new String("");
// g = b("h"); コメントアウトしたらコンパイルできました。
  System.out.println(g);
 }
}
↓b.java
public class b {
 b(String c){
  d(c);
 }
 private String d(String c) {
  String e = new String("f" + c);
  return e;
 }
}

746 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:43:43 ]
そのソース、シャットダウンシーケンス入ると最悪だなw

747 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:45:03 ]
>>734

748 名前:デフォルトの名無しさん [2008/02/05(火) 02:45:47 ]
>>744
文章が簡素で短い。頭に思い浮かべている内容に自信がないみたいだね。
とりあえず744はアホのままでいいから744がスタックについて理解を
深めるのを阻止するためにスタックの話題はスルー。

749 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:50:58 ]
>>748
ハァ?

ヒント: C はクラスのインスタンスをスタックに置ける

750 名前:デフォルトの名無しさん [2008/02/05(火) 02:59:14 ]
>>743
java からJNIなどを使ってネイティブなコードから確保したメモリはGCの対象にはならない。
ネイティブじゃなくても、オブジェクト作成時にJavaやアプリケーションサーバなどで内部的に管理されるようなリソースもGCの対象にならない
(トランザクションとか。アプリ側から参照を外してもJavaVMやAPServerが参照を持っちゃってるからGCの対象にならない)。
こういうのは明示的にcloseを実行することによって管理側から参照が外されてようやくGCの対象になる。
それ以外はアプリ側から参照を無くすだけでGCの対象になる。

751 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:07:05 ]
close() が必要なのは大抵ファイナライザで呼び出すよう実装されてるけどな
(しなくて良いという意味ではなくて)。



752 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:16:11 ]
↓a.java
public class a {
 public static void main (String args[]) {
  if(true){//できる。
   b b_ = new b("h");
   String g = b_.d("h");
  }else{//本当はこっっちでやりたい。
   String g = new b("h");
  }
  System.out.println(g);
 }
}
↓b.java
public class b {
 b(String c){
  d(c);
 }
 public String d(String c) {
  String e = new String("f" + c);
  return e;
 }
}

753 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:19:34 ]
public class a{
  public static void main(String[] args){
    System.out.println(b.d("h");
  }
}
public class b{
  public static String d(String c){
    return "f" + c;
  }
}

754 名前:デフォルトの名無しさん [2008/02/05(火) 03:26:40 ]
>>752
> //本当はこっっちでやりたい。
> String g = new b("h");

これはbをどう変更してもできない。仕様的に。


755 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:27:55 ]
>>752
String型を返すコンストラクタはString以外には存在しない。

文字列の結合が目的ではないと思うが、
あまりにも簡単なことをこなす為に、拘る内容があまりにも初歩的。

・クラスの継承、型と代入について
・コンストラクタの仕組み、メソッドとの違いについて

756 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:32:32 ]
>>754
コンストラクタは自分のクラス型しか返せないということですね。
>>753
できました。ありがとうございます。メソッドをstaticにしないとうまくいきませんね。
 public String d(String c){
  static String s = new String("f" + c);
  return s;
 }
これだとコンパイルエラーでした。

757 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:43:05 ]
コンストラクタは何も返さない
newオペレータが指定されたクラスのインスタンスを構築してその参照を返す
その構築の際にコンストラクタが使用される

758 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:54:53 ]
>>757
Javaではnewは演算子扱いではなくてクラスインスタンス生成式や配列生成式を示すだけのキーワード扱いじゃなかったかな。

759 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 04:01:42 ]
あ、いや、すまん。演算子扱いだったのかもしれない。気にしたことないのであやふやだ。
JLS見てみる。

760 名前:デフォルトの名無しさん [2008/02/05(火) 04:53:50 ]
Stringの質問です。前者は後者の記述の略として解釈され、
前者と後者の振る舞いは等しいものでしょうか?
String s = "1";
String s = new String("1");

761 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 04:55:06 ]
ちがいます



762 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 05:12:42 ]
カノニカライゼーション
www.nextindex.net/java/class/String.html

763 名前:デフォルトの名無しさん [2008/02/05(火) 05:26:33 ]
>>762
ありがとうございます。
普通は
String s = new String("1");
s = "6";
だと思いますが、
String s = new String("1");
s = new String("6");
こうしてもよいのでしょうか?

764 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 05:28:52 ]
すみません
jarファイルをダブルクリックするとラプラスが起動して解凍してしまいます
拡張子を何に関連づけすれば解決するでしょうか

765 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 05:53:29 ]
javaw

766 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:12:02 ]
通常は new String("")は使用しない。

767 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:04:47 ]
new String(".....") は使わないように。
Stringは不変オブジェクトだから、無駄なインスタンスができるだけ。
"...." だけでよい。

768 名前:デフォルトの名無しさん [2008/02/05(火) 12:08:00 ]
SimpleDateFormat のスレッドセーフ化されたものとして
FastDateFormat(format() のみ) がありますが、
parse() に関しては jakarta の DateUtils.parseDate() を
使用すればスレッドセーフになるんでしょうか?


769 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:39:48 ]
Stringは参照先で弄っても元が破壊されないけど、StringBufferは壊れるからちょっとややこしい。

770 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:43:51 ]
>768
メソッド内でSimpleDateFormatのインスタンスを生成してparseすれば済む話だろ

771 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:54:08 ]
>>769
それは設計の問題で StringBuffer の問題ではないと思う。
一応、StringBuffer は同期化されてるので、「壊れる」ことはない。
意図しない結果をもたらす事はあるとしても。



772 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:58:37 ]
>>770
SimpleDateFormatって複数インスタンス作っても
内部で同一オブジェクトを使いまわすのでスレッドセーフじゃないって話だったような。

773 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 12:59:09 ]
new String()は文字コード変換ぐらいしか利用価値が無いと思え

774 名前:デフォルトの名無しさん [2008/02/05(火) 13:02:10 ]
>> 770
www.geocities.co.jp/Playtown/1245/java/unsafe_simple_date_format.html
この辺みてるんですけど、それで解決する問題なのかどうかが
イマイチよくわからないんですよ、、、


775 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:07:49 ]
SimpleDateFormatってスレッドセーフじゃないの?
Servletで使いまくってるけどやばい?

776 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:31:40 ]
>>775
参照を他のスレッドに晒さなければ大丈夫。
staticで持ってたりしたら危ない。

777 名前:デフォルトの名無しさん [2008/02/05(火) 13:40:50 ]
>> 776

つまり、
>> 774 にある
>SunのBug Paradeを、"+SimpleDateFormat +thread"で検索してもらうと
>すぐわかるように、SimpleDateFormatクラスは、
>複数のインスタンスで同じオブジェクトを共有して持っており、
>スレッドセーフではありません。

という記述が間違いなんでしょうか?
複数インスタンスと言ってる時点で static では無いと思うんですが。


778 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:45:10 ]
SimpleDateFormatが内部でstaticなデータを保持してんだろ?
それくらいわかれカス

779 名前:775 mailto:sage [2008/02/05(火) 13:52:22 ]
ということはやばいということですね。
どうしよう

780 名前:775 mailto:sage [2008/02/05(火) 13:55:30 ]
どなたかスレッドセーフな
SimpleDateFormat
を作ってくれませんか?

781 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:57:01 ]
synchronized使えカス



782 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:59:43 ]
synchronized (SimpleDateFormat.class) {
  // SimpleDateFormatを使うコード
}

こうすれば中でstaticなデータ持ってようと、
同時に読み書きされることはない・・・はず。

マルチスレッドよぅわからん。

783 名前:775 mailto:sage [2008/02/05(火) 14:09:24 ]
FastDateFormatに置き換えようかと思いますが

FastDateFormat hms = FastDateFormat.getInstance("HH:mm:ss");
FastDateFormat ymd = FastDateFormat.getInstance("yyyy/MM/dd");

hms.format(....
ymd.format(....

こういうコードだとどっちみちダメなのでしょうか



784 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:14:16 ]
なにがどうダメなんだ?

785 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:16:05 ]
つうかローカル変数で使うのに何か具体的な不具合でも出てるわけ?
マルチスレッドで使わなきゃ良いだけじゃん。

786 名前:775 mailto:sage [2008/02/05(火) 14:16:35 ]
getInstanceでもnewのようにまったく別のインスタンスを作って
くれるのでしょうか?


787 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:18:03 ]
とりあえず、マルチスレッドの勉強を一からやり直せ。
ttp://www.amazon.co.jp/dp/4797337206

788 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:21:42 ]
>>785
ローカル変数かどうかは問題じゃない。
インスタンスへのアクセスが閉じているかどうかだ。
>>783
おまえはスレッドセーフの意味が分かってなさそうだから。
まずはシングルスレッドで頑張れ。

789 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:23:38 ]
つうかちょっとまて。ソース見たが SimpleDateFormat に関してはスレッドセーフでないことと
内部で static なオブジェクト使ってることとは関係ない。複数インスタンスで共有してるのは
ロケールごとの静的なリソースだ。だから >>777 で引用部分の表現は明らかにおかしい。

790 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:25:11 ]
>>788
ローカル変数ってのは表現間違えたがマルチスレッドで意味ぐらい汲めよ。

791 名前:775 mailto:sage [2008/02/05(火) 14:26:55 ]
ではサーブレットでSimpleDateFormatをローカル変数で
都度newしているなら問題ないってことですね?



792 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:29:51 ]
>>791
そのローカル変数が他スレッドに漏れてなければ、ね

793 名前:775 mailto:sage [2008/02/05(火) 14:31:44 ]
>>792
それは大丈夫です。漏れていません。

794 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:32:53 ]
>>791
そういうこと。スレッドごとに別インスタンスで使っていれば問題ない。
でなければ JSTL の日付フォーマットも使えない。
「処理中で不整合」 の内部状態を持つのは DocumentBuilder、Transformer、XPath、Matcher なんかも同じ。

795 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:44:42 ]
>>794
そこで ThreadLocal の出番だな

796 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 14:57:04 ]
また来ますた。お世話になっておりますw

数字を入力してください: 120←入力

と入力された数字を "1" "2" "0" と分けて取り出す方法を教えてください。
宜しくお願いしますm(_ _)m

797 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:05:38 ]
toCharArrayでもcharAtでも好きなほうをどうぞ。

798 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:08:17 ]
メソッド呼び出しについて勉強しているのですが
行き詰ってしまってしましました。

メソッド名:getProfile
引数: String name , int age
処理:「○○さんは△歳です」という文字列を返す
戻り値:String

このソースの書き方を教えてください。
よろしくお願い致します。

799 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:08:55 ]
宿題スレに池

800 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:10:24 ]
return String.format("%sさんは%d歳です", name, age);

801 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:10:29 ]
>>797
ありがとうございますw
もう一つすみません。
入力された数字intで取り出したいのですが、charAtでもintを取り出せるのでしょうか?



802 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:12:18 ]
変換くらい自分でやれ。
Characterクラスのjavadocをみるよろし。

803 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:19:10 ]
そういえば String#format() のフォーマットに対する、解析済みで再利用可能な
クラスがないようなのが気になってたんだけど、これって毎度 String.format()
しなきゃいけないのかな?

804 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:27:31 ]
>>802
あ、そうか変換すれば良いんですね。
ありがとうございます。

805 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:27:56 ]
>>803
ちょっと何言ってるかわからない。
解析済みで再利用可能って・・・戻り値のStringを保持しとけばいいじゃん、
とかそういうことじゃなくて?

806 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:32:03 ]
>>803
String.format の内部は、return new Formatter().format(String, Object...).toString()
Formatter 内部でキャッシュできそうな部分もあるが、private クラスの配列になってるし。
まぁ強いてキャッシュにするなら、Formatter のインスタンス辺りかな

807 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:34:25 ]
>>803
java.util.regex.Pattern みたいなものを期待してるなら、ないね。

java.util.Formatter は出力先を持ってるだけで、
書式文字列を固定で持ってるわけじゃないし。

808 名前:806 mailto:sage [2008/02/05(火) 15:41:29 ]
自己レス。自分で書いておいてなんだが、
Formatterの生成時には出力先を用意するだけなので、キャッシュの意味なし。
しかも、toString時に出力先をクリアするわけでもないので、再利用自体も不可に近い。

809 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:51:38 ]
やっぱりそうか、俺の勘違いとかでないならまぁいいや。
Logging API の Formatter とか膨大な呼び出しされそうなところで使われそうなものだから
なんかもったいないなぁと思っただけで。

810 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:54:55 ]
Jakarta Lucene って Perl が必要っぽいけど、これって Pure Java じゃないの?
それとも日本語用分かち書きの sen とか言うのが使ってるの?

811 名前:デフォルトの名無しさん [2008/02/05(火) 15:57:19 ]
3日前から初めてプログラミング、JAVAの勉強を始めた者です。
今読んでいる「やさしいJava 第3版」って本の練習問題なのですが
16進数を使って、6、20、13を画面に出力しろという問題があります。

答えを見ると

public static void main (String args[])
{
System.out.println(0x6);
System.out.println(0x14); ←
System.out.println(0xD);
}

と書いてありました。

←をつけた行の、(0x14)を(0xE)として間違ったのですが、
なぜ16進数でA〜Fで表される数の14がEでは
間違い・エラーになってしまうのかわからないです。

試しにFなどを入れて出力などしましたが、Eだけエラーになってしまいます。

わかる方教えてください。。



812 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 15:59:35 ]
セミコロンがないとか、そういうオチ?
とりあえず、どんなエラーが出るんだ?

813 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:01:30 ]
>>811
0x14は0xが頭についてるので、10進数じゃなくて16進数として解釈される。
16進数の0x14を10進数になおすと20になる。

10進数の14が必要なら0xを頭につけちゃだめ。

814 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:05:20 ]
>>811
0x14 を 0xE と間違えた後、14 にして、さらに E としたところでエラーが出たに1票。

815 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:10:40 ]
14は16進数でE、20は16進数で14・・・
なるほど、814が正解かもしれない。
なんか16進数自体わかってなさそうだ。

816 名前:811 mailto:sage [2008/02/05(火) 16:12:27 ]
ありがとうございます。
(0xE)ではじめに書いたら

Exception in thread "main" java lang.NoClassDefFoundError

といった表示が出てしまいました
>>811に書いたようなテキストの答えを見て
0x14にしたらちゃんと表示されます。

まだ頭がごっちゃでわかってません。。すみません。


817 名前:811 mailto:sage [2008/02/05(火) 16:14:24 ]
あ、わかりましたorz

ありがとうございますorz

818 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:18:20 ]
で、理由はなんだったんだ?
エラーを見るに、何か他のクラスを実行しようとしたみたいだけど。

819 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 16:26:26 ]
NoClassDefFoundErrorなら typoかなんかでしょ。たぶん。

820 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 17:40:13 ]
また、やさしいjavaか

821 名前:デフォルトの名無しさん [2008/02/05(火) 19:04:58 ]
最初に読む本でずいぶん変ってくるよね
実践的な本で勉強した方が後々いいと思うんだけど



822 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 21:32:02 ]
仕事で使うのか趣味なのかでも違ってくるしね
趣味なら
自分だけのメーラー作成を通して学ぶ
EclipseによるJava

とかを打ち込みながら実行してWebで分からない所を調べる
とかだと面白く学べる。

仕事だとフレームワークが絡んでくるから個々のフレームワーク・言語の入門本がいいかと思う。

823 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 21:41:03 ]
1.4.2のjavaにJDK6のAPIを追加してみた。
動かないんだけどそれだけじゃ意味ない?

824 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 21:58:34 ]
初級本ならHeadFirstがおすすめ。
超初心者ならわかりずらいかもしれんがまともなこと書いてある。
SJC-Pとかうけるのにもこの本読んどくとかなり試験勉強の助けになる。

825 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:12:06 ]
でも本の厚さと値段で尻込みしちゃうのが初心者

826 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:30:42 ]
あの厚さは普通だと思うが、分厚いのはオライリーのSwing本あたりだろ。

827 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:37:11 ]
分厚いのは割れてかなわん

828 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:46:30 ]
また宣伝厨かよ

829 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:48:40 ]
>>823
何がしたいんだ?
target が 1.6 のクラスファイルは、どう頑張っても1.4のJVMじゃ動かんよ。

830 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:26:01 ]
up2.viploader.net/upphp/src/vlphp134279.jpg

831 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:28:57 ]
かわいいこ多いな



832 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:32:12 ]
>>829
じゃあ無理みたいだorz
無視でよろしこ

833 名前:デフォルトの名無しさん [2008/02/06(水) 01:52:01 ]
デスクトップにあるフォルダaをカレンとにしてMS-DOSプロンプトを起動しました。
aの中に*.classがあります。
jarを作りたいです。
>jar cv
エラーでした。
jar.exeの使い方を教えてください。
普通のアーカイバでzip圧縮して拡張子変更したものではだめですか?

834 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:04:32 ]
>>833
JDKのドキュメントに「ツールとユーティリティ」の項目があり、
そこにjarのマニュアルもある。
というか、jar cvでヘルプが出て使用例も表示されるだろ?

835 名前:デフォルトの名無しさん [2008/02/06(水) 02:16:08 ]
>>834
jar でヘルプが出るけどヘルプが糞だ。
例文が2つほど出るけど例文は少なとも30ぐらいは出してくれないと理解不能。
たぶん834もjar使えないんじゃねーの?ヘルプが糞だから。

836 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:20:50 ]
くそくそうるさいなw
ドキュメントの場所を教えてるんだから分からなければそっちを読め
ってか普通はオプションの意味さえとれれば使用例は要らない

837 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:38:15 ]
>>836
無理しないでえらい人の回答を待てよ。
少なくとも漏れよりえらい人以外にはレスしてほしくない。
あえて書くなら漏れも知らないのでえらい人教えてください、だろ。

838 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:39:06 ]
アニョハセヨ

839 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:44:05 ]
スーゴハセヨ

840 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:54:43 ]
グッテンターク

841 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 03:21:13 ]
漏れとか…何時振りだろう、見たの



842 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 08:58:49 ]
journal.mycom.co.jp/series/webtool/007/index.html
>かつての電化製品がそうだったように、日本人の作るサービスはデザインやユーザビリティの面で優れていると感じている。

Nationalのオーブンレンジを触ったことがないんだろうか。
最低3つの操作手順を踏まないと、食パン1枚焼けない。余計な機能詰め込みすぎ。

「(多くの)日本人(のみ)にとって使いやすい」だけであり、それを「優れている」とは言わない。
Vista使いにくいだろ? 要は日本の家電メーカーはアレをやってる。
ご当地の人には使いやすいんだろうけどな。
それをJEITAの連中は「日本の消費者は先進的」といまだに勘違いしてる。だから国際競争で負ける。
異なるだけであって感性に「先進」とか「後進」はない。家が小さい日本は「後進的」か? 違うだろ。

日本の家電(PC含む)は既に世界からそっぽを向かれている。
車やカメラは熱いけどな(ただし、カメラも同じようにそっぽを向かれるのは時間の問題)。
日本発のWebアプリが普及しないのは二番煎じばかりだからだろ。

むしろそういうデザインとか下らないところに注力しているから、いつまでたっても独創性が開けない。
ふぅーなんか朝から熱くなっちまったぜ。

843 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 09:47:47 ]
日本人にとっての使いやすさと
アメリカはじめ他国の人間にとっての使いやすさが違うだけ。

国内で高い評価を得ても世界ではそれほどでもない。

逆に使いやすさの面で国際競争力を付けようと思ったら
日本ではあまり高く評価されないかもね。



844 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 10:18:54 ]
今のオーブンレンジって一発で閉まらないんだよな
でもあれ日本製なのかよくわからん

845 名前:たらちゃん [2008/02/06(水) 12:52:02 ]
System.err.println("エラー")を変数に代入する事って出来ますか?もし出来るのであればやり方教えてください。
宜しくお願いします。


846 名前:デフォルトの名無しさん [2008/02/06(水) 12:53:16 ]
javacのコンパイルが遅いと思うんですが
常駐するタイプありませんかね?
メモリ食うけど何回もコンパイルするなら速いよ!みたいな

847 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 12:55:03 ]
>>845
意味がよくわからんが、代入してどうしたいんだ?
何をしたいのか書くといいかもしんない

>>846
eclipseみたいなIDEは嫌かね?

848 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:01:59 ]
>847
使ってみましたけど、ちょい重かったです。
コンパイルするたびにjavac.exeを読み込むのが
無駄だよなぁって思ってたんですが。

新しいマシン買えよ、ってことなんでしょうけど
キャッシュが沢山載ってるやつ買えばいいのかな。


849 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:09:34 ]
phpからjavaへの乗り換えを検討しているのですが
javaでphpのsymfonyに一番近めなフレームワークってどれでしょう?


850 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:31:46 ]
Method println = System.err.getClass().getMethod(...);

851 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:12:16 ]
>>848
…javac.exe を読み込むのが遅いならRAMディスクは如何でしょう。
可能性のある要因は幾つも挙げられますが、何れにしろ、
ハードウェアかOSの問題で、Javaだから、という問題では無いように思えます。



852 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:51:33 ]
10万も出せばDualCoreでメモリ2Gのマシン、ディスプレイ付で買えるだろうよ
Eclipseが重いってのは何時の話だ

853 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 20:29:37 ]
ちょっと自作PC板に来てもらおうか・・・

854 名前:846 mailto:sage [2008/02/06(水) 21:21:44 ]
自己解決しました。
空きメモリを仮想ドライブにするソフトなんかあるのね、今は。
いや、ほんとに
「RAMディスクなんて言葉聞いたの98note以来だぜ、
確かに滅茶っ速だったけどなァァァァ」
とか思いましたけど、皆さんありがとうございました。

855 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:04:34 ]
それ、自己解決か・・・?

856 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:24:16 ]
JDKの環境変数設定などの後はOSの再起動をすると本で読んだのですが、
どうも環境変数の設定をした時は
そのままで反映されている時とOS再起動しないと反映されない時があるみたいです。
OSの再起動以外に何か関係するものがあるんでしょうか

857 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:36:18 ]
>>856
そんな糞本捨ててしまえ。環境変数は基本的に親プロセスから引き継がれるので、環境変数を設定したプロセスから起動すれば即座に反映されるが、読み直しはしないので既に動いている他のプロセスには影響しない。
Windowsの場合なら、
・コマンドプロンプト/バッチファイルで環境変数を設定してそこからプログラムを起動した場合→即時反映
・システムのプロパティから環境変数を設定→設定後に起動したプロセスにのみ変更が反映。例えば設定前から動いているコマンドプロンプトからJavaプログラムを起動しても変更は反映されない。


858 名前:856 mailto:sage [2008/02/06(水) 23:50:23 ]
>>857
なるほど〜すごく分かりやすい説明ありがとうございます!
こういうズバリな説明聞くとwindowsに浸ってないでUNIXの勉強するべきなのかなぁって思いますね…


859 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:01:42 ]
PC のピの字も分からん人間相手の本なら再起動は基本。
本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。

860 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:04:13 ]
Windows9x時代のautoexec.bat編集して再起動
みたいな記述がそのまま残ってるだけじゃないかと。

861 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:13:27 ]
PCに"ピ"の字はどこにも無いと思うんだが



862 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:17:43 ]
サイトに snoop アプレット仕込んでクライアントの JVM バージョン統計取ってみたんだが見る?

863 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:29:25 ]
ピーシーのピの字も分からん人間相手の本なら再起動は基本。
本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。

864 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:35:14 ]
やるおかよ

865 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 03:41:13 ]
java.util.regex.Pattern の lookingAt() って find(0) と同じという理解で良いのかな?

866 名前:デフォルトの名無しさん [2008/02/07(木) 03:51:41 ]
PCのパの字も分からん人間相手の本なら再起動は基本。
本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。

867 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 03:57:20 ]
PCに"パ"の字はどこにも無いと思うんだが

868 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 04:01:54 ]
パトカーのパの字も分からん人間相手の本なら再起動は基本。
本売る人間から見たらおまいらみたいな目の肥えた奴相手にするより商売になるからな。

869 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 04:04:43 ]
パトカーに"パ"の字はあると思うんだが






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<229KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef