【初心者】Java質問・相談スレ14【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001vi2
NGNGミ゚ー゚ミ < Java質問相談スレ パート14 修正版
/旦 ̄ ̄/ヽ \_____
ノ  ̄ ̄ ̄ヽ /
~~~~~~~~~~~~
関連情報は >>2-20 あたりにあります。
Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/
JavaScriptの質問はWeb製作板へどうぞ ⇒ http://pc3.2ch.net/hp/
パソコンの基本操作に関しては、PC初心者板で質問しましょう ⇒ http://pc.2ch.net/pcqa/
『コマンドまたはファイル名が違います』>>2
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』>>2
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』>>2
Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html
基本的にsage進行でおねがいします。また煽り厨は放置でお願いします。
0153超〜初心者
NGNGおぅ、そういえばなんか心あたりが。
実はSUNのJDKもインストールした覚えがある。
その時なんか変なことしたのかしら、私?
どのURLのものもアプレットが動くとダメになるの。
でもチェック外したら今は快適に動く。
なんなの?あの湯だったようなマークは?
0154デフォルトの名無しさん
NGNGamazonでこんな本を見つけたんですがどうでしょうか?
林晴比古「新Java言語入門 ビギナー編」
http://www.amazon.co.jp/exec/obidos/ASIN/4797318570/
0155デフォルトの名無しさん
NGNGたぶんそれは湯気のたったコーヒーカップのマークだとおもう。
SUNのJavaVMのマークだよ。
いっそヴァージョンを1.4にアップグレードしてみてはいかが?
http://java.sun.com/getjava/download.html
0156デフォルトの名無しさん
NGNGSUNのJavaVMというかJavaのマークね
0157デフォルトの名無しさん
NGNG0158デフォルトの名無しさん
NGNGマジですか?
0159デフォルトの名無しさん
NGNG俺なら結城浩の例の上下巻を薦める。
Java言語プログラミングレッスンだ。
他に買ってもかまわないが
これらは読んどけ。絶対読んどけ。
0160デフォルトの名無しさん
NGNGいくらなんでも読んだことないのにDQN呼ばわりはどうかとおもう。
まあ俺も読んだことがないけど結城の入門書がいいとおもう。
推薦する理由はJavaの入門書は読んでないけど
彼の書いたスレッド本はわかりやすかったから。
0162154
NGNGThank you!
0164デフォルトの名無しさん
NGNGhttp://www.google.co.jpを表示させようとすると
java.lang.StringIndexOutOfBoundsException: String index out of range: 0
at java.lang.String.charAt(String.java:516)
at javax.swing.text.html.CSS.stringToColor(CSS.java:1099)
at javax.swing.text.html.CSS$ColorValue.parseCssValue(CSS.java:1960)
・・・
とか出るんですけど、これ、どういうことですか?
0165デフォルトの名無しさん
NGNG>>164を見る限りではCSSの処理にでも失敗していろ??
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/StringIndexOutOfBoundsException.html
0166デフォルトの名無しさん
NGNG下のサイトがおなじ症状なのではなかろうか。
http://www.eos.dk/pipermail/advanced-swing/2001-October/000835.html
0167デフォルトの名無しさん
NGNGhの色指定が空なのが原因ではなかろうか?
.h {color:}
0168デフォルトの名無しさん
NGNGの投稿をみる限りでは、
バグパレードで報告されているもののようですね。
http://developer.java.sun.com/developer/bugParade/bugs/4334657.html
(閲覧するのには登録が必要)
最新のバージョンでは修正されているのではないでしょうか。
ところでお使いのJavaのバージョンはなんでしょう。
0169164
NGNGそのページは見れます・・・じゃなくてこれと同じ症状です。。
>>167
何かでCSSの.hを読み飛ばせばいいんでしょうか?
>>168
1.3.1_b24です。JBulder7のデフォルトです。
windows2000で使ってます。
0170デフォルトの名無しさん
NGNG1.4では修正ずみ。
1.3向けに開発しているのなら一度ページをStringなどに読み込んでから、
問題のcssの箇所を修正してからJEditorPaneに渡してみては?
0171デフォルトの名無しさん
NGNGありがとうございます。
setLengthのほうで行こうと思います。
0172164
NGNG1.4にしたら読めるようになりました。ありがとうございます。
0173デフォルトの名無しさん
NGNG戻り値って何?どんな時につかうの?
0174デフォルトの名無しさん
NGNGvoid
空な, 空虚な; (家・土地などが)あいた,
欠員の; …がない, 欠けた (of); 無益の; 【法】 無効の.
戻り値。
C言語などの「構造化プログラミング言語」などで広く用いられる。
構造化言語においてはログラム全体は、いくつもの小さな関数から構成される。
JavaやC++などのオブジェクト指向プログラミング言語もまた、
Cなどの構造化言語とおなじく関数から構成されているが
これらの言語の場合、関数はオブジェクトのなかに内包される。
0175デフォルトの名無しさん
NGNG別に閉じる必要はないのでしょうか?
0176デフォルトの名無しさん
NGNGない
0177デフォルトの名無しさん
NGNGお早いレスありがとうございます。
しかし、なぜ必要ないのでしょうか・・・?
0178デフォルトの名無しさん
NGNGクライアントのmainメソッド内でそのServerクラス
を実行させるとうまくいくのですが、
クライアント側で何らかの処理(ActionListenerなど)
を合図にServerクラスのインスタンスを生成したら
クライアント側の処理がエラーを出さずにその位置で
とまってしまうのですが、これの対処法ってあるんでしょうか?
やっぱり私のやり方が悪いんでしょうか…
0179デフォルトの名無しさん
NGNGJava VM が終了したときに勝手に閉じられるから。
0180デフォルトの名無しさん
NGNG文章がちょっと意味不明。
二行目の箇所などクライアントマシンで
サーバマシン用に作ったプログラムを実行している、
というふうに読めます。
ActionListenerでということは、
Swingのイベントディスパッチスレッドの関係で、
GUIが止まっているのではないかという予感はしますが。
念のため、わかりやすい文章に書き直すか、
それかソースの一部を貼られたほうがよろしいかと。
0181デフォルトの名無しさん
NGNGイベントディスパッチャーの中でサーバソケット開いて accept() してるん
だろ。そりゃ GUI は固まるわな。actionPerformed() の中身を丸ごとス
レッド化せれ。
private Thread thread = null;
public void actionPerformed(ActionEvent e){
if(thread != null) return;
thread = new Thread(){
public void run(){
// …
// ここに元々 actionPerformed() の中でやっていた処理を書く
// …
}
};
thread.start();
}
きれいに作りたかったら、ふつーはその Server クラスとやらをスレッド化
するんだがな。public class Server extends Thread{ ...
0182デフォルトの名無しさん
NGNG有り難うございます。説明を読む限り大きな認識違いをしていたようですので
もう一度考え直します。>>179は意味不明でしたすみません。
0183デフォルトの名無しさん
NGNG>>179のような質問から…
>>180-181さんどうもありがとうございます。
とはいっても、なぜできたか全然判ってないので
もう少し勉強してきます。有り難うございました。
0184175
NGNGでもjavaVMが終了した際に閉じるならclose()の必要性って・・・?
私は、バッファに格納されたデータがクリアされる、程度のことしか・・・
そもそもこのような質問をしたのは、ストリームに関して
私の使っている参考書やインターネット上のプログラムソースでは
ファイルストリームはすべて処理後に閉じているのに対し
キーボードストリームはそのほとんどが閉じずに終わってたからです。
この両者に何か違いがあるのでしょうか?
素人的な質問ですいません・・・。
0185デフォルトの名無しさん
NGNGそもそもJavaのGUIはイベントディスパッチスレッドの仕様上、
イベント処理のコーディングしだいでは
GUIが固まってしまったり反応が重くなってしまうという罠があるのですね。
あとで「イベントディスパッチスレッド」などで
検索をかけて参考になるページなどが見つかるかと。
//そういえばJavaチュートリアルの日本語訳ってないのかな。。。
0186デフォルトの名無しさん
NGNGJavaVM に限らずファイルディスクリプタなどのリソースはそのプロセスが
終了したときに開放されるようになっている。プログラムの中で明示的に
close() が必要な理由は、終了まで開きっぱなしだとリソースを圧迫する
からだ。とはいえ標準入力はシステム上に 1 つであり、それ以上開くこと
はない。
まぁ標準入出力を閉じないってのは慣例的な意味合いが強いがな。自分が
開いたものだけをクローズする、システムから貰ったものはシステムに
任せる、が基本だ。
もし明示的に close() する必要があるとすれば、標準入力が別のプロセス
にパイプされていたり、ファイルやデバイスからリダイレクトされていたり
するケースくらいか。それも苦肉の策だが。
0187164
NGNGsetPane(URL)
って内部でどういう処理してるんですか?
>>170の
>一度ページをStringなどに読み込んでから、
>問題のcssの箇所を修正してからJEditorPaneに渡してみては?
が気になって一晩中悩んだですがどうなってるのか
よくわからなくて・・・。
http://www.naklab.dnj.ynu.ac.jp/~aron/java/web/htmlparser.html
このへんの読んでもよくわからんです・・・。
いい例ありませんか?
0188175
NGNGレスありがとうございます!
とりあえず標準入出力ストリームのクローズ処理は考えなくてもいいってことですね。
本当にありがとうございました。素朴な疑問が解けました!!
ここのレスにはしばらくお世話になりそうな予感。。。
また後の機会があれば宜しくお願いします〜。
0189デフォルトの名無しさん
NGNG自分で調べられない人は死んでください。
0190デフォルトの名無しさん
NGNG( △ △ )
( / \ )
_( /´_ゝ`\) ..マターリしろや....
/ ) _ _
/ ,イ 、 ノ/ ∧ ∧―= ̄ `ヽ, _
/ / | ( 〈 ∵. ・( 〈__ > ゛ 、_―<<189
| ! ヽ ー=- ̄ ̄=_、 (/ , ´ノ
| | `iー__=―_ ;, / / /
!、リ -=_二__ ̄_=;, / / ,'
/ / / /| |
/ / !、_/ / 〉
/ _/ |_/
ヽ、_ヽ
0191菊地桃子
NGNGつかえない
0192デフォルトの名無しさん
NGNGだって初心者大歓迎って書いてあるやん。
読めんの?
0193デフォルトの名無しさん
NGNG心配するな。マルチだ。
0194デフォルトの名無しさん
NGNGウェブショッピングサイト作るぐらいで就職できるんですか?
スレ違いスマソ。
0195デフォルトの名無しさん
NGNGそれしかやれないのなら単なる小間使いで終わりだろうなあ
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG大阪工業大学?
0198デフォルトの名無しさん
NGNGアプレットクラスを継承したメインクラス内で自機と敵の画像を取得したり
敵や自機の表示・キー判定等全て行なわせてました
が、見難くなるので敵クラスと自機クラスを作って、そのクラス内で
それぞれの位置取得や当たり判定をさせるようにしました
画像の表示はスレッド内で行なうとして、敵・自機クラス内で画像を
取得させたくgetImage(getDocumentBase(), "jiki");
と使いたいので、敵・自機クラスにアプレットを継承させたのですが
エラーが出てしまいます
アプレットクラスはメインクラス以外のクラスには継承させれないのでしょうか
0199デフォルトの名無しさん
NGNG設計が根本的に間違ってると思う。
0200デフォルトの名無しさん
NGNG根本的に間違ってますか
手探りでなんとか動かしてるという状態なので、答えをきいても、その答えを理解できない
と思いますが、上の考え方でいうとどこが間違ってるか教えていただけないでしょうか
よろしくお願いします
0201デフォルトの名無しさん
NGNGこれはどういうこと?
キャラクタークラスで描画しようとしてる?それともキャラクタークラスに画像を持たせたい?
0202デフォルトの名無しさん
NGNGキャラクタクラスに画像を持たせたいということです
描画はスレッドないで行なわせてますので、
drawImage(teki.tekigazou,・・・);
のようにキャラクタクラス内に画像・位置を持たせてやりたいのです
0203デフォルトの名無しさん
NGNG> エラーが出てしまいます
どんなエラー?
書き込みから推察するにコンパイルエラーっぽいけれど。
とりあえず、そのエラーきぼんぬ。
それから敵クラス、自機クラスを
Appletのサブクラスにする必要はないとおもうよ。
0204デフォルトの名無しさん
NGNG//敵クラス
class Teki extends Applet {
int intPosX,intPosY;
Image imgTeki;
//コンストラクタ
Teki (int intX,int intY,String strURL) {
intPosX = intX;
intPosY = intY;
imgTeki = getImage(strURL,"teki.gif");
}
//敵の移動位置メソッド(intImgW:敵のグラフィック幅,intFrmW:フレームの幅
void setLocation(int intImgW,int intFrmW) { ←ここでエラー表示
int intX;//移動幅
・
・
}
"java.awt.componentから継承されたメソッドの表示レベルを下げることはできません。"
とでます
getImageを使いたいのでAppletのサブクラスにしたのですが、する必要がないのは
何故でしょうか 基本がまだ分かっておらずご迷惑おかけします
0205デフォルトの名無しさん
NGNG自分でgetImageを実装するかコンストラクタでアプレットのインスタンスをを渡してもらうか。
0206デフォルトの名無しさん
NGNGファイルパスを引数にしてその画像を戻り値にすればいいのですかね
いまいち解らないです...
>>コンストラクタでアプレットのインスタンスを〜
すみません。それも言ってる意味がよく解らないです 申し訳ございません.
0207デフォルトの名無しさん
NGNG//敵の移動位置メソッド(intImgW:敵のグラフィック幅,intFrmW:フレームの幅
void setLocation(int intImgW,int intFrmW)
と名前も引数のタイプも同じだが"public"なメソッドがあるからだとおもう。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Component.html#setLocation(java.awt.Point)
0208デフォルトの名無しさん
NGNGこんな感じではいかが?
public class Invader {
public Invader(Applet applet) {
// 引数として受け取ったappletインスタンスを用いて画像を読み込む。
}
}
0209デフォルトの名無しさん
NGNGキャラクラスにはキャラクタIDの様な物だけを持たせておいて、
実際の画像をひっぱてきたりするのは描画処理がやる方がいい気もする。
0210デフォルトの名無しさん
NGNGの"new"と位置で「シンボル解釈処理できません」って出るのですが、
どういった原因が考えられますか?
0211デフォルトの名無しさん
NGNGセミコロンがない。
0212デフォルトの名無しさん
NGNGの"new"と位置で「シンボル解釈処理できません」って出るのですが、
どういった原因が考えられますか?
0213デフォルトの名無しさん
NGNGbbbが宣言されていない。
0214デフォルトの名無しさん
NGNGじゃおれはClassnameが宣言されていないか、
大文字・小文字などのスペルの書き損じに1じゃばこ。
0215デフォルトの名無しさん
NGNG俺の老後の楽しみが・・・
0216212
NGNGぶー、不正解
0217デフォルトの名無しさん
NGNGなめてんのか。消えろ。
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG0220デフォルトの名無しさん
NGNGあら、全く同じメソッドがあったのですね、キャラクタ位置を決めるためにsetLocationと
つけたのですが..
>>208
引数として受け取ったappletインスタンスを〜
例えばapplet.getImage(URL,"teki.gif");
ですか?
とりあえず両方ためしてみることにします
メソッド名を変更する方向でいこうと思ってるのですが
>>209
キャラごとはまずいです?
キャラIDが1なら〜の画像、2なら〜の画像としたほうがいいですかね
そのやり方だと上で悩んでた部分がはしょれて、すっきりしますね^
一度検討してみて、そちらのほうを活かしていきたいと思います。
付き合っていただき、有難うございました。
設計が根本的に〜というのはキャラごとに画像を持たせることだったのかな?
0221デフォルトの名無しさん
NGNG本気です
0222デフォルトの名無しさん
NGNGいや、何も考えずに親クラスにAppletを選択したこと。
0223デフォルトの名無しさん
NGNGイメージをstaticなフィールドにして
すべての敵インスタンスで共有させてはどうだろう。
0224デフォルトの名無しさん
NGNGこういうのもありだなと思った。
images[] characterImages;//キャラ画像
class character
{
private Image image;
public character(Image img)
{
image = img;
}
}
0225デフォルトの名無しさん
NGNGReflectionは全く関係ない。
移植性のあるコードで(*)と(**)が必要となる理由は、
有名な"Double-Checked Locking is Broken"での話と同じ。
http://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html
を一通り読んだ後、
http://java.sun.com/docs/books/jls/second_edition/html/memory.doc.html#28325
辺りとにらめっこしながらコードを読めば、問題点がわかるだろう。
また、pentiumなどで(*)と(**)が不要となる理由は、
"Cache Coherency"とかのキーワードで検索してみるとよろし。
0227デフォルトの名無しさん
NGNGそれをEnumerationを用いて出力した時、結果は読み込んだデータと
異なる順で出力される場合があるのですが、これはなぜなんでしょうか…?
例えば、読み込むファイルが
1,aaa/2,bbb/3,ccc/ ( / は改行) という内容の場合、その出力は
3,ccc/2,bbb/1,aaa/ ってなります。
0228140
NGNGアドバイスされた通り考えてみました
まだ完璧に理解できていないと思いますが
現時点での考えを書きます
(*)と(**)が無いと,考えられる振る舞いは
Thread Aが
put内で
last.next = node;
(ここで メインメモリ上でnode != null です
しかし node.objectは初期化されていない)
headとlastが同じで
そのときThread Bがpollを実行すると
firstにさきほどのnodeが代入され
返り値xはさきほどのnode.objectなので
初期化されていない値が返ってしまいます
(*)と(**)があれば,
putによってnodeが追加されて
仕様によると,unlockより前にnode.objectメインメモリに
書き込まれるので
別のスレッドがその後pollをしてもOK!
言われたとおり
"Double-Checked Locking is Broken"と同じですね
正しいか間違っているか,指摘していただけると
嬉しいです
pentiumなどの話はまた考えてご報告したいと思います
0229デフォルトの名無しさん
NGNGハッシュテーブルはListじゃなくてSetなんじゃないかな。
0230デフォルトの名無しさん
NGNGそもそもHashtable/HashMapは要素を挿入順に取り出せることを保証するものではないから。
1.4ならLinkedHashMapを使えば挿入順で取り出せる。
1.3ならListを内蔵したHashMapサブクラスを自作。高々十数行のコードで作れる。
0231デフォルトの名無しさん
NGNGどうかしてダブルクリックを使いたいんです。
何か良い方法ありますか?
0232デフォルトの名無しさん
NGNG"yellow".equals(s) = s.equals("yellow")
こう書けるんだったら、
「yearに空文字が入ってる場合、trueを返すって意味を表す」
year.equals("") という表現は
"".equals(year) と表すこともできますか?
いつも思っていたんですが、比べる対象を
equalsの前に置こうが後ろに置こうが、
いいのですよね?
0233デフォルトの名無しさん
NGNGレスありがとうございます。
1.3を使っているので、その方法で自作クラスを作ってみます。
0234デフォルトの名無しさん
NGNGただし、 year.equals(...) はyearがnullだとぬるぽで落ちる。
0235デフォルトの名無しさん
NGNGBufferedReader br = new BufferedReader(なんとかかんとか)
とか、
String str = new string("なんとかかんとか")
のように、
class 変数 = new class(なんとかかんとか)
というようにして、オブジェクトを作成する場合、
「なんとかかんとか」のところは、
どこでどのように受け取れるんでしょうか?
コンストラクタで受け取れるんでしょうか?メソッドでしょうか?
手元にある初心者向けの書籍には明示的に書いてなくて。
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNGコンストラクタです。
良くない本だね、その初心者向けの書籍。
0238デフォルトの名無しさん
NGNGありがとう。コンストラクタではどのように記述するのが正しいのでしょうか?
0239デフォルトの名無しさん
NGNGint型をString型に変換する場合どう書いたらいいですか?
int intHensuu = 1;
System.err.println("Err" + intHensuu);
これでもコンパイルは通るのですが、変換するにはどうするのかなーって
思いまして。
0240デフォルトの名無しさん
NGNGString.valueOf(intHensuu);
0241239
NGNGおお!さんきゅー
StringクラスのStaticメソッドですか。
どういえば昨日せんせーにならったYO!
0242デフォルトの名無しさん
NGNGFoo foo = new Foo( "miso" );
の場合は、
Foo( String s){
// s の処理
}
ってな具合になる。書き方メソッドに似てるポ。
0243デフォルトの名無しさん
NGNGサンクスコ。いま「やさしいJava」って本読んでるんですが
コンストラクタの項にはカッコの中は「引数」って書かれてるだけで
それが何でどのようにするもんなのかサパーリ書いてない。泣きました。
ありがとう。
0244デフォルトの名無しさん
NGNG>そのequalsが対称律を満たすならどっちでもいいでしょ。
>ただし、 year.equals(...) はyearがnullだとぬるぽで落ちる。
そうだったんだー。ありがとう。
year.equals(...)の...は何か適当な文字を表してるんだよね?
で、yearがnullだとエラーが出ちゃうと?
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGおれもやさしいJAVAから入ったよ。
その本は、わからなくてもどんどん進み、
一通り学んだら、4,5回繰り返し読んだらいいと思うよ。
0247デフォルトの名無しさん
NGNGクライアントが
int i=10,j=20;
Socket s=new Socket(server,port);
// サーバーに値を渡す
BufferedWriter out=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
out.write(i+" "+j);
でサーバー側で読み込もうとして
BufferedReader in=new BufferedReader(new InputStreamReader(incoming.getInputStream()));
boolean done=false;
String line=null;
while(!done){
line = in.readLine();
if(line==null){
done=true;
System.out.println("nullダポ");
}
else{
System.out.println(line);
}
}
してもlineにはnullしか入らないのですがどこか間違っていますか?
0248デフォルトの名無しさん
NGNGサーバ側のソケットは?
0249デフォルトの名無しさん
NGNG( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>244 >>234
0250デフォルトの名無しさん
NGNGあ・・・
incomingが
ServerSocket s=new ServerSocket(port);
Socket incoming=s.accept();
です。すみません書き忘れました
0251デフォルトの名無しさん
NGNGサーバ側のクライアントは?
0252すみません
NGNGサーバ側のクライアントとは?
今調べてみたのですがよくわからなかったのですが…
ファイルにはほとんどこれ以外書いていません。
■ このスレッドは過去ログ倉庫に格納されています