トップページ⇒tech
1001コメント377KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001vi2NGNG
     ∧,,∧    / ̄ ̄ ̄ ̄ ̄
    ミ゚ー゚ミ   < 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
>>152
おぅ、そういえばなんか心あたりが。
実はSUNのJDKもインストールした覚えがある。
その時なんか変なことしたのかしら、私?
どのURLのものもアプレットが動くとダメになるの。
でもチェック外したら今は快適に動く。
なんなの?あの湯だったようなマークは?
0154デフォルトの名無しさんNGNG
Javaをやろうと思っています。
amazonでこんな本を見つけたんですがどうでしょうか?

林晴比古「新Java言語入門 ビギナー編」
http://www.amazon.co.jp/exec/obidos/ASIN/4797318570/
0155デフォルトの名無しさんNGNG
>>153
たぶんそれは湯気のたったコーヒーカップのマークだとおもう。
SUNのJavaVMのマークだよ。

いっそヴァージョンを1.4にアップグレードしてみてはいかが?
http://java.sun.com/getjava/download.html
0156デフォルトの名無しさんNGNG
>>153 >>155
SUNのJavaVMというかJavaのマークね
0157デフォルトの名無しさんNGNG
林晴比古ってDQNじゃなかった?読んだこと無いけど。
0158デフォルトの名無しさんNGNG
>>157
マジですか?
0159デフォルトの名無しさんNGNG
>>154
俺なら結城浩の例の上下巻を薦める。
Java言語プログラミングレッスンだ。

他に買ってもかまわないが
これらは読んどけ。絶対読んどけ。
0160デフォルトの名無しさんNGNG
>>157
いくらなんでも読んだことないのにDQN呼ばわりはどうかとおもう。
まあ俺も読んだことがないけど結城の入門書がいいとおもう。
推薦する理由はJavaの入門書は読んでないけど
彼の書いたスレッド本はわかりやすかったから。
0161160NGNG
>>159
結婚しよう。
0162154NGNG
>>159-160
Thank you!
0163 ◆F52DmOxJlc NGNG
これがお勧め。
http://www.amazon.co.jp/exec/obidos/ASIN/4844316117/249-7410832-7970723
0164デフォルトの名無しさんNGNG
JEditorPaneで
http://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 ここを読んだ限りでは何かの文字列の処理で発生したのではなかろうか。
>>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デフォルトの名無しさんNGNG
Googleのスタイルシートで、
hの色指定が空なのが原因ではなかろうか?
.h {color:}
0168デフォルトの名無しさんNGNG
http://www.eos.dk/pipermail/advanced-swing/2001-October/000836.html
の投稿をみる限りでは、
バグパレードで報告されているもののようですね。
http://developer.java.sun.com/developer/bugParade/bugs/4334657.html
(閲覧するのには登録が必要)

最新のバージョンでは修正されているのではないでしょうか。
ところでお使いのJavaのバージョンはなんでしょう。
0169164NGNG
>>166
そのページは見れます・・・じゃなくてこれと同じ症状です。。

>>167
何かでCSSの.hを読み飛ばせばいいんでしょうか?

>>168
1.3.1_b24です。JBulder7のデフォルトです。
windows2000で使ってます。
0170デフォルトの名無しさんNGNG
>>164
1.4では修正ずみ。
1.3向けに開発しているのなら一度ページをStringなどに読み込んでから、
問題のcssの箇所を修正してからJEditorPaneに渡してみては?
0171デフォルトの名無しさんNGNG
>>131
ありがとうございます。
setLengthのほうで行こうと思います。
0172164NGNG
>>170
1.4にしたら読めるようになりました。ありがとうございます。
0173デフォルトの名無しさんNGNG
voidってどんな意味ですか?
戻り値って何?どんな時につかうの?
0174デフォルトの名無しさんNGNG
>>173
void
空な, 空虚な; (家・土地などが)あいた,
欠員の; …がない, 欠けた (of); 無益の; 【法】 無効の. 

戻り値。
C言語などの「構造化プログラミング言語」などで広く用いられる。
構造化言語においてはログラム全体は、いくつもの小さな関数から構成される。

JavaやC++などのオブジェクト指向プログラミング言語もまた、
Cなどの構造化言語とおなじく関数から構成されているが
これらの言語の場合、関数はオブジェクトのなかに内包される。
0175デフォルトの名無しさんNGNG
キーボードからの入力ストリームは
別に閉じる必要はないのでしょうか?
0176デフォルトの名無しさんNGNG
>>175
ない
0177デフォルトの名無しさんNGNG
>>176
お早いレスありがとうございます。

しかし、なぜ必要ないのでしょうか・・・?
0178デフォルトの名無しさんNGNG
情報を処理してCliantに送り返すServerクラスをつくり
クライアントのmainメソッド内でそのServerクラス
を実行させるとうまくいくのですが、
クライアント側で何らかの処理(ActionListenerなど)
を合図にServerクラスのインスタンスを生成したら
クライアント側の処理がエラーを出さずにその位置で
とまってしまうのですが、これの対処法ってあるんでしょうか?
やっぱり私のやり方が悪いんでしょうか…
0179デフォルトの名無しさんNGNG
>>177
Java VM が終了したときに勝手に閉じられるから。
0180デフォルトの名無しさんNGNG
>>178
文章がちょっと意味不明。
二行目の箇所などクライアントマシンで
サーバマシン用に作ったプログラムを実行している、
というふうに読めます。

ActionListenerでということは、
Swingのイベントディスパッチスレッドの関係で、
GUIが止まっているのではないかという予感はしますが。

念のため、わかりやすい文章に書き直すか、
それかソースの一部を貼られたほうがよろしいかと。
0181デフォルトの名無しさんNGNG
>>178
イベントディスパッチャーの中でサーバソケット開いて 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
>>180サン
有り難うございます。説明を読む限り大きな認識違いをしていたようですので
もう一度考え直します。>>179は意味不明でしたすみません。
0183デフォルトの名無しさんNGNG
とおもいきや>>181さんの方法でできました!
>>179のような質問から…
>>180-181さんどうもありがとうございます。

とはいっても、なぜできたか全然判ってないので
もう少し勉強してきます。有り難うございました。
0184175NGNG
>>177 レスありがとうございます。
でもjavaVMが終了した際に閉じるならclose()の必要性って・・・?
私は、バッファに格納されたデータがクリアされる、程度のことしか・・・

そもそもこのような質問をしたのは、ストリームに関して
私の使っている参考書やインターネット上のプログラムソースでは
ファイルストリームはすべて処理後に閉じているのに対し
キーボードストリームはそのほとんどが閉じずに終わってたからです。

この両者に何か違いがあるのでしょうか?
素人的な質問ですいません・・・。
0185デフォルトの名無しさんNGNG
>>182
そもそもJavaのGUIはイベントディスパッチスレッドの仕様上、
イベント処理のコーディングしだいでは
GUIが固まってしまったり反応が重くなってしまうという罠があるのですね。

あとで「イベントディスパッチスレッド」などで
検索をかけて参考になるページなどが見つかるかと。

//そういえばJavaチュートリアルの日本語訳ってないのかな。。。
0186デフォルトの名無しさんNGNG
>>184
JavaVM に限らずファイルディスクリプタなどのリソースはそのプロセスが
終了したときに開放されるようになっている。プログラムの中で明示的に
close() が必要な理由は、終了まで開きっぱなしだとリソースを圧迫する
からだ。とはいえ標準入力はシステム上に 1 つであり、それ以上開くこと
はない。

まぁ標準入出力を閉じないってのは慣例的な意味合いが強いがな。自分が
開いたものだけをクローズする、システムから貰ったものはシステムに
任せる、が基本だ。

もし明示的に close() する必要があるとすれば、標準入力が別のプロセス
にパイプされていたり、ファイルやデバイスからリダイレクトされていたり
するケースくらいか。それも苦肉の策だが。
0187164NGNG
うう・・・。
setPane(URL)
って内部でどういう処理してるんですか?

>>170の
>一度ページをStringなどに読み込んでから、
>問題のcssの箇所を修正してからJEditorPaneに渡してみては?
が気になって一晩中悩んだですがどうなってるのか
よくわからなくて・・・。
http://www.naklab.dnj.ynu.ac.jp/~aron/java/web/htmlparser.html
このへんの読んでもよくわからんです・・・。

いい例ありませんか?
0188175NGNG
>>186
レスありがとうございます!
とりあえず標準入出力ストリームのクローズ処理は考えなくてもいいってことですね。

本当にありがとうございました。素朴な疑問が解けました!!

ここのレスにはしばらくお世話になりそうな予感。。。
また後の機会があれば宜しくお願いします〜。
0189デフォルトの名無しさんNGNG
>>188
自分で調べられない人は死んでください。
0190デフォルトの名無しさんNGNG
         (⌒⌒⌒)
        ( △ △ )
        (  / \  )
        _( /´_ゝ`\) ..マターリしろや....
      /      )           _     _
     / ,イ 、  ノ/    ∧ ∧―= ̄ `ヽ, _
    / / |   ( 〈 ∵. ・(   〈__ >  ゛ 、_―<<189
   | !  ヽ  ー=- ̄ ̄=_、  (/ , ´ノ
   | |   `iー__=―_ ;, / / /
    !、リ  -=_二__ ̄_=;, / / ,'
        /  /       /  /|  |
       /  /       !、_/ /   〉
     / _/             |_/
     ヽ、_ヽ
0191菊地桃子NGNG
ここって、厨房ばっかりでほんっと
つかえない
0192デフォルトの名無しさんNGNG
>>191
だって初心者大歓迎って書いてあるやん。
読めんの?
0193デフォルトの名無しさんNGNG
>>192
心配するな。マルチだ。
0194デフォルトの名無しさんNGNG
今学校でJavaとSQL使ってウェブショッピングサイト作ってるんだが
ウェブショッピングサイト作るぐらいで就職できるんですか?
スレ違いスマソ。
0195デフォルトの名無しさんNGNG
それを元手に就職するのは構わんけど、
それしかやれないのなら単なる小間使いで終わりだろうなあ
0196デフォルトの名無しさんNGNG
というか、それくらいも作れないやつは就職しないでくれって感じ?
0197デフォルトの名無しさんNGNG
>>194
大阪工業大学?
0198デフォルトの名無しさんNGNG
javaを覚えるためにアプレットでインベーダを作成中です

アプレットクラスを継承したメインクラス内で自機と敵の画像を取得したり
敵や自機の表示・キー判定等全て行なわせてました

が、見難くなるので敵クラスと自機クラスを作って、そのクラス内で
それぞれの位置取得や当たり判定をさせるようにしました
画像の表示はスレッド内で行なうとして、敵・自機クラス内で画像を
取得させたくgetImage(getDocumentBase(), "jiki");
と使いたいので、敵・自機クラスにアプレットを継承させたのですが
エラーが出てしまいます

アプレットクラスはメインクラス以外のクラスには継承させれないのでしょうか
0199デフォルトの名無しさんNGNG
>>198
設計が根本的に間違ってると思う。
0200デフォルトの名無しさんNGNG
>>198
根本的に間違ってますか

手探りでなんとか動かしてるという状態なので、答えをきいても、その答えを理解できない
と思いますが、上の考え方でいうとどこが間違ってるか教えていただけないでしょうか
よろしくお願いします
0201デフォルトの名無しさんNGNG
>敵・自機クラス内で画像を取得させたくgetImage(getDocumentBase(), "jiki");

これはどういうこと?
キャラクタークラスで描画しようとしてる?それともキャラクタークラスに画像を持たせたい?
0202デフォルトの名無しさんNGNG
>>201
キャラクタクラスに画像を持たせたいということです
描画はスレッドないで行なわせてますので、
drawImage(teki.tekigazou,・・・);

のようにキャラクタクラス内に画像・位置を持たせてやりたいのです
0203デフォルトの名無しさんNGNG
>>198
> エラーが出てしまいます
どんなエラー?
書き込みから推察するにコンパイルエラーっぽいけれど。
とりあえず、そのエラーきぼんぬ。

それから敵クラス、自機クラスを
Appletのサブクラスにする必要はないとおもうよ。
0204デフォルトの名無しさんNGNG
Eclipseが表示するエラーなので書かなかったのですが、
//敵クラス
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
>>204
自分でgetImageを実装するかコンストラクタでアプレットのインスタンスをを渡してもらうか。
0206デフォルトの名無しさんNGNG
getImageを実装とはgetImageの処理を書き出すということですね

ファイルパスを引数にしてその画像を戻り値にすればいいのですかね

いまいち解らないです...

>>コンストラクタでアプレットのインスタンスを〜

すみません。それも言ってる意味がよく解らないです 申し訳ございません.
0207デフォルトの名無しさんNGNG
そのエラーの原因はAppletクラスのスーパークラスであるComponentに
 //敵の移動位置メソッド(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
かってに>>205の補足。
こんな感じではいかが?

public class Invader {
 public Invader(Applet applet) {
  // 引数として受け取ったappletインスタンスを用いて画像を読み込む。
 }
}
0209デフォルトの名無しさんNGNG
でも、キャラ毎に画像持つのってメモリ的によろしくない気もする。
キャラクラスにはキャラクタIDの様な物だけを持たせておいて、
実際の画像をひっぱてきたりするのは描画処理がやる方がいい気もする。
0210デフォルトの名無しさんNGNG
Classname aaa = new Classname(bbb)

の"new"と位置で「シンボル解釈処理できません」って出るのですが、
どういった原因が考えられますか?
0211デフォルトの名無しさんNGNG
>>210
セミコロンがない。
0212デフォルトの名無しさんNGNG
Classname aaa = new Classname(bbb);

の"new"と位置で「シンボル解釈処理できません」って出るのですが、
どういった原因が考えられますか?
0213デフォルトの名無しさんNGNG
>>212
bbbが宣言されていない。
0214デフォルトの名無しさんNGNG
>>212
じゃおれはClassnameが宣言されていないか、
大文字・小文字などのスペルの書き損じに1じゃばこ。
0215デフォルトの名無しさんNGNG
>>214
俺の老後の楽しみが・・・
0216212NGNG
>>213-214
ぶー、不正解
0217デフォルトの名無しさんNGNG
>>216
なめてんのか。消えろ。
0218デフォルトの名無しさんNGNG
gaburidukeの使用方法教えてください
0219デフォルトの名無しさんNGNG
>>218 ワラタ
0220デフォルトの名無しさんNGNG
>>207
あら、全く同じメソッドがあったのですね、キャラクタ位置を決めるためにsetLocationと
つけたのですが..

>>208
引数として受け取ったappletインスタンスを〜
例えばapplet.getImage(URL,"teki.gif");
ですか?

とりあえず両方ためしてみることにします
メソッド名を変更する方向でいこうと思ってるのですが

>>209
キャラごとはまずいです?
キャラIDが1なら〜の画像、2なら〜の画像としたほうがいいですかね
そのやり方だと上で悩んでた部分がはしょれて、すっきりしますね^
一度検討してみて、そちらのほうを活かしていきたいと思います。
付き合っていただき、有難うございました。

設計が根本的に〜というのはキャラごとに画像を持たせることだったのかな?
0221デフォルトの名無しさんNGNG
>>219
本気です
0222デフォルトの名無しさんNGNG
>>220
いや、何も考えずに親クラスにAppletを選択したこと。
0223デフォルトの名無しさんNGNG
>>209 >>220
イメージをstaticなフィールドにして
すべての敵インスタンスで共有させてはどうだろう。
0224デフォルトの名無しさんNGNG
>>223
こういうのもありだなと思った。

images[] characterImages;//キャラ画像

class character
{
private Image image;

public character(Image img)
{
image = img;
}
}
0225デフォルトの名無しさんNGNG
>>144
Reflectionは全く関係ない。

移植性のあるコードで(*)と(**)が必要となる理由は、
有名な"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"とかのキーワードで検索してみるとよろし。
0226140NGNG
>>225
こんな夜遅くに
レスありがとうございます
今から読みます
0227デフォルトの名無しさんNGNG
ファイルから読み込んだデータをハッシュテーブルに格納して
それをEnumerationを用いて出力した時、結果は読み込んだデータと
異なる順で出力される場合があるのですが、これはなぜなんでしょうか…?

例えば、読み込むファイルが
 1,aaa/2,bbb/3,ccc/ ( / は改行) という内容の場合、その出力は
 3,ccc/2,bbb/1,aaa/ ってなります。
0228140NGNG
>>225
アドバイスされた通り考えてみました
まだ完璧に理解できていないと思いますが
現時点での考えを書きます

(*)と(**)が無いと,考えられる振る舞いは
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
>>227
ハッシュテーブルはListじゃなくてSetなんじゃないかな。
0230デフォルトの名無しさんNGNG
>>227
そもそもHashtable/HashMapは要素を挿入順に取り出せることを保証するものではないから。

1.4ならLinkedHashMapを使えば挿入順で取り出せる。
1.3ならListを内蔵したHashMapサブクラスを自作。高々十数行のコードで作れる。
0231デフォルトの名無しさんNGNG
マウスリスナーでmouseDoubleClicked(MouseEvent e) っていうのが無いのですけれど、
どうかしてダブルクリックを使いたいんです。
何か良い方法ありますか?
0232デフォルトの名無しさんNGNG
たとえば、

"yellow".equals(s) = s.equals("yellow")
 
こう書けるんだったら、
「yearに空文字が入ってる場合、trueを返すって意味を表す」
year.equals("") という表現は
"".equals(year) と表すこともできますか?

いつも思っていたんですが、比べる対象を
equalsの前に置こうが後ろに置こうが、
いいのですよね?
0233デフォルトの名無しさんNGNG
>>229,230
レスありがとうございます。
1.3を使っているので、その方法で自作クラスを作ってみます。
0234デフォルトの名無しさんNGNG
そのequalsが対称律を満たすならどっちでもいいでしょ。
ただし、 year.equals(...) はyearがnullだとぬるぽで落ちる。
0235デフォルトの名無しさんNGNG
質問です。

BufferedReader br = new BufferedReader(なんとかかんとか)
とか、
String str = new string("なんとかかんとか")
のように、
class 変数 = new class(なんとかかんとか)

というようにして、オブジェクトを作成する場合、
「なんとかかんとか」のところは、
どこでどのように受け取れるんでしょうか?
コンストラクタで受け取れるんでしょうか?メソッドでしょうか?
手元にある初心者向けの書籍には明示的に書いてなくて。
0236デフォルトの名無しさんNGNG
getClickCount() == 2
0237デフォルトの名無しさんNGNG
>>235
コンストラクタです。
良くない本だね、その初心者向けの書籍。
0238デフォルトの名無しさんNGNG
>>237
ありがとう。コンストラクタではどのように記述するのが正しいのでしょうか?
0239デフォルトの名無しさんNGNG
すさまじく初歩的なことで恐縮なんですが、
int型をString型に変換する場合どう書いたらいいですか?

int intHensuu = 1;
System.err.println("Err" + intHensuu);

これでもコンパイルは通るのですが、変換するにはどうするのかなーって
思いまして。
0240デフォルトの名無しさんNGNG
>>239
String.valueOf(intHensuu);
0241239NGNG
>>240
おお!さんきゅー

StringクラスのStaticメソッドですか。
どういえば昨日せんせーにならったYO!
0242デフォルトの名無しさんNGNG
>>238
Foo foo = new Foo( "miso" );
の場合は、
Foo( String s){
 // s の処理
}
ってな具合になる。書き方メソッドに似てるポ。
0243デフォルトの名無しさんNGNG
>>242
サンクスコ。いま「やさしいJava」って本読んでるんですが
コンストラクタの項にはカッコの中は「引数」って書かれてるだけで
それが何でどのようにするもんなのかサパーリ書いてない。泣きました。
ありがとう。
0244デフォルトの名無しさんNGNG
>>234
>そのequalsが対称律を満たすならどっちでもいいでしょ。
>ただし、 year.equals(...) はyearがnullだとぬるぽで落ちる。

そうだったんだー。ありがとう。
year.equals(...)の...は何か適当な文字を表してるんだよね?
で、yearがnullだとエラーが出ちゃうと?
0245デフォルトの名無しさんNGNG
対象律って何?
0246デフォルトの名無しさんNGNG
>>243
おれもやさしい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
>>247
サーバ側のソケットは?
0249デフォルトの名無しさんNGNG
マダワカランノカオマエラハ…
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>244 >>234
0250デフォルトの名無しさんNGNG
>>248
あ・・・
incomingが
ServerSocket s=new ServerSocket(port);
Socket incoming=s.accept();
です。すみません書き忘れました
0251デフォルトの名無しさんNGNG
>>247
サーバ側のクライアントは?
0252すみませんNGNG
>>251
サーバ側のクライアントとは?
今調べてみたのですがよくわからなかったのですが…
ファイルにはほとんどこれ以外書いていません。
■ このスレッドは過去ログ倉庫に格納されています