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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
過去ログ、関連スレの一覧や、これからJavaでプログラミングを
始めたいが何をすればいいかわからない人は、下のリンクをクリック。
http://www.wikiroom.com/java/

以下のエラーが表示されて、途方にくれているあなたは、下のリンクを。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path%2Cclasspath

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc2.2ch.net/hp/

エクリプスに関する質問は同板の「統合開発環境Eclipse」スレへ

前スレ
【初心者】Java質問・相談スレ45【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1083740382/l50

すべてのクラス (Java 2 プラットフォーム SE v1.4.0)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
Java (TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html
Java言語規定 第2版 目次
http://www.y-adagio.com/public/standards/tr_javalang2/jTOC.doc.html
0002デフォルトの名無しさんNGNG
      ____
     /∵∴∵∴\
    /∵∴/∴∵\\
   /∵∴●∴∴.● |  
   |∵∵∵/ ●\∵|
   |∵∵ /三 | 三| | 2get
   |∵∵ |\_|_/| | 
    \∵ | \__ノ .|/ 
   / \|___/\
0003デフォルトの名無しさんNGNG
>>1 乙っ。

>>前スレ993
プログラミングは、Java だとか C だとかに関係ない、アルゴリズムの部分がかなり大事。
例えばソート法を考えたりそれをソースに書き起こすのはいい訓練になるが、
Java だけをやってる限りは、その訓練の機会がない。勝手にソートしてくれる API があるからね。
他にも似たようなことはたくさんある。

その手の本で、その部分をカバーできるかというと、該当するのは 3〜4章あたりだが、ちょっと疑問だ。
なるほど "Java プログラミング" はできるようになるだろうが、"プログラミング" はいかがなものか。
中身を知らないから分からないけど。

オブジェクト言語のオの字もついていない、"アルゴリズム" と名のついた本で、
できれば Java、仕方なければ C を対象にしたものも携えておくと、いいかもしれない。
数学関係のプログラミングの本は、やっててつらいかもしれないが、いい勉強になるかもしれない。
0004デフォルトの名無しさんNGNG
http://pc5.2ch.net/test/read.cgi/tech/1083740382/993
いい本だと思うよ。その本は読んだことはないが、
その元になったチュートリアルのページは、
初心者Javaプログラマーが最初に読むべき基本中の基本のページの一つだから。

まあ基本の書でも、時代とともに内容が古びて勧められなくなることもあるので、
読んだことがあい俺にはなんとも言えないが。

pc2サーバの過去ログ倉庫、全部消えていない?
誰か保管庫作ってないの?
0005デフォルトの名無しさんNGNG
Hogehoge hghg = new Hogehoge();
System.out.println( hghg.getDouble() );
HogehogeクラスのgetDoubleは、staticでないメソッドなんです。
HogehogeクラスのgetDoubleは、よく分からないけどdouble型の値を返すんです。
System.out.println( (new Hogehoge()).getDouble );
のようなことができないかなぁと思って試したらできませんでした。
これができたら何がいいことがあるってわけではないんですが、
「インスタンスを定義するのに一行使いたくない」というわがままは通せませんか?
0006デフォルトの名無しさんNGNG
>>5
普通に動くようですが。。。

public class Main {
public static void main(String[] args) {
class Hoge {
double getDouble(){
return 3.1;
}
}
System.out.println((new Hoge()).getDouble());
}
}
0007デフォルトの名無しさんNGNG
質問です。

「フィールドは、インスタンス変数とクラス変数で構成される。」
はYESですか?NOですか?
NOだったら説明お願いします。
0008デフォルトの名無しさんNGNG
>>7
NOかな。
フィールドにはインスタンス変数とクラス変数の2種類があるけど。
 class フィールド;
 class インスタンス変数 extends フィールド;
 class クラス変数 extends フィールド;
という関係になるけど
 class フィールド{
  インスタンス変数
  クラス変数
 }
という関係にはならない。
0009デフォルトの名無しさんNGNG
ヘンな質問なんですが、JAVAアプリケーションで、
スーファミぐらいの格ゲーって作れるでしょうか?
無理ならがんばってC++やるつもりなんですが。。
0010デフォルトの名無しさんNGNG
>>9
スーファミ程度ならなんとでもなると思うけど。(もちろん PC の性能にもよる)
でもゲーム用のプログラミング言語でもなし、作れるようになるまではだいぶかかるぞ。
それは C++ でも同じことだがな。
0011デフォルトの名無しさんNGNG
>>9
Java でできなきゃ C++ で頑張っても無理。
0012デフォルトの名無しさんNGNG
Javaゲームプログラミング アルゴリズムとフレームワーク
http://www.amazon.co.jp/exec/obidos/ASIN/4797318422
0013デフォルトの名無しさんNGNG
>>5
「試したらできない」の意味が不透明。
見たままとると、コンパイルエラーになると思うんだけど。(>>6 では getDouble に () がついている)
コンパイルを試したのか、実行を試したのか。両者は全然違う。
どちらにしてもできなかったら「コンパイルエラーになった」「例外が起きた」「何も起こらなかった」「予想と違うことが起きた」
こういうことを調べて、分析して、考えて、どうしても分からない、となってから、じゃぁどうなったのか、ということを書かないと。
もっと込み入った質問だったら取り合ってもらえないよ。

>>8 は初見の奴には意味不明。。。
何で「フィールド」という語とそんな風に扱う? 何故継承関係を書く?

>>7
フィールドとは何かの情報群の一部としての情報を持つものであり、
情報群とはすなわちクラス「か」インスタンス、だからフィールドとはクラス変数「か」インスタンス変数のこと。「と」ではない。
同じ変数でも、メソッドで一時的に使われ、メソッドが終われば用済みになる「ローカル変数」とは違う。
また、変数ではなく定数の場合もある。値を変更できないだけで、扱いは似ている。

君の表現だと、「国会は衆議院と参議院で構成される」みたいな、両方が要るような言い方だ。
知らん人が初めて聞いたらそうとりかねんし、だから君が勘違いしているようにもとれる。

ではなくて、「朝定食には、納豆定食と焼魚定食(と特朝定食)がある」という関係。
豚鮭定食も定食だが、朝定食ではない。
0014デフォルトの名無しさんNGNG
×何で「フィールド」という語とそんな風に扱う?
○何で「フィールド」という語をそんな風に扱う?
00158NGNG
>>13
めんどくさいから。
関係をあらわすのに簡潔にかけるから。
あとで>>13のように親切なやつがかきくだしてくれるから。
0016デフォルトの名無しさんNGNG
>>9
2Dならなんとかなるんでない?
3DでもJava3D使えばなんとかなるんでない?

GCとの戦いになるだろうけど。
0017デフォルトの名無しさんNGNG
格闘ゲーム程度ならGC問題にならないな
オブジェクト数が多いSTGであらゆるオブジェクトを毎フレーム大量に
インスタンス生成してるがGCの速度は全く問題にならないくらいだし
0018デフォルトの名無しさんNGNG
>>8=15
めんどくさいなら書かなければいいんじゃね?
ウソ教える奴は有害だよ。
0019デフォルトの名無しさんNGNG
>>18
ウソじゃないと思われ。
Java についての話じゃなくて日本語についての話だけど。
0020デフォルトの名無しさんNGNG
>>18
うん、だから、記号で書いたんだよ。
めんどくさいから日本語で丁寧には書いてない。
うそは書いてないと思うんだけどな。
0021デフォルトの名無しさんNGNG
さすがに >>8 は正解が分かっている人にしか
読解できない独りよがりだな。
0022デフォルトの名無しさんNGNG
mainは
public static void main( String[] args )
public static void main( String args[] )
の2種類の書き方がされているようですが、
String[] argsとString args[]にはどんな違いがありますか?
何か違いがあると思うのですが解りません。
0023デフォルトの名無しさんNGNG
違いはありません

つーか、一つのスレにこの話題何度も出てくるから気をつけろ!
0024デフォルトの名無しさんNGNG
変な質問いいですか?
最近JAVAに興味を持ち、勉強してみようと思っているのですが、
JAVAはかなり重いと聞きます。
高速な処理を必要とする物。
たとえば、上の方でも話してますが、
格闘ゲームなどはずっとループさせて当たり判定とか取ると思うのですが、
そういうゲームも、JAVAで作ってもスムーズに動くでしょうか?
かなりのマシンパワーが必要とか・・・?

ゲーム中心に開発をしたいと思っています。
JAVAでゲーム作るより、他の言語を勉強した方がよいでしょうか?
よろしくお願いします。
0025デフォルトの名無しさんNGNG
二次元格闘ゲームなら、普通に作れるよ。
ポリゴンつかうと、厳しいが。
0026デフォルトの名無しさんNGNG
>> 格闘ゲームなどはずっとループさせて当たり判定とか取ると思うのですが、
今でも待ちループとか使うの?なんか手法が古い希ガス。
0027デフォルトの名無しさんNGNG
マルチスレッド+イベントリスナでも出来るけど、
昔ながらの擬似マルチタスクの方がスッキリすることも多い。
0028デフォルトの名無しさんNGNG
>>24
>JAVAでゲーム作るより、他の言語を勉強した方がよいでしょうか?

ゲームよりももっと基礎的なこと(アルゴリズム周り)を勉強した方がいいでしょう。
適切なアルゴリズムを選んでないくせに、遅い遅いいう輩が多いから。
00295NGNG
>6
すみません。
さっきは学校でやってたんですが、家で試したらうまくいきました。
何かのコーディングミスだったのでしょうか…うーん…
ありがとうございました。
0030デフォルトの名無しさんNGNG
java appletで画像を使わずに背景を真っ黒にする方法はありますか?
0031デフォルトの名無しさんNGNG
たまに特にクラスが特別に継承もしていないのに
いきなり参照型でキャストしたりするソースとかありますが

Javaで親子関係のクラス以外でもキャストする場合があるのか?
たとえば参考書なんかだとキャストを説明するとき
かならずextendsでの継承されたクラスとの関係をベースにキャストを説明していますが・・・

0032デフォルトの名無しさんNGNG
>>30
Graphics、Graphics2Dのメソッド説明を穴があくほど読んで来い。
0033デフォルトの名無しさんNGNG
>>31
アップキャストは型が合わなきゃClassCastExceptionですよ。

親がいっぱいいる(interfaceとか)かもしれないし、爺さんヒイ爺さん
かもしれない。
0034デフォルトの名無しさんNGNG
>>32
しこたま読んできます。
0035デフォルトの名無しさんNGNG
>>33
ダウンキャストの間違いでは?
0036デフォルトの名無しさんNGNG
>>33,35
ダウンキャストとかアップキャストとかって何でしょうか?
0037デフォルトの名無しさんNGNG
サブクラスをスーパークラスにキャストしたらアップキャスト
スーパークラスをサブクラスにキャストしたらダウンキャスト
0038デフォルトの名無しさんNGNG
>>30
あります。
0039デフォルトの名無しさんNGNG
>>24
心配しなくても、計算で重くなるようなゲームを作るのはしばらくの間>>24には無理だ。
それまでは勉強しやすいJavaでやるのがいいと思う。
0040デフォルトの名無しさんNGNG
パッケージについて質問です
パッケージはだいたいjp\co\〜みたいにあるとき
サーバにはc:\project_name\jp\co〜
みたいなフォルダ構成になっていると思いますが
この場合のc:\project_name\はどこで設定するのでしょうか?
0041デフォルトの名無しさんNGNG
>>40
環境変数 CLASSPATH か
実行時オプション -classpath
0042デフォルトの名無しさんNGNG
>>25-28
>>39
ありがとうございました。
とりあえず、>>39さんの言葉で覚悟が決まりました。
JAVA勉強してきます。
0043デフォルトの名無しさんNGNG
フィールドの値をある一定値に初期化するコンストラクタがあります。
フィールドの値を初期化したくて、コンストラクタを呼ぶことによってそれを行おうとしたら、
ダメっぽいんですが、ダメなんですか?
YESだとしたら、普通のメソッドにコンストラクタとおんなじ文を書かなければなりませんか?
バグの元になりそうな気が…
0044デフォルトの名無しさんNGNG
>>43
よく分からんが,インスタンス生成後にあるメソッドを呼ぶとフィールドの値が
インスタンス生成時と同じ値に戻るようにしたいのか?
とりあえず全てのフィールドにある値を代入するメソッドを作っておいて,それを
コンストラクタから呼ぶようにしておけばそういうことができなくもない。
0045デフォルトの名無しさんNGNG
>44
普通はそうしますな。変数初期化のメソッドを作ってコンストラクタからもそれを使う。
004643NGNG
>44>45
それで解決します。頭が回りませんでした。ありがとうございました。
0047デフォルトの名無しさんNGNG
c言語では、改行したいときに、printfを使うと遅いということで、
puts( "" );とかputchar('\n')(←だったかな?忘れた。)を使えとのことを教わったのですが、
Javaでは今まではSystem.out.println();で何も指定しないで改行をしてみたりしてました。
他に何かいい方法は用意されてますか?
0048デフォルトの名無しさんNGNG
>>47
System.currentTimeMillis()
とかでprintlnにかかる時間を計ってはみた?
System.getProperty("line.separator")
一応本題の、改行コードの取得はこれね
ついでにprintlnで何やってるかはJDKに同封されてるsrc.zipの中にあるioのPrintWriterってクラス読めば分かるよ
0049デフォルトの名無しさんNGNG
sage忘れたorz
0050デフォルトの名無しさんNGNG
JDBC経由でPostgreSQLをDBとして利用している初心者です。

テーブルを以下のように作成し、
create table test (
id serial not null,
name varchar(100) not null,
PRIMARY KEY (id)
);

これにStatementクラスを利用してinsertを実行するのは問題ないの
ですが、idをシリアルにしているので、insert後にinsertしたデータ
のidを取得したいと思います。

insert into test (name) values ('xxxxx');
SELECT currval('public.test_id_seq');

上のようなSQLをトランザクションとして処理して結果を
得たいのですが、executeQueryでは複数のSQL実行ができず
executeBatchではSELECTの結果を取得することができません。

こういった場合、どのように対応するのがよろしいでしょうか?
宣しくお願いします。
0051デフォルトの名無しさんNGNG
((org.postgresql.jdbc2.Statement)statement).getLastOID();
0052デフォルトの名無しさんNGNG
例えば、
int[] hoge = new int[100];
としたhogeがあって、hogeが大きさ100では足りなくなったので、
200とか100より大きな大きさにしたい。
または、100では多すぎたので、
10とか100より小さな大きさにしたい。
といったときには、どうすればいいでしょうか?
途中までは値が格納されていて、それを残したままにしたいです。
0053デフォルトの名無しさんNGNG
c言語(unix系だけかな?)のexit(3)のような機能はありますか?
要は、実行を完全に終了させたいのです。
0054デフォルトの名無しさんNGNG
>>52
int[] temp = new int[n];
System.arraycopy(hoge, 0, temp, 0, Math.min(temp.length, hoge.length));
hoge = temp;
するとか、他にもいろいろ。

>>53
java.lang.System#exit(int)
java.lang.Runtime#exit(int)
0055デフォルトの名無しさんNGNG
>>50

普通に2つ実行すればいいだけだろ
トランザクションとはまた別の話では?
もしかしてオートコミットモードのままやってるの?
0056デフォルトの名無しさんNGNG
あるプログラムで、Imageを9こつくってPanelに表示しているのですが、
最初の3こくらいしかでません。
同じファイルからImagerを同時に作るのってよろしくないのでしょうか?
0057デフォルトの名無しさんNGNG
一つを使いまわせば?
0058デフォルトの名無しさんNGNG
ToolKitのGetImageはファイル名が同じ場合は、
すでに作成されたImageを返すってかいてあったので、
同じファイルからImageを複数作るのは問題ないのかとおもいました。
PaintメソッドでLoadが完了したImageをdrawしてあげればいいのかと
思いましたが、表示されなかったり、半分だけ描画されたりします。
0059デフォルトの名無しさんNGNG
AppletはMainが無いとかファイルのやり取りに規制があるとかありますが、

基本的にはアプリとクラスやメソッドの使い方や選び方は同じなんですか?
0060デフォルトの名無しさんNGNG
お騒がせしてすいません
Frameをshowした後にImageを描画するCanvasをFrameにaddしていたので、
Canvasをaddしてから、最後にshowしたらうまくいきました。
画面が表示された後でも、Imageを動的に追加できればよいのですが・・
0061デフォルトの名無しさんNGNG
>>59
Applet はブラウザが main を持ってるちょっと規制の多めなアプリだと考えればよい。

>>60
別にできるけど。
0062デフォルトの名無しさんNGNG
>>61
とんくすこ
006352NGNG
>>54
ありがとうございました。
0064デフォルトの名無しさんNGNG
質問です。実際の業務でソフトをつくってるかたはGUIのアプリとかは何で開発
するのでしょうか?ぼくはJavaしか使えないんんですが、しかもswing程度しか
JavaでGUIのアプリを作るやつは、カスといわれました。
Javaを選んだのはまちがいだったでしょうか?
0065デフォルトの名無しさんNGNG
>>64
そーゆー話題はこっちでやってくれ。

GUIが貧弱なJavaはいずれシェアを奪われる
http://pc5.2ch.net/test/read.cgi/tech/1082151386/l50
0066デフォルトの名無しさんNGNG
JavaでGUI作ると風当たりが強いのは確か。
でもSwingでも*ちゃんと*作りこめば普通に使える。

でもそもそも、Javaを選んだのが間違いというよりも
Javaしか使えない、Java以外も勉強してこなかったことが間違い。
0067デフォルトの名無しさんNGNG
>61
サンプルとかありますか?
0068デフォルトの名無しさんNGNG
FrameのShowが呼ばれたことを、Conponentで知る方法ありますか?
あと、Conteinarに現在おいてあるすべてのComponentのPaintのすべて呼び出しが完了したことを知る方法ありますか?
0069デフォルトの名無しさんNGNG
> FrameのShowが呼ばれたことを、Conponentで知る方法ありますか?
show の呼び出しだけを検出したいなら framw の show をオーバーライドすれば捕捉できんでしょ。
ウィンドウの状態を監視したいなら java.awt.event.WindowListener の windowOpened(WindowEvent) とか windowActivated(WindowEvent) とかで。

> あと、Conteinarに現在おいてあるすべてのComponentのPaintのすべて呼び出しが完了したことを知る方法ありますか?
どの時点で「すべてのComponentのPaintのすべて呼び出しが完了」する、のか定義してくんないと無理では。
0070java最高NGNG
StackTraceElementってThrowableからしか拾えないんでしょうか?
拾う為にExceptionを作るってのは邪道ですよね?
0071デフォルトの名無しさんNGNG
>>70
> StackTraceElementってThrowableからしか拾えないんでしょうか?
1.5 では java.lang.Thread#getStackTrace() で取れるようになってる。

> 拾う為にExceptionを作るってのは邪道ですよね?
邪道だろーけど 1.4 だとしょうが無いような。
0072デフォルトの名無しさんNGNG
javaアプレットのゲームサイトで、たまにゲーム終了後、ランキング表示してくるもの
がありますが、アレってどうやるんでしょうか?
0073デフォルトの名無しさんNGNG
アプレットを設置するサイトに CGI をしかけておけば可能
HTTP と CGI の何たるかが分かってないと作れない
0074デフォルトの名無しさんNGNG
>>733
どうも有難う。そこら辺を勉強済ます。
0075デフォルトの名無しさんNGNG
サーブレットで
HttpRequestとHttpResponseでのメソッド
doPostとdoGetの違いって何でしょうか?

PostとGetの違いがよくわかりません
0076デフォルトの名無しさんNGNG
>>72-73
orbというテもあるぞい。
http://www.horb.org/horb-j/

>>75
同じ。アドレスにデータが残らないだけdoPostの方が安全(に見える)
くらいかな?
0077デフォルトの名無しさんNGNG
オーダーn未満のソートは可能なのでしょうか?
ちなみに条件付きでも構いません。

JAVAというかアルゴリズムの質問なんですが、
JAVAやってるんでここに質問させていただきました。
0078デフォルトの名無しさんNGNG
session.setAttribute("name",param);
String name = session.getAttribute("name");

この二つについて質問です
具体的に何をしているのでしょうか?
またAttributeの使いかたってSession以外でも目的は同じなのでしょうか?
0079デフォルトの名無しさんNGNG
えと、ランダムに発生させた数を要素に持つ配列をつくりたいんですが。
ふつうに
Random random=new Random();
int[] nums=new int[12];
for(int i=0; i<nums.length; i++){
nums[i]=random.nextInt(31);
while(nums[i]==0){
nums[i]=random.nextInt(31);
}
}

こう書くと、配列の中で数字がだぶるんことがあるんですよぉ。
配列numsの12個の要素がだぶらないようにするには、どうしたらいいんでしょう?
0080デフォルトの名無しさんNGNG
高々12個の配列に乱数入れるという使い方が想定できてないんだが
そのままだと偏るのは当たり前

配列のサイズを変えるかだぶらない値を持つ配列をランダムに配置換えするしかない

どっちにしろアルゴリズムのお話でどう実装しようが自由
javaのお話じゃないね
0081デフォルトの名無しさんNGNG
>>76
どうもありがとう。HORBというものも調べます。
0082java最高NGNG
>>71
そうですか、StackTraceElementは立派な情報持ってるわりに取得し辛いですね。立派な情報故にそうなのかも知れませんが
とにかく1.5入れてきます。情報ありがとう。
008377NGNG
やっぱりアルゴリズムの話はだめでしょうか。
駄目ならどこかいいスレを紹介していただけないでしょうか。
0084デフォルトの名無しさんNGNG
>>77=83
要素数 n でオーダ n 未満のソートができるわけがないだろ。
全要素をなめるだけでもオーダ n かかるのに。
オーダ n のソートは bin ソートとか radix ソートとかあるがな。
008577NGNG
あるキーの位置が決まればほかの何かのキーの位置も決まる、みたいな条件が付いても無理ですか?
0086デフォルトの名無しさんNGNG
コーディング規約で

1.自身が参照しているクラスのインスタンスフィールド/メソッドは全て"this"を付ける。
2.プリミティブでない型のフィールドには全て初期化でnull を入れる。

知り合いから、これが現在推奨されている規約だと聞きました。

私は1.はフィールド名と引数が同じ時にだけ、明示的に付けるようにしてましたし、
2.はコンストラクタが呼ばれる前にフィールドはデフォルト値で初期化されるので
無駄なバイトコードが増えるのでやってはいけないと思ってました。

実際の所どうなんでしょうか?
本当にこんな規約が推奨されているのでしょうか?
0087デフォルトの名無しさんNGNG
その知り合いが勝手に言ってるだけだろ?

1は個人の趣味だと言えるが
2は86が正しい。
0088デフォルトの名無しさんNGNG
>87
ありがとうございます。
その人曰く「Javaのコーディング規約を推奨している団体がやっている」
と言ってたので気になってました(どこの団体かまでは聞きませんでしたが)。
ちなみに2.ではnullを入れないとEmptyが入るとか言ってました。
Emptyってなんでしょう?
0089デフォルトの名無しさんNGNG
>>86
人による。↓のように考える人もいる。

頑健なJavaプログラムの書き方(Writing Robust Java Code)
http://www.alles.or.jp/~torutk/oojava/codingStandard/writingrobustjavacode_pid86_c3.html#doc1_778
アクセッサ・メソッドを適切に使用する鍵となる概念は、
フィールドを直接操作できるメソッドはアクセッサ・メ
ソッド自身だけであるということである。確かにフィー
ルドが定義されるクラスのメソッドからは、privateな
フィールドであっても直接アクセス可能であるが、クラ
ス内の結合度を増大させることになるのでそうしないこと。
009079NGNG
配列内の要素のダブリをチェックするwhileループでもないかなとおもって・・・。
30この問題の中から、ランダムに12こ選んで出題したいだけなんだが。

たかだか、30こから12この抽出なんで、ランダムに並べ替える事にしますた。
0091デフォルトの名無しさんNGNG
>>79=90
ダブりをチェックするよりリストか何かに要素を入れておいて
ランダムに取り出す度にリストから削除していけば重複はなくなる。
数が多くなるとスピードも断然速い。

ランダムに並べ替えるなら Arrays だったか Collections だったかに
shuffle とかいうメソッドがあるからそれを使うと楽。
009287NGNG
>>88
フィールドはデフォルト値で初期化される。Empty なんかない。
ローカル変数は初期化されないから
その知り合いはその辺のことと勘違いしてるのでは?
0093デフォルトの名無しさんNGNG
>>90
List chosen = new ArrayList();
for(int i = 0 ; i < 12 ; i++){
 chosen.add(list.remove(random.nextInt(list.size())));
}
とかすりゃいーんでない?
009486NGNG
>92
やっぱりそうですよね。

私も「コンパイルの段階でエラーがでるし・・云々」
と言ってたのでローカル変数と勘違いしてないか?とか
思ったのですが会議室の場で一杯人いたので黙って聞いてました(^^;

お陰様で胸のつっかえが取れました。

>89
アクセッサは分かるのですがthisポインタとは関係無い気がするのですが・・
0095デフォルトの名無しさんNGNG
>>85
条件として「ソート済み」というのをくわえてよければ、オーダーは常に0になる。
0096デフォルトの名無しさんNGNG
>>94
this.hogehogeとかhogehogeとかどっちでアクセスしたほうがいいか気にする前に、
フィールドに直接アクセスすること自体ナンセンスだってことじゃないの?
まあアクセッサ自身の中でどうフィールドにアクセスするかって話は
あるけど、アクセッサみたいな短いコードの中でわざわざ議論するほどの話じゃないと。
009777NGNG
調べてみたところshear sortなるソートを発見しました。しかしコードがなにやってるかわかりません。
誰か教えていただけないでしょうか?
ttp://www.cs.rit.edu/~atk/Java/Sorting/sorting.html
0098デフォルトの名無しさんNGNG
>96
私の書き方が悪かったですね。
アクセッサは関係ないです。

class Hoge{
private int n;
public void hoge(){
n = 10; // A
// this.n = 10; // B
hoge(); // A
// this.hoge(); // B
}
public void print(){
System.out.println("Hello Hoge world.");
}
}

これで常にBの様な書き方をする、という意味です。
規約と言われたので守らなければならないのですが、なんかムズムズします。
009986NGNG
失礼。

> hoge();
> // this.hoge();
ではなく
> print();
> // this.print();
でした。
0100デフォルトの名無しさんNGNG
>>77=97
shear ソートは n 個のプロセッサを使った並列アルゴリズムだってわかってるか?
010177NGNG
条件付でいいと言ったはずですが?
0102デフォルトの名無しさんNGNG
>>77
>>85
0103デフォルトの名無しさんNGNG
>>77
>>95
010477NGNG
>>102
77=85です。
>>103
そういうのはなしで。
010577NGNG
>>95,103
そういえばオーダーは1が最低だと思うのですが・・・
0なんてものはアルゴリズムとは言いません(プログラムとも言えません)
何もやってないんだし。
0106デフォルトの名無しさんNGNG
>>105
なにもやらずに結果が得られるというのが、最高なのですよ。
0107デフォルトの名無しさんNGNG
>>105
たとえばデータを2分木で管理すると、ソートの必要はありません。
でも何もやってないわけではありません。
0108デフォルトの名無しさんNGNG
String s = "hello";
String t = "hello";

のときに s == t は、true を返すのはなんで??
別オブジェクトじゃないの?
0109デフォルトの名無しさんNGNG
>>108
最適化
0110デフォルトの名無しさんNGNG
>>108
言語仕様を読んでくらさい。

3.10.5 文字列リテラル
http://www.y-adagio.com/public/standards/tr_javalang2/lexical.doc.html#101083

> 各文字列リテラルは,クラスString(4.3.3)のインスタンス(4.3.1,12.5)への参照(4.3)とする。
> Stringオブジェクトは,定数値をもつ。文字列リテラル(より一般的には,定数式(15.28)の値となる文字列)は,
> メソッドString.internを使用して,一意なインスタンスを共有するために"intern"される。

> ・ 同一パッケージ(7)中の同一クラス(8)に存在するリテラル文字列は,同一Stringオブジェクト(4.3.1)への参照を表現する。
> ・ 同一パッケージ中の異なるクラスに存在するリテラル文字列は,同一Stringオブジェクトへの参照を表現する。
> ・異なるパッケージ中の異なるクラスに存在するリテラル文字列も同様に,同一Stringオブジェクトへの参照を表現する。
> ・定数式(15.28)によって生成される文字列は,コンパイル時に計算され,リテラルのように扱われる。
> ・実行時に計算される文字列は新たに生成されるため,異なるものとして扱われる。
> ・計算された文字列を明示的にinternした結果は,同じ内容をもつ既存のリテラル文字列と同じ文字列になる。
0111108NGNG
>>110
ありがとう
0112デフォルトの名無しさんNGNG
>>108
ふつうequals()で判定すると思うが
0113デフォルトの名無しさんNGNG
import javax.servletとかのパッケージとかサーブレットに関するクラスが
みつかりませんどこにのってるんでですか?
0114デフォルトの名無しさんNGNG
サーブレットに関するパッケージとかクラスがまったくみつかりません
みてるところはjava2プラットフォームSE v1.4です
0115デフォルトの名無しさんNGNG
Javaを始めてみようと思い、J2SE 1.4.1_07をインストールしたんですが、
ググってみても設定とかとりあえず何をすれば良いのかを書いてあるページが
全然無くて困ってます。このスレの>>1の最初のリンクも行けないし・・・
しかもヘルプを見たら何故かバージョンが1.2.0_07になってるし・・・
どうすればいいでしょうか?
0116デフォルトの名無しさんNGNG
>>114
EEもいれて
http://java.sun.com/j2ee/1.4/docs/api/index.html

>>115
本かってね
0117デフォルトの名無しさんNGNG
>>115
Google 検索: java sdk path classpath
http://www.google.com/search?hl=ja&lr=lang_ja&ie=sjis&q=java+sdk+path+classpath
0118115NGNG
そうですか・・・
0119115NGNG
そのページ何故か行けないんですよ・・・
117さん行けますか?
0120デフォルトの名無しさんNGNG
確かに見れないっぽい。
まあ、Javaに限ったことじゃなく、環境変数PATHを設定するだけだし、それもひっくるめてJava入門のサイトに書いてあるだろ。
Java入門サイトなんてざらにあるんだし、本屋で軽く立ち読みしてくることだってできるだろ?
0121115NGNG
>>120
そうですね。本屋行ってきます。
0122デフォルトの名無しさんNGNG
なんというか、一応ぐぐるためのヒント書いたつもりだったんだけどな。「環境変数 PATH 設定 Java」
まあ、立ち読み結構。
0123デフォルトの名無しさんNGNG
えー。俺は普通に見られるけど。
0124デフォルトの名無しさんNGNG
>>116
日本語訳のAPIのページおしえてください。そのEEとやらの
0125デフォルトの名無しさんNGNG
JDK 1.5 で、StringBufferに対するappendの連鎖ができなくなってしまいました。
StringBuffer stbBuf = new StringBuffer();
stbBuf.append("").append("");
とすると、java.lang.AbstractStringBufferはpublicではないため、
パッケージ外からアクセスできません、と出てコンパイルできません。
append の連鎖はできなくなってしまったのでしょうか?
0126デフォルトの名無しさんNGNG
>>125
AbstractStringBuffer を明示的に使ってないか?
StringBuffer なら普通に使えるけど。
あとマルチスレッド化じゃないなら StringBuilder の方がいいよ。
0127デフォルトの名無しさんNGNG
>>125
あ、それ Reflection API の有名な欠陥っつーか仕様っつーか、です。
java.lang.AbstractStringBuilder はパッケージプライベート、
java.lang.AbstractStringBuilder#append(String) が public で、
StringBuffer extends AbstractStringBuilder が public で、
append(String) をオーバーライドしない場合、
stringbuffer.append("") は java.lang.AbstractStringBuilder#append(String) を呼び出す。

言語仕様的には、StringBuffer が public なので問題ないのだが
Reflection API は AbstractStringBuilder が パッケージプライベートなのでエラーを出す。
明示的に java.lang.reflect.AccessibleObject#setAccessible(boolean) 呼んでやってくらさい。
0128デフォルトの名無しさんNGNG
returnをつけるとき
return A;
の部分のAというのはメソッド名を入れなければいけないとか
何か決まっているのでしょうか?

それともその部分は別に何でもいいのでしょうか?
0129デフォルトの名無しさんNGNG
>>121
つうか、なんでいまさら1.4.1なのよ。
それで「Swingっていまだに遅い」とか文句いうのかな。
0130デフォルトの名無しさんNGNG
>>127
と、思ったけど問題ないぞ…

それ、たぶんメソッドの選択が適切でないだけだな。
0131デフォルトの名無しさんNGNG
>>128
戻り値型の式。void の場合は何も書いてはいけない。
0132デフォルトの名無しさんNGNG
>>128

その return 文が含まれているメソッドの戻り値の型による。
例えば
戻り値の型が void であるメソッド内の return 文には、値を何も書けない。

戻り値の型が MyClass であるメソッド内の return 文には、 MyClass 型の
変数に代入できる値であれば何でも書けるし、そのような値を返すメソッド
呼び出しを書いてもいいし、そのような値を返す式でもいい。

「14.16 return 文」
http://www.y-adagio.com/public/standards/tr_javalang2/statements.doc.html#6767
0133デフォルトの名無しさんNGNG
こういう質問って、どういう参考書みたら出てくるんだろう、と疑問になる。
0134デフォルトの名無しさんNGNG
すいません、これがどういう意味なのかわかりません。。

これ:Frame f = new Test();

どうして クラスA 変数 = new クラスA の書き方と違うんだろう
0135デフォルトの名無しさんNGNG
>>134
TestはFrameを継承しているので、Frameの一種だから。
0136デフォルトの名無しさんNGNG
>>135
ありがとー!

今見たら確かに継承してました。
0137デフォルトの名無しさんNGNG
>>134
それがコンパイルエラーにならないのなら、Test っていうクラスは
Frame の一種なんじゃないの?

class Test extneds Frame

ってなってない?

あるいは Test の直接的上位クラスが Frame じゃないとしても、
上位クラスをさかのぼっていけばいつかは Frame にぶつかるはず。
0138デフォルトの名無しさんNGNG
ジャヴァ見習い中の漏ですが、最近、少しだけオブジェクト指向のすばらしさ
を知りました。(ある本の例文を読んで・・・)

いまだ、オブジェクト指向の本質とその利点がよく分かりません。
何か近道とかないんですかね。
0139デフォルトの名無しさんNGNG
>>138
近道はない。
0140デフォルトの名無しさんNGNG
>130
本当ですか?

↓これコピペしてコンパイルとおりますか?
StringBuffer stbBuf = new StringBuffer();
stbBuf.append("").append("");
0141デフォルトの名無しさんNGNG
>>140
コンパイル通るぞ。

java version "1.5.0-beta"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-beta-b32c)
Java HotSpot(TM) Client VM (build 1.5.0-beta-b32c, mixed mode)
0142デフォルトの名無しさんNGNG
>141
そうですか・・・ありがとうございました。
もしかしたらJBuilderの設定か何かかもしれません。
もうちょっと調べてみます。
0143デフォルトの名無しさんNGNG
>69
FrameやWindowListenerを使用しないで、Frame直下の
ContainerがFrameのshowが呼ばれたことを知りたかったのですが、
難しいですか?
0144デフォルトの名無しさんNGNG
>>142
それやってるとき見つけたんだけど、1.5.0-beta-b32c だと Class#getDeclaredMethods() が継承されたメソッド返しやがる。

これは想像だけど、JBuilder が javac 使わんで reflection API 使う独自のコンパイラ持ってるとダメなのかも。
でも、その場合は普通だったら曖昧なメソッド呼び出しっていわれると思うので上の想像は外してる可能性が高い。
0145115NGNG
>>122
あ、そうだったんですか・・・
>>123
さっきもう一回やってみたら俺も行けました。混んでただけ?
>>129
確かにそうですよね・・・入れ直すとしたら何を入れたら良いですかね?
0146デフォルトの名無しさんNGNG
サーブレットをやってるんですが。
public void doGet(HttpServletRequest request,HttpServletResponse response)
{response.setContentType()・・・・・
って感じでインターフェイスをデータ型としたパラメータがあって
そのあと、すぐにメソッドをしようしてるんですけど、このときのインスタンスは
どこでできてるんですか?インターフェリスを使用するときは実装したクラスを定義して
とかっていう風に覚えていて、、こういうパラメータとかでインターフェイスを
指定した場合は、いきなりメソッドを使用することができるんでしょうか?
0147デフォルトの名無しさんNGNG
>>145
最新の1.4.2_04入れとけ。
0148デフォルトの名無しさんNGNG
import java.util.regex.*;

class regex{

public static void main(String[] args){

boolean b = Pattern.matches("a*b", "zaaaaab");

System.out.println(b);

}

}

これがなんでfalseになるんですか?

0149115NGNG
>>147
わかりました。早速入れてきます。
0150デフォルトの名無しさんNGNG
_フォームデータの取得で
tmp.getBytes("8859_1")っていきなり本にかいてありました
この数字の説明してないし・・・どういうことをあらわしてるの?
0151デフォルトの名無しさんNGNG
>>150
文字コード。
それと、その本の記述は古くて使い物にならないから捨てろってことも表してる。
0152115NGNG
何度もすいません。Windows用にOffline Installation, Multi-language と、
Installation, Multi-language があるんですけどどっちの方が良いでしょうか?
0153デフォルトの名無しさんNGNG
>>152
offline
0154115NGNG
>>153
わかりました。有難う御座いました。今度こそ行ってきます。
0155デフォルトの名無しさんNGNG
>>148
Pattern や Matcher の APIDoc をよく読もう。
特に Matcher 。君の欲しいものがある。
0156デフォルトの名無しさんNGNG
>>155
なるほどmatches()は全体をマッチするわけか
で、lookingAt()が先頭からで全体がマッチする必要はなくて
find()は前回の後からってことか。

なんでわざわざ3種類もあるの?正規表現の指定だけで済む気がするんですが。


それともう一つ質問。
Pattern p = Pattern.compile("a=([1-9]*) (b=[1-9]*)");

Matcher m = p.matcher("record a=123 b=456");

で、()で囲まれた部分123と456を取り出すにはどうしたらいいんですか?
find()した後group()だと "a=123 b=456"までしかとりだせないですよね。


0157デフォルトの名無しさんNGNG
>>156
Pattern や Matcher の APIDoc をよく読もう。
特に Pattern 。君の欲しいものがある。
0158156NGNG
グループのそれぞれの値は public String group(int group)のほうでとりだせるのか。



>なんでわざわざ3種類もあるの?正規表現の指定だけで済む気がするんですが
こっちのほうの疑問はまだ残ってるんだけど 誰か教えて。
0159デフォルトの名無しさんNGNG
必要ないと思うなら使わなきゃええやんか。
0160デフォルトの名無しさんNGNG
DQN登場
0161デフォルトの名無しさんNGNG
strutsについて質問です
フレームワークということですがstrutsを導入すると
具体的に何が可能になるのでしょうか?

なぜみんなstrutsがいいというのでしょうか?
何が充実しているのでしょうか?
0162デフォルトの名無しさんNGNG
>>161
フォームの入力チェックが簡単になる。
0163デフォルトの名無しさんNGNG
それだけですか?
フレームワークの代名詞みたいに言われてるけど・・・
0164デフォルトの名無しさんNGNG
どういう答えが欲しいんだろう・・・
0165デフォルトの名無しさんNGNG
Runnableについてですが
Threadをimportせずにnewできるのはなぜ?

ThreadでもRunnableを実装してるけどどういうこと?
0166デフォルトの名無しさんNGNG
java.lang.Thread
0167デフォルトの名無しさんNGNG
>>166
ありがとう〜
0168デフォルトの名無しさんNGNG
みんな質問理解するの無茶苦茶早いね
的外れな回答とかなぜ出ないんだ???読唇術でもやってるの?
jdbcの実装で聞きたかったけど、今はそれよりも気になる
0169デフォルトの名無しさんNGNG
>>161
・Servletを自作しなくてすむ
・画面遷移の仕組みを考えなくてすむ
・カスタムタグを使うとJSPのコードがすっきりする(と言われているw)が
 Strutsを使うとそのためにカスタムタグを自作しなくてすむ
・複数人数で開発する場合に実装のルールを(ある程度)統一できる
・・・と言われているw
0170デフォルトの名無しさんNGNG
staticなクラスのフィールドに、その内部のクラスからアクセスできるのは
どういう仕組みなのか教えてください。
0171デフォルトの名無しさんNGNG
>>169
全然 JSP のコードはすっきりしなかったぞ…
0172デフォルトの名無しさんNGNG
>>168
前すれとかでは普通にでているわけだが。
0173デフォルトの名無しさんNGNG
>>168
みんな一度は同じ事で悩んでるからさ。(でもそゆーのは雑談スレでねw)
0174デフォルトの名無しさんNGNG
教えてください。
int<=>byte[]の変換ができません。

int resourceID = 55;
byte[] byteID = new byte[4];

byteID[0] = (byte)((resourceID >> 24) & 0xFF );
byteID[1] = (byte)((resourceID >> 16) & 0xFF );
byteID[2] = (byte)((resourceID >> 8) & 0xFF );
byteID[3] = (byte)(resourceID & 0xFF );

int inID = (((byteID[0] << 24) & 0xFF) | ((byteID[1] << 16) & 0xFF) |
((byteID[2] << 8) & 0xFF) | ((byteID[3]) & 0xFF));

これだと、resourceID=255までしか変換できません つД`)
256以上の数値はどうすれば良いのでしょうか??
0175デフォルトの名無しさんNGNG
画像の生データ(ヘッダのない画素情報)を読み込んで表示させたいです。
読み込みは出来たのですが、描画・表示に困っています。
画像処理プログラムを作るのが目的です。

どのように表示させたらいいのでしょうか?
~~~~~~~~~
(アプレットで点描?)
0176デフォルトの名無しさんNGNG
>>169
StrutsよりJSTLとELの影響の方がでかいぞ。
0177デフォルトの名無しさんNGNG
>>175
読み込んだデータから、java.awt.image.BufferedImage を作り出せるといいのだけどね。
0178デフォルトの名無しさんNGNG
>>175
点描も漢らしくていいと思うけど。
java.awt.image.MemoryImageSourceでImage作るとか。
0179デフォルトの名無しさんNGNG
>>174
なぜに戻すときに& 0xFFする?
int inID = ((byteID[0] << 24) | (byteID[1] << 16) | (byteID[2] << 8) | (byteID[3]));
こうでないのか?
0180174NGNG
>>179 様
ありがとうございます。

やってみましたが、
& 0xFFしないと、255以下の数値もとれなくなってしまうのです。

・゚・(ノД`)・゚・
0181デフォルトの名無しさんNGNG
>>180
なるほど。byteが符号付だから& 0xFFで符号なしの値にするのか。
int intID = (((byteID[0] & 0xFF) << 24) | ((byteID[1] & 0xFF) << 16) | ((byteID[2] & 0xFF) << 8) | ((byteID[3] & 0xFF)));
こうすればいいのだ。

普段nio使ってるからこれを考えなくて済んでた俺はへたれですかそうですか。
0182デフォルトの名無しさんNGNG
>>180
BigEndian でいーなら DataInput 使っても読み込めるよ。
int inID = new DataInputStream(new ByteArrayInputStream(byteID)).readInt();
0183174NGNG
>>181 様
ををを!!
先に& 0xFFするのでつね。
やってみます。
ありがとうございます!!
nioってなぁに??な私のほうがへたれです。

>>182 様
一度やってみたのですが、なぜかnullpoになってしまいました。
もっと複雑なコードの中に組み込んでしまっていたので、
他の原因があったのかもしれません。やってみます。
ありがとうございます!!
0184デフォルトの名無しさんNGNG
>>183
java.nio
0185デフォルトの名無しさんNGNG
> なぜかnullpoになってしまいました

ガッ
0186デフォルトの名無しさんNGNG
AWTのComponentのUpDateとReapintの違いって何ですか?
0187デフォルトの名無しさんNGNG
repaint ... 「非同期的に」再描画される。
再描画用のスレッドが別途動いていて、そいつのキューに要求が入り、あとで再描画が実行される。

update ... 引数となる Graphcis に「即座に」描画を行う。paint との違いは実装に依りけり。
まっちろに消去する処理を入れて、そのあと paint を呼ぶだけだったりする。

Component#getGraphics() してそれを Compoent#update(Graphics) に渡したりもできるが、
そーゆーことは AWT 実装に任せておいて、repaint だけぽんと呼ぶのが普通だな。
その分トロくはなるが、上記方法は素人が手を出すと表示がめちゃめちゃになるし。
0188デフォルトの名無しさんNGNG
>>170
内部のクラスにもいろいろあるが。
「内部のクラス」なんだから一回り外のクラスのフィールド・メソッドには自由にアクセスできる。
それだけじゃん。仕組みもへったくれもない。あほくさ。
0189デフォルトの名無しさんNGNG
アプレットでMP3の再生って、無理?
0190デフォルトの名無しさんNGNG
アプレットもくそもない。あほくさ。
0191デフォルトの名無しさんNGNG
>>189
mp3 は特許問題だったかのせいで標準でサポートされなくなった。
JLayer とか使えば一応できる。
http://www.javazoom.net/javalayer/javalayer.html

applet もある。
http://www.javazoom.net/applets/jlguiapplet/jlguiapplet.html
0192デフォルトの名無しさんNGNG
>>191
SUNクスコ!!
0193デフォルトの名無しさんNGNG
すいません。
アプレットのテキスト入力エリアで起動するIMEの変更ってできるんでしょうか?

たとえば、
あるクライアントには2種類のIMEがインストールされているとします。
(MS製Standard IMEと富士通製IMEとか)
普段は”MS製Standard IME”を使用しています。

で、あるテキストボックスに入力するときには
”富士通製IME”を自動的に起動して入力させるとか。

もしご存知の方がいたら教えてください。
0194175NGNG
177様、178様ありがとうございました。
感謝です。
0195デフォルトの名無しさんNGNG
>>193
単純に IME の ON/OFF はできるけど、そういう気持悪い例は見たことないな。
万一 Windows レベルでもできないのならば Java には無理。

その富士通製というのは何故使いたいの? 登録している頻出単語を入力させたいだけなら、
自分で作った InputMethod になら変えられるらしいから、そうしてみたら?
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/imf/spi-tutorial.html
それとも文字認識か何かかな?
0196193NGNG
>>195
レスさんくす。

>その富士通製というのは何故使いたいの?

漏れも良く分からないんだけど、特殊な機能があるそうで。
調べるように頼まれたですよ。
元々C++屋なんでJAVAの細かいことよくわかんないから聞いてみた。

Win32APIならできそうなんで、
「COM作ってjavascriptから呼び出したらだめ?」って言ったけどだめだって。
クライアントインストールレスでやれと。

あー、ええと今聞いたら文字認識とか文字の検索がすごいんだそうで。w
0197デフォルトの名無しさんNGNG
>>196
ActiveX
0198デフォルトの名無しさんNGNG
>クライアントインストールレス
でも 1.4 プラグインは入れないと、InputMethod いじるのは絶対無理だぞ。
0199193NGNG
みんなレスサンクス

>>197
あーActiveXならいけるかな?
でもインスコダイアログでるじゃん?あれいいのかな...聞いてみよ。

>>198
そのInputMethodつーのはIME切り替えられるんでしょうか?
どうも富士通製IMEの独自機能を使いたいらしいので。
0200デフォルトの名無しさんNGNG
>>199
> そのInputMethodつーのはIME切り替えられるんでしょうか?
目的の用途には使えんだろうが
java.awt.im.InputContext#selectInputMethod(Locale) で選択できる。
っつーか普段から「富士通製」使えよ。
0201デフォルトの名無しさんNGNG
「誰でも簡単に作れる描画アプレット講座」
みたいなのを探しています。お勧めってあります?
0202デフォルトの名無しさんNGNG
class classA{
int x;
classB y = new classB; インスタンス化
}

class classB{

ここからclassAのint x値を変更したい。

}

どうすれば良いですか?
お願いいたします。
0203デフォルトの名無しさんNGNG
classAにint xを変更するメソッドを作る。
0204デフォルトの名無しさんNGNG
203さん、ありがとうございます。
classAにメソッドを作っても、classBから呼び出す方法がわかりません。

検索語もわからないので、質問した次第です。
0205デフォルトの名無しさんNGNG
class Sample{
Sample(int x, int y){
}
}

でSampleのコンストラクタに値を入れながらSampleの型の配列を宣言するのって
どうしますか?
0206デフォルトの名無しさんNGNG
>>202
クラス名が大文字で始まらないのは気持ちが悪いので、変更した。
ClassB のコンストラクタ呼び出しの際に、ClassAのインスタンスを this として渡してやる例。

class ClassA {
  int x;
  ClassB y = new ClassB(this);
}
class ClassB {
  private ClassA a;
  public ClassB(ClassA a) {
    this.a = a;
  }
  public void change(int x) {
    a.x = a.x + x;
  }
}
0207デフォルトの名無しさんNGNG
>>205

Sample[] sampleArray = new Sample[] {new Sample(1, 2), new Sample(3, 4)};
0208デフォルトの名無しさんNGNG
JDBCドライバをロードする時に、
Class.forName("acme.db.Driver");
のように書くそうですが、
forName()メソッドは戻り型がClassクラスですよね?
何故
obj = Class.forName("acme.db.Driver");
のように書かないのでしょうか?
戻り値であるドライバのClassオブジェクトは何処に行ってしまうのですか?
0209デフォルトの名無しさんNGNG
>>208
> Class.forName("acme.db.Driver");
その場合は acme.db.Driver を初期化するのが目的なので戻り値は捨ててもいい。

あんまりやらんけど、クラスの初期化ができるなら
Class.forName(String) 等を使わなくても全く構わないと思われ。
0210デフォルトの名無しさんNGNG
>>208
戻り値は必ず受け取らねばならないという決まりはない。
0211デフォルトの名無しさんNGNG
>>208
最初は誰もが疑問に思う道
ドライバはクラスロード時のスタティックによって初期化される物と
決まっていると思えばいい

まぁ、最初にこれ書くことから何をやろうとしているかが分かるんで
人のコード追うとき楽だ

0212デフォルトの名無しさんNGNG
クラスの継承を行い、
サブクラスのインスタンスを生成するときに、
サブクラスのコンストラクタ内で、
スーパークラスの引数なしコンストラクタが実行されますよね?
ここまではあってますか?
↑の前提があっているとして、
スーパークラスの引数なしコンストラクタの実行を
行わせたくない場合はどうすればよいでしょうか?
0213デフォルトの名無しさんNGNG
>>212
> スーパークラスの引数なしコンストラクタの実行を行わせたくない場合はどうすればよいでしょうか?
単純に、呼び出されたくなければ、スーパークラスの呼び出されたくないコンストラクタを private 宣言すればよい。
ただし、継承元クラスのすべてのコンストラクタが呼べない場合、そのクラスを継承することはできなくなる。

> クラスの継承を行い、サブクラスのインスタンスを生成するときに、サブクラスのコンストラクタ内で、
> スーパークラスの引数なしコンストラクタが実行されますよね?ここまではあってますか?
いいえ。
「スーパークラスの引数なしコンストラクタが実行」されず、引数のあるコンストラクタが実行される場合があります。例えば、以下。

クラス B のコンストラクタは、どちらもスーパークラスの引数なしコンストラクタを呼んでいない。
(1つは、自クラスの別なコンストラクタを呼び出している。もう1つは、スーパークラスの引数のあるコンストラクタを呼び出している。)
クラス B のインスタンス生成の際には、どちらのコンストラクタを使おうとも、クラス A の引数
無しコンストラクタは呼ばれない。(引数を取るほうのコンストラクタが使われる。)
class A {
  public A() {
  }
  public A(int i) {
  }
}
class B extends A {
  public B() {
    this(6);
  }
  public B(int i) {
    super(i);
  }
}
「8.8.5 コンストラクタ本体」
http://www.y-adagio.com/public/standards/tr_javalang2/classes.doc.html#78435
0214212NGNG
>213
うーん、難しい。

!あ、、、言葉足りてませんでした…
「サブクラスのコンストラクタ内でスーパークラスのコンストラクタを
明示的に指定していないとき」
の話でした。すんません。

でも、勉強になりました。publicをサブクラスで実行できるのか…
まだ試してないんで、今から試してみます。
ありがとうございました。
0215デフォルトの名無しさんNGNG
>>201
java の基本を知らなきゃ簡単には作れない。
知ってりゃサイトに頼らず作れる。以上。さようなら。
0216デフォルトの名無しさんNGNG
すごく初歩的な質問なのですが…

int x = 1;
x=x++;
System.out.println(x);

これの結果がなぜ「1」になるのかがわかりません。
だれか教えてください。
0217デフォルトの名無しさんNGNG
216はネタなので放置してください。
0218216NGNG
>217
ねたじゃないですよぉ。
0219デフォルトの名無しさんNGNG
int x = 1;
x++;
System.out.println(x);

でいいのでは?実行していないけど。

>>215
ありがとう。そうだよね。参考書買ってきて勉強しまふ。
0220デフォルトの名無しさんNGNG
>>216
2行目をいろいろ変えてみると勉強になるよん。
x=x++;
x=++x;
x++;
0221216NGNG
いろいろ確認しました。

x=(x++)+1 => 2
x=(++x)+1 => 3
x=(x++)+x => 3
x=(++x)+x => 4

後処理は評価値が決まった後に行われるので
その後でインクリメントしても最後に代入
される値に影響されないってことですかね。

試験にでたらひっかかりそうでした(^^;;
0222デフォルトの名無しさんNGNG
継承について解らないことが多いんですが、そのなかで、
下に示す、コードの手ほどきを受けたいです。
これだと、class BのインスタンスのtoString()は、
class Stringの"hoge"を返すんですが、
class AのtoString()を継承したくない(つまり、class ObjectのtoString()が欲しい)時には
どうすればよいのでしょうか?

class A
{
String toString()
{
return "hoge";
}
.....
}
class B extends A
{
......
}
0223デフォルトの名無しさんNGNG
>>222
一般的には上書きされたメソッドをさかのぼって呼び出すのは無理。

toString() だけに関して言えば、Jakarta Commmons の lang の
org.apache.commons.lang.ObjectUtil#appendIdentityToString(StringBuffer, Object)
とかで使われてる方法
 object.getClass().getName() + "@" + Integer.toHexString(System.identityHashCode(object))
を使えば希望の出力が得られるはず。

http://jakarta.apache.org/commons/lang/api/org/apache/commons/lang/ObjectUtils.html#appendIdentityToString(java.lang.StringBuffer,%20java.lang.Object)
http://cvs.apache.org/viewcvs.cgi/jakarta-commons/lang/src/java/org/apache/commons/lang/ObjectUtils.java?rev=1.23&view=markup
0224デフォルトの名無しさんNGNG
((Object)this).toString()
0225222NGNG
>223
う、うへぇ…
難しすぎる…。すんごいプログラムを組むには、それくらいの知識が必要なのですか?
ありがとうございました。

>224
ありがとうございました。
0226222(連投スマソ、自力じゃわからんです)NGNG
あるクラスAがありまbキ。
これbp承したクラャXBがあります。
これを更に継承したクラスCがあります。

Aにprotectedな変数hogeがあるんですが、
Cのインスタンスから、
super.super.hogeのようにして呼ぼうとしたら、
なんだそりゃ?といわれてしまいました。
僕が意図することは、行えるでしょうか?
出来るとしたら、どうすれば良いでしょう?
0227デフォルトの名無しさんNGNG
>>226

もちろん、クラスBにも、新たに hoge という名前のフィールドが宣言されてるんだよね?
もし無いなら、単に、 hoge でアクセスできるもんね?
おもしれー。どうやるんだろ。
0228227NGNG
こうかな?
class A {
  protected String hoge ="A:hoge";
}
class B extends A {
  protected String hoge ="B:hoge";
}
class C extends B {
  protected String hoge ="C:hoge";
  public void foo() {
    System.out.println(((A)this).hoge);//A:hoge
    System.out.println(((B)this).hoge);//B:hoge
    System.out.println(super.hoge);//B:hoge
    System.out.println(hoge);//C:hoge
  }
}
0229222=226NGNG
>227,228
おおぉおお!
ありがとうございました。激しく感謝します。
0230デフォルトの名無しさんNGNG
はっきり言ってそういう呼び出しすること自体クラス設計間違ってるけどな。
0231229NGNG
>230
そうなんですか。ひとまず使えるようになってから考えようとか思ってました。ます。
いや、気になって気になって。

で、226,227の件で、今度はstatic変数だとできるかなぁと気になって、
知恵と知識が無いなりに試してたんですが、
わからないんで、ご教授いただけたらと思ったのですが、お願いできますでしょうか?
0232横槍NGNG
static も同じようなもん。ほんとに試したか? 試せばわかるだろ。
しかしだな、static なメンバは、
インスタンスではなく、クラス宣言を介してアクセスするもの。
表現するには明示的にクラスを指定する。回りくどいことなしに A.hoge, B.hoge と書いていく。

君の仮定はみんな、設計が汚い。
試しでやってるからピンとこないんだろうが、
何かの意味があってそういう書き方をすることは、まずない。
勉強する分にはいいけどな。
0233横槍NGNG
あと >>224 はうそだ。C++ じゃねーっつの
0234デフォルトの名無しさんNGNG
>>224は嘘で、
>>228は正しいのか。ワケワカメ。
0235デフォルトの名無しさんNGNG
C,Perl,PHPの経験ありの人がJAVAを勉強しようとしてます。
JAVA特有の部分だけ効率よく学びたいんですが、結城さんの
本の下巻ってどうでしょうか?
0236デフォルトの名無しさんNGNG
>>234
クラスの親子間で同じ名前のメンバーがある場合にどれをつかうかは、
クラスメソッド&変数と、インスタンスメソッドとでちがう。
クラスメソッド&変数の場合、変数の型によって決まる。
インスタンスメソッドの場合、変数がさすオブジェクトの型によって決まる。
0237デフォルトの名無しさんNGNG
よくSEとかエンジニアって言いますが、
大体どういう資格もってるんですか?こういう人たちって
シスアドとかですか?シスアド自体言葉しかしらんのですが・・・
有資格者の人からしてみればサイト作ったりスクリプト作ったりなんて
簡単なことなんですか?
よろしくお願いします。

すれ違いのようですが、何処で聞けばいいのか分からんのです。
0238デフォルトの名無しさんNGNG
スレどころか板
マ板のほうが近いような

マジレスすると単語にはなんにも意味はない
SEっていうと凄く見えるだけ

ITって単語になんの意味もないのと同じ
0239デフォルトの名無しさんNGNG
>>237
IPAの資格とか各種ベンダーの資格とか色々。
ベンダー資格は持ってないんだけどIPAに関して言えば、
プログラムというよりはもっと広い分野の勉強だから
これとればプログラムが組めるってもんでもないと思う。
0240デフォルトの名無しさんNGNG
>>238・239
板違いなのにありがとう。
深く聞いても理解できませんでした(汗
あきらめます。
0241デフォルトの名無しさんNGNG
資格は大企業にいたらボーナスが高くなる程度の役にしかたたない。
0242デフォルトの名無しさんNGNG
中小企業だと、入ったばっかり取ったばっかりのときにちょっと自慢できるだけ。
0243デフォルトの名無しさんNGNG
>>235
そいつらに比べるとJava特有の部分っていうのがでかすぎるな。
Perl/PHPと比べるならServlet/JSPとJSTL、strutsくらいは知っておいたほうがいいけど、結城さんの本にはサーバーサイドのことは触れてなかったはず。
0244229NGNG
>>232
神降臨。ありがとうございました。
(どうすればキャストできるのか考えてますた。的外れだったようです。  つД`)


>236
あの、僕にはまだ早いのかもしれませんが、もし宜しければ、
バカにも解るように噛み砕いて教えていただけないでしょうか?
>クラスメソッド&変数と
これは、クラスメソッド及びクラス変数及びインスタンス変数、ということですよね?
これの型というのは、クラスメソッドでは戻り値の型ということですか?
>インスタンスメソッドの場合、変数がさすオブジェクトの型
ってなんでしょう??うーん…
0245デフォルトの名無しさんNGNG
>239
あのな、そんな一度に全部わかろうとするな。
とりあえず入門書を2,3回通読しろ。もちろんまともな本な。
0246デフォルトの名無しさんNGNG
良スレに感謝
0247デフォルトの名無しさんNGNG
先生!
クラス内の、スタティックフィールドに、
メソッドからアクセスするときに、何気にthisをつけてしまったんですが、
そしたら、普通に動きました。
thisというとインスタンスを指定するために用いるものと思っていたのですが、
もっと何か重大な意味があるのでしょうか?

個人的にはthisをつけたら、コンパイルエラーが相応しいと考えていたので、カルチャーショックを禁じ得ませんって言うか何を言ってるのだろう。。。
0248デフォルトの名無しさんNGNG
>>244
これを実行したら、あとは結果を自分で考えて。

public class Demo{
 public static void main(String[] args){
  SuperClass super1 = new SuperClass();
  SubClass sub2 = new SubClass();
  SuperClass super2 = sub2;
  System.out.println(super1.foo + ", " super1.bar());
  System.out.println(sub2.foo + ", " sub2.bar());
  System.out.println(super2.foo + ", " super2.bar());
  System.out.println(((SubClass)super2).foo + ", " ((SubClass)super2).bar());
 }
}
Class SuperClass{
 String foo = "SuperClass";
 String bar(){return "SuperClass";}
}
Class SubClass extends SuperClass{
 String foo = "SubClass";
 String bar(){return "SubClass";}
}

スペースが全角になっているのでコピペする時は注意。コンパイルエラーがあったら直してね。
0249デフォルトの名無しさんNGNG
>>247
ターゲット参照を使用してクラスメソッドを呼んでも言語仕様的には全く問題ない。
0250デフォルトの名無しさんNGNG
>>247
> thisというとインスタンスを指定するために用いるものと思っていたのですが、
> もっと何か重大な意味があるのでしょうか?
this が特別扱いされたのではなくて、
ターゲット参照を使ったクラスメソッド呼び出しと解釈されただけ。

ちなみに、ターゲット参照を使ったクラスメソッド呼び出しだと、
 ((System)null).out.println(((System)null).getProperty("user.dir"));
とかもできる。
0251デフォルトの名無しさんNGNG
>>243
どうも。サーバサイドの技術の方の勉強に時間を割きたいんで
言語自体の勉強をサクっと終わらせたいんですけど考え甘いですかね。
よく分かってないんですが、もちろんサーブレットやらJSPを使って
プログラムする時にもJAVAの文法ってのが必要ですよね?

あとOOな言語に触ったことないからそこらへんの勉強もまず
しないとなーとか色々考えてます。

その辺をふまえて結城さんの本の下巻はどうかなーと思って
聞いてみました。
0252244NGNG
>248,>245?
ありがとうございました。
0253デフォルトの名無しさんNGNG
Javaの基本を知らないでサーブレットやらJSPやろうとすることが激しく間違い。
OOPもとことん勉強してからにしてくれ。
0254247NGNG
>249,250
つД`)
先生。ターゲット参照がわかりません。
googleっても小難しい説明しか出てきません。26件しかないし。
本にも載ってないし。Help me…

(あと、nullをSystemにキャストとは…。高度すぎる。しかし、興味深い…
0255デフォルトの名無しさんNGNG
>>253
そういう、原理主義的な考え方も大切だとは思うけど、OOは手段なので、目的であるWebアプリからまず入るというのは、モチベーションを保つために良いと思う。
0256デフォルトの名無しさんNGNG
ちょっとソースを読んでみたいんですが、javaで書かれたブラウザって何かあるんでしょうか?
2chとか携帯用の物でもいいんですが。
0257デフォルトの名無しさんNGNG
>>247=254
要するにあるクラスのインスタンスからあるクラスのスタティックメソッドを呼べるということだ。

でスタティックメソッドは「呼び先の型」さえわかっていればいいので
null であろうと何であろうと System クラスという風にわかっていれば
System クラスのスタティックメソッドがちゃんと呼ばれる。
0258デフォルトの名無しさんNGNG
>>256
ソースがある、って条件だとSwingの中を見たほうが早いかも。

http://jazilla.sourceforge.net/
ここになんかあるらしいが。
0259デフォルトの名無しさんNGNG
loggerを使用してXMLのLOGを吐いているのですが、
XML宣言の、
<?xml version="1.0" encoding="Shift-Jis" standalone="no"?>
encodingをSHIFT-JISに変換する方法はないでしょうか?

また、
<!DOCTYPE log SYSTEM "logger.dtd">
のDTDがあるとIEで読み込めないのでしょうか?
0260247=254NGNG
>257
その説明で、件のthis.がわかった雰囲気があります。
かなりためになりました。
この微妙な理解を元に適切なドキュメントを読んで勉強しようと思います。
ありがとうございました。
0261デフォルトの名無しさんNGNG
クローンの作り方がよくわかんないです

Hoge x1=new Hoge();
Hoge x2=(Hoge)x1.clone_();
Hoge x3=new Hoge(x1);
x1-x3のどれかのメンバを変えるとそれが他の2つにも影響して3つとも同一の内容になります。
なんか基本的な勘違いしてる?

class Hoge extends Object implements Cloneable{

public Hoge (Hoge x){
this.member=(Object)x.member.clone();
}
...
public Hoge clone_(){
Hoge r=new Hoge(this);
return r;
}
}

0262デフォルトの名無しさんNGNG
>>261
cloneについてちゃんと調べてミソ
0263デフォルトの名無しさんNGNG
>>261
ttp://www.asahi-net.or.jp/~dp8t-asm/java/tips/ObjectCopy.html
0264デフォルトの名無しさんNGNG
マウスをクリックして描画の起点とし、そのままマウスをドラッグした時に楕円を逐次描き
マウスを放した時に最終的に終点を決定して楕円を描くようにするプログラム中の空欄を埋めながら完成させなさい。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Kadai extends [ 1 ]{
int x1,y1;
public void init(){
[ 2 ]
[ 3 ]
}
public void mouseDragged(MouseEvent me){
int x0,y0,x2,y2;
Graphics g=this.getGraphics();
g.clearRect(0,0,300,300);
x2=[ 4 ];
y2=[ 5 ];
if(x1>=x2)[ 6 ]else[ 7 ]
if(y1>=y2)[ 8 ]else[ 9 ]
g.drawOval([ 10 ],[ 11 ],[ 12 ],[ 13 ]);
}
0265続きNGNG
public void mouseMoved(MouseEvent me){}
public void mousePressed(MouseEvent me){
[ 14 ]
[ 15 ]
}
public void mouseReleased(MouseEvent me){}
public void mouseEntered(MouseEvent me){}
public void mouseExited(MouseEvent me){}
public void mouseClicked(MouseEvent me){}
}
よろしくお願いします。
0266デフォルトの名無しさんNGNG
>>265
ソースを読んであまりのくだらなさに呆れた。
0267デフォルトの名無しさんNGNG
>>264
スレ違い
0268デフォルトの名無しさんNGNG
boolean b = a == 1 ? true : false;
って、コードを先輩が書いてたんだが、意味あるのか?

boolean b = a == 1;
じゃダメなのか?
0269あってるかどうかしらんNGNG
[1] MouseAdapter
[2] x1 = 0;
[3] y1 = 0;
[4] me.getX();
[5] me.getY();
[6] x0 = x2;
[7] x0 = x1;
[8] y0 = y2;
[9] y0 = y1;
[10] x0
[11] y0
[12] Math.abs(x1 - x2)
[13] Math.abs(y1 - y2)
[14] x1 = me.getX();
[15] x2 = me.getY();

あってなくても知らん 自分で確かめれ
0270デフォルトの名無しさんNGNG
boolean b = (a == 1);
こっちのほうが好きだな。
0271デフォルトの名無しさんNGNG
ResultSetからさらに条件を指定して、行を取り出すことは可能でしょうか?
SQLを何回も発行するとパフォーマンス悪そうなので、一括である条件のデータをDBから
取得して、その後抽出したデータを分けたいと思っています。
よろしくお願いします。
0272デフォルトの名無しさんNGNG
>>271
resultsetから絞ることはSQL的に無理だろう
それも含めてクエリー発行せよ

DBによるがサブクエリーできるなら簡単に出来るはずだ

件数によってはデータ取得して一つ一つチェックしてもいい

つーか、どういった場合にやろうとしているとか想定件数とか
そういう条件によって変わってくるところだぞ
0273デフォルトの名無しさんNGNG
String[][]をnewする時ってどうすればいいんですか?

String[][] a = new String[i1][];
a[0] = new String[i2];
a[1] = new String[i3];
a[4] = new String[i4];

とかじゃダメですか?
0274デフォルトの名無しさんNGNG
JDBCのDatabaseMetaData使って、DBの構成情報を取得したいのだけれど、
テーブルのカラム名とか型情報とかは取得できますた。
で、主キーや外部キー情報や、他テーブルとのリレーション情報などを取得するには、
どのメソッド使えばいいんですかね?
DatabaseMetaData#getCrossReference()かな?などと思いつつ、うまく逝けません。
0275デフォルトの名無しさんNGNG
JFrame Frame1 extends JPanel{
 Vector Vector1 = new Vector(0);//←ここに
 Frame1{
  (中略)
  DrawPanel Draw1 = new DrawPanel();
 }
}
class DrawPanel extends JPanel implements MouseListener{
(中略)
 public void mouseClicked(MouseEvent e){
  int a = e.getY();//←このマウス座標を↑のVector1にaddしたい
 }
(中略)
}

JPanelのクリック座標を貼り付け親(?)の中にいれたいんですよ。
設計からやり直さないと駄目ですか?
0276274NGNG
主キー情報は取得できますた。
DatabaseMetaData dbmeta = con.getMetaData();
ResultSet rs2 = dbmeta.getPrimaryKeys("", schema, table);
while (rs2.next()) {
System.out.println("------------------------------");
System.out.println("TABLE_CAT :" + rs2.getString("TABLE_CAT"));
System.out.println("TABLE_SCHEM :" + rs2.getString("TABLE_SCHEM"));
System.out.println("TABLE_NAME :" + rs2.getString("TABLE_NAME"));
System.out.println("COLUMN_NAME :" + rs2.getString("COLUMN_NAME"));
System.out.println("KEY_SEQ :" + rs2.getString("KEY_SEQ"));
System.out.println("PK_NAME :" + rs2.getString("PK_NAME"));
}

外部キー情報は、getImportedKeys()とか、getExportedKeys()とか使うのかな?
リザルトセットが反ってこないっす。
0277デフォルトの名無しさんNGNG
>>275
だめ。できなくもないけど、やったら愚か。

GUI となるインスタンスがデータ格納先となるインスタンス (ex. Vector) に
直接アクセスするような設計をはじめると、わけわかめの前触れ。
座標値を保存していくなら、addPoint() とか専用のメソッドをどっかに作って Vector の存在を隠蔽するとかだね・・・
ワンクッションツークッションおくのが大事。
0278デフォルトの名無しさんNGNG
>>275
っつーか Panel に Vector 置いて、getter 設置。
Frame は getter 経由で取得すれば?
0279デフォルトの名無しさんNGNG
正しい結果がでません。
どこが間違ってるのか教えてください。
public class Max{
public static void main(String[] args){
int N=1,S=1;
while(S<=1000){
S*=N;
N++;
}
System.out.println("整数を1から順に掛け合わせた場合に、1000以下で最大となるときの整数Nは、"+(N-1)+"です。");
}
}
0280デフォルトの名無しさんNGNG
>273

配列は
型の宣言、生成(要素数を決める)、初期化(各要素の中身を入れる)で使えるように
なるから、それだとエラーが出ると思う。

要素数は最初に決めたら変更不可だから、列によって要素数が異なる多次元配列
を作るときは、生成時点で最大数を指定するか、java.util.Vector クラスのインスタンス
として配列を作って対処するか。だったと・・・。
0281デフォルトの名無しさんNGNG
>>279
どういう結果が出るの?
0282デフォルトの名無しさんNGNG
6までで720で、7だと5040だけど
止まるのはN=8,S=5040の時。
0283デフォルトの名無しさんNGNG
>>282
まじ?なんでそうなる?
0284デフォルトの名無しさんNGNG
>279
S*=N;
と
N++;
を逆にしやがってください。
もしくは出力を
+(N-2)+
にするとか。

朝起きて考えれば分かるだろ。
0285デフォルトの名無しさんNGNG
おまえらバカ?
デバッガで追えよ。
0286デフォルトの名無しさんNGNG
脳内デバッガでやろうとしたけどようわからんかった。
0287デフォルトの名無しさんNGNG
>>279
System.out.println("Nが" + N + "の時にSは" + S);
この一文をはさんでみるとよく分かる。
解決法は>>284。
0288デフォルトの名無しさんNGNG
public class Max {
public static void main(String[] args) {
int n = 1;
int i = 1;
for (;;) {
n *= i;
if (n > 1000) {
break;
}
i++;
}
System.out.println("整数を1から順に掛け合わせた場合に、1000以下で最大となるときの整数Nは、" + (i - 1) +"です。");
}
}
0289質問者NGNG
StringクラスのreplaceAllメソッドを使って、「"$"」を「"\$"」に
置換したいのですが、置換先の指定の方法がよく分かりません。

replaceAll("\\x24", "?")

の「?」の部分には何を入れればよいのですか?
0290デフォルトの名無しさんNGNG
>>289
replaceAll("¥¥$", "¥¥¥¥¥¥$");
かな?
0291290NGNG
ちがった
replaceAll("¥¥$", "¥¥$");
かな?間違ってるとヤバいので寝るw
0292290NGNG
290で良かったみたい。
0293質問者(289)NGNG
>>290
replaceAll("\\$", "\\\\\\$");
で上手くいきました。
ありがとうございます。

\\\が正規表現の「\」に対応するのですね。
0294質問者(289)NGNG
間違えた‥‥

× \\\が正規表現の「\」に対応するのですね。
○ \\\\が正規表現の「\」に対応するのですね。
0295デフォルトの名無しさんNGNG
質問です。
ある抽象基底クラスに、abstract staticなフィールドを作りたいのです。
そして、こんな風に使いたいと思っています。
例:
abstract class 哺乳類{
  abstract protected static 鳴き声;

  public final String 鳴く(){
      ~~~~
   return this.鳴き声;
  }
}
class 犬{
  protected static 鳴き声 = "ワンワン";
}
class 猫{
  protected static 鳴き声 = "ニュアーニュアー";
}

この場合、同じ種の動物は、みんな同じ声で鳴くというのを前提にしています。
(つまりクラスによって値が異なり、同じ型のインスタンス同士ならみんな同じ値を持つ)

このような実装をしたい場合はどうするのがベストなのでしょうか・・・?

0296295NGNG
すみません。猫の鳴き声を間違えました。
「ニャーニャー」に変更してください。
0297デフォルトの名無しさんNGNG
  public abstract String 鳴く();
0298デフォルトの名無しさんNGNG
>>297

普通はそうだよね。
それをわかってて聞いてるのか、そうじゃないのかが微妙。
0299デフォルトの名無しさんNGNG
>>295
変数にabstract修飾子はつけられないぞ。それに、
staticなメソッドは継承されず、多態性を発揮しない。
この辺は変数と一緒なので、>>248をstaticメソッドを使うように変更して試してみて。

そういうことをしたかったらこうすればいい。ありがちの例だが。
abstract class 哺乳類{
 abstract String 鳴く();
}
class 犬 extends 哺乳類{
 String 鳴く(){return "ワンワン";}
}
class 猫 extends 哺乳類{
 String 鳴く(){return "ニャーニャー";}
}
…いかん、ありきたりすぎて涙が出てきそうだ。

そもそもクラスメソッドの意味をはき違えているな。
クラスメソッドはクラス全体の振る舞いや性質であり、個々のインスタンスの振る舞いではない。
0300デフォルトの名無しさんNGNG
>>295

鳴く() メソッドを final にするのが間違ってます。
0301295NGNG
ありがとうございます。

そうか、ゲッターにしちゃえば良いのか…。
単純なことですみません…。

さきほどは例を出しましたが、
実際は何がしたいかというと、
これからRDBS内のテーブルにアクセスするクラスを作るのです。

つ づ く 。



0302デフォルトの名無しさんNGNG
>254の質問に似てるんだが、
インスタンスから自クラスのstaticメソッドを読むときにthisをつけて、どんな効果が得られるのですか?
「自クラス名.スタティックメソッド名」とすると、自クラスのstaticメソッドだとわかりづらいっていうことですかね?
0303295NGNG
public abstract class Table{
  protected String[] values; // その行のフィールドの値の配列
  abstract protected String getPrimaryKeyName(); // プライマリキーの名前を返す
  public final String tableName(){
    String className = this.getClass().getName();
    // クラス名の、最後のドット以下の部分をテーブル名とする
    return className.substring(className.lastIndexOf('.') + 1);
  }
  // プライマリキーの値を引数にとってTableオブジェクトを作成
  public Table(int pkeyValue){
    final String tableName = this.tableName();
    final String pkeyName = this.getPrimaryKeyName();
    final String sql = "Select * from "+tableName+" where "+pkeyName+"=" +pkeyValue;
    this.values = SQLConnector.execute(sql);
  }
}
public class Customer extends Table{
  private static final int id = 0;
  private static final int name = 1;
  protected String getPrimaryKeyName(){
    return "CustomerID";
  }
  public String getID(){
    return this.values[id];
  }
  public String getName(){
    return this.values[name];
  }
}
0304295NGNG
こんな感じのクラスを作っていたのですが、
getPrimaryKeyName() の部分、最初は、
static String pkeyName というフィールドだったのです。
おかげさまで、上の方法でとりあえず解決? しました。

ただ、プライマリキーの名前っていうのは
インスタンス(この場合は各テーブルの行にあたる)に関わらず一定のはずなので、
本来は定数として設定されておくべきですよね。
このgetPrimaryKeyName() メソッドでは、インスタンスや状況によって
複数の種類の値を返せるような実装が出来てしまうので、
なんとなく違和感が残っているのです。

定数を継承する方法、ないかなぁ。

0305デフォルトの名無しさんNGNG
>>302
staticメンバーを参照するときは、staticということを強調するために
「オブジェクト名.メンバー名」よりも「クラス名.メンバー名」
の方が推奨されているはず。
0306デフォルトの名無しさんNGNG
http://age.tubo.80.kg/age02/img001/316.txt
このようなのを書いたのですがこれを実行すると
本当は丸の絵を入れ替えたかったのですが、なぜか点滅してしまいます
ちなみに,WinKioku#actionPerformedのf.repaint()をf.pack()に変えると、今度は戻らなくなってしまいます
どうしてこのようになって、どうすればいいのでしょうか
ちなみに、これに必要なファイルは
http://age.tubo.80.kg/age02/img001/317.lzh
にまとめてあります
0307デフォルトの名無しさんNGNG
  protected final String getPrimaryKeyName(){
    return "CustomerID";
  }
0308デフォルトの名無しさんNGNG
>>302
staticメソッドがどのクラスにあるかなんて、分類上の都合でしかないから、「自クラスのメソッド」ということをわかる必要性はない。
それよりも、そのメソッドがstaticメソッドであることがわかるほうがいい。
0309デフォルトの名無しさんNGNG
>>306
コメントもないプログラム貼られても、どうなってほしいのかさっぱりわからん。
Component をがんがん入れ替えてたり、GUI に貼りもしないで Icon 作ってるとこからみて、
作法がさっぱりわかっちょらんことは察せられる。
0310デフォルトの名無しさんNGNG
ちょっと質問させてください

Servletで作成したCSV等を、HULFTで別のサーバに転送したいのですが
Servlet内でUNIXのコマンドを打つことは可能でしょうか?

よろしくお願いします
0311デフォルトの名無しさんNGNG
>>310
Runtime.exec()
0312310NGNG
>>311

どうもありがとうございました!
0313デフォルトの名無しさんNGNG
質問なんですが、
サーブレット内でクライアントのIPアドレスを取得したいと思っているのですが、上手くいきません。
現在、getRemoteAddr()で取得しようとしているのですが、
どうやらTomCatのIPを取得しているようなんです。
今はローカルで動かしているので、もしかしたらそれが原因かとも思ったんですが、
サーバーで動かせる環境がないので確認が取れません。
何か間違っている可能性があるところは無いでしょうか?
0314デフォルトの名無しさんNGNG
javaAPIをノートにDLしたいのですがDLできる場所を教えてくれませんか?
お願いします
0315デフォルトの名無しさんNGNG
>>313

同じマシンでサーバとクライアント動かしてるなら
リモートホストで同じアドレスが帰ってきてもおかしくないだろう。

それとも貴方のマシンにはLANカードが2枚刺さってるのか?
0316デフォルトの名無しさんNGNG
そうさのう。
>どうやらTomCatのIPを取得しているようなんです。
>今はローカルで動かしているので、もしかしたらそれが原因かとも思ったんですが、
何が帰って来て欲しかったのやら。

>>314
javaAPI ってなんですか。javadoc な HTML のことですか。
普通に java api ダウンロードでググればあるでしょうに。
0317デフォルトの名無しさんNGNG
>>316
日本語版1.4.0ドキュメント、というものでよろしいでしょうか?
200Mぐらいあるやつです
0318デフォルトの名無しさんNGNG
200MB ってのが展開後のサイズなら、多分それだ
0319314NGNG
ありがとうございます。今DL中です。1時間かかるよー
0320302NGNG
>305
ためになりました。ありがとう。

>308
レスありがとう。
申し訳ないんだが、できそこないな僕には
>そのメソッドがstaticメソッドであることがわかるほうがいい
の意味がわからなかった。
具体的にどうすれば、それがスタティックメソッドだと分かるのだろうか?
クラスの外からならば「クラス名.メソッド名」とすれば、スタティックメソッドだと分かるが、
308氏はそういうことをいっているのではないよね?
僕にとって有用な情報であると考えられるので説明をお願いしたいであります。
0321デフォルトの名無しさんNGNG
びみょーに>>313さんはIPアドレス自体あまりよく理解していない悪寒。
0322デフォルトの名無しさんNGNG
>>320
そういうことを言っているんだよ。
つまりソースの読みやすさ。
static メソッドとして定義したんなら、そのように書け、ということ。

MyClass のソースの中で MyClass.getStaticValue() と書いても一向に構わないし、
そうした方がそうしないより、読んではるかに分かりやすい。
インスタンスメソッドに見間違うことなんてないんだから。(変数名を大文字ではじめるマヌケには別だけど)

人に読んでもらったり、忘れかけてるソースを自分で読み直したりの機会があれば、
static メソッドの扱いや、ソースの読みやすさ、メソッドの扱いやすさの工夫などを勉強することになるだろう。

それまではいくら頭を捻っても、ピンとくるまい。
無印C でオブジェクト指向的な設計をして、
言語によるサポートが得られず苦労した経験があるなら、悩まないだろうな。
java 言語は、別に初心者向けに用意された言語というわけじゃないんだからね。
すぐ実感としてわかってこない部分があって当然。
0323302=320NGNG
>322
ありがとう。ためになりました。
0324デフォルトの名無しさんNGNG
4*(1-1/3+1/5-1/7+1/9-・・・+1/10000001)
というような円周率を求めるプログラムを作りたいんですけど
どうもうまくいきません。
どなたかご教授願えませんか?
0325313NGNG
>>315
やはりそうですか
再来週あたりにサーバ側の設定が出来るらしいので、
その時にもう一度試してみます
どうもありがとうございました
0326デフォルトの名無しさんNGNG
そのクラスのインスタンスがいくつ作られたかを記憶する機能を持ったクラスをつくってみようと思ったんですが、
継承しないクラスでは、コンストラクタで、初期値が0のクラス変数にインクリメントすることで実現したんですが、
何かのメソッドがこのクラスを継承すると、そのクラスのインスタンスの数も数えてしまいました。
どういうコードを書くと実現できますか?
そもそもオブジェクト指向的に、このような設計は考えませんか?
0327デフォルトの名無しさんNGNG
数えないクラスから継承させて数えるクラスを作る。
0328デフォルトの名無しさんNGNG
「継承しないクラス」「メソッドが継承する」の意味が今ひとつ分からんが
if (getClass().equals(数えるクラス.class)) {
 count++
}
でどうか。

ちなみに、普通はデザパタちうもんを考えるわな・・・
0329デフォルトの名無しさんNGNG
JOGLをWindouws,Eclipse環境で使いたいのですが、
導入の方法がわかりません。
教えてください。よろしくお願いします。

JOGL
https://jogl.dev.java.net/
0330あひゃっNGNG
JAVAでTCPIP通信のサーバ側に接続するのに、connectメソッドを呼んでいるのですが、
connectメソッドから1分以上応答がありません。
接続タイムアウト時間(即時タイムアウト等)を任意で設定したいのですが設定方法がわかりません。
どなたかご存知の方教えていただけないでしょうか?
環境は、SunEWS + Solaris8です。
0331デフォルトの名無しさんNGNG
JOGLをWindouws,Eclipse環境で使いたいのですが、
導入の方法がわかりません。
教えてください。よろしくお願いします。

JOGL
https://jogl.dev.java.net/
0332デフォルトの名無しさんNGNG
JOGLをWindouws,Eclipse環境で使いたいのですが、
導入の方法がわかりません。
教えてください。よろしくお願いします。

JOGL
https://jogl.dev.java.net/
0333デフォルトの名無しさんNGNG
JOGLをWindouws,Eclipse環境で使いたいのですが、
導入の方法がわかりません。
教えてください。よろしくお願いします。

JOGL
https://jogl.dev.java.net/
0334デフォルトの名無しさんNGNG
329,331,332
板汚してごめんなさい。
  m( __ __ )m
0335デフォルトの名無しさんNGNG
interfaceの存在意義というのはどういうところなのでしょう?
どういう用途に使えて、どういう用途には使うべきでないのでしょう?
abstractクラスとの使い分けはどのように行えばよいのでしょう?
0336デフォルトの名無しさんNGNG
継承とは関係なく機能をつけたいときに使う。
0337デフォルトの名無しさんNGNG
マルチスレッドというものに興味があるのですが
具体的にはどのようなメリット、デメリットが存在するのでしょうか?

サーブレットなどだと
プロセスを複数作るより効率がよくなると聞きます。

たとえばサーブレットとかはマルチスレッドとかよく聞くんですが
クラス変数なんかをstaticで宣言しなければ無問題?
0338デフォルトの名無しさんNGNG
>>335
とりあえずMouseListenerとMouseAdapter使ってそれぞれ同じように動くコード組めばわかるよ
0339デフォルトの名無しさんNGNG
>>324
適当ですけど

double a = 0;
int i = 1;
while (i < 10000000) {
  a += (1D / i);
  i += 2;
  a -= (1D / i);
  i += 2;
}
System.out.println(a * 4);
0340デフォルトの名無しさんNGNG
複数行のテキストファイルがあり、
そのうちの一行を削除もしくは変更したいと思っています。

現在はファイルからStringに読み込み、修正を加えて
ファイルを再び書き出し直していますが、どうにも非効率な気がしてなりません。
(数千行を超える可能性があるファイルですので)

もっと良い方法があるような気もするのですが…。
何か他に良い方法をご存知の方がおりましたらお教えください。
0341デフォルトの名無しさんNGNG
test.Class.getName
の後ろの二つのclass.getNameって具体的に何をしているのでしょうか?
これを指定することによって何が可能になるのでしょうか?
0342デフォルトの名無しさんNGNG
>>340
> どうにも非効率な気がしてなりません。

何が非効率だと感じてるの?(メモリ?時間?)
もっとメモリを使わないようにプログラムを書き換えたいってなら、
ファイルを一旦全部メモリ(String のインスタンス)に溜め込むのをやめて、
1行読んでは書き(あるいは削除したい行なら書かず)を繰り返すってのはどうでしょう。

既にそういうことをやっているのか、やっていないのかも、
あなたの文章からはわからないわけですが、(勝手に想像して書いてみました)。
0343デフォルトの名無しさんNGNG
>>340
非効率と思ってもそれ以外に方法はないと思うが。
それに数千行だったら全然大したことないと思うが。
0344デフォルトの名無しさんNGNG
>>341
Java (TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html
のjava.lang.Classを読むがよろし
0345340NGNG
>>342
言葉足らずですみません。メモリを食うのでは?と懸念してました。
おっしゃるとおり一行ずつ読み込んで
StringBufferにappendして出力する方法もありですね。

>>343
言われてみればそうですね。(せいぜいKBオーダーですか)
小さなプログラムしか書いたこと無かったので
なんとなく腰が引けてました(^^;

ありがとうございました。
0346デフォルトの名無しさんNGNG
>>333
Downloads -> Precompiled binaries and documentationから
好きなバージョンのjogl.jarとjogl-natives-win32.jarを落とす。
Eclipseで自分のプロジェクトのproperty -> Java Build Path
-> Libraries -> AddExternal JARsでjogl.jarを追加。
jogl-natives-win32.jarの方は解凍してPATHに入れる、
分からなければ中のdllをプロジェクトのフォルダにおけば、おk。
ではないかと。
0347あひゃっNGNG
JAVAでTCPIP通信のサーバ側に接続するのに、connectメソッドを呼んでいるのですが、
connectメソッドから1分以上応答がありません。
接続タイムアウト時間(即時タイムアウト等)を任意で設定したいのですが設定方法がわかりません。
どなたかご存知の方教えていただけないでしょうか?
環境は、SunEWS + Solaris8です。
0348デフォルトの名無しさんNGNG
質問です。
十進数で与えられた 32bit の値を二進数に変換するにはどうしたらいいですか?
0349デフォルトの名無しさんNGNG
>>348
2進数はStringでいいの?
良ければ、
Integer.toBinaryString()
32文字にならない場合もあるので、そのときは"0"を足らない分だけ足せばOK。
0350348NGNG
>>349
さんくすこ…だけど、java.lang は使えない、特殊な applet 環境なのだった…
ほかに方法無いかな?ちなみに使えるのはこんな感じ。

java.applet.*
java.io.*
java.net.*
java.text.*
java.util.*
java.util.zip.*
netscape.javascript.*
gnu.io.*
0351デフォルトの名無しさんNGNG
java.langが使えない環境なんてありえねーと思うんだが、どうなのか。
0352デフォルトの名無しさんNGNG
String も Integer も Object も使えないんですね
大変ですね
0353デフォルトの名無しさんNGNG
>ほかに方法無いかな?
2 で割って余り出してけばいいじゃねぇか
ま、java.lang.* が使えないなら無理だけどな
0354デフォルトの名無しさんNGNG
>>350
java.lang.* が使えないなら String が使えないって事になると思うんだが。
0355デフォルトの名無しさんNGNG
>>303-304
final多いな。295もそうだが、なにか色々勘違いしてそうだ
0356デフォルトの名無しさんNGNG
最適化を狙ってるのでは?と
0357デフォルトの名無しさんNGNG
>>356
最近のじゃあまり関係ないらしいが
0358デフォルトの名無しさんNGNG
J2SE SDK 1.4.2_04

import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

public class hoge extends Applet implements MouseListener
{
   ・・・
   public void paint(Graphics g)
   {
      g.setBackground(Color.black);
      g.setBackground(Color.white);
      ・・・
   }
   ・・・
}

java:38: シンボルを解決できません。
シンボル: メソッド setBackground (java.awt.Color)
場所 : java.awt.Graphics の クラス
     g.setBackground(Color.black);
      ^
java:42: シンボルを解決できません。
シンボル: メソッド setBackground (java.awt.Color)
場所 : java.awt.Graphics の クラス
      g.setBackground(Color.white);
       ^
エラー 2 個

購入した書籍を参考にしたんですが、エラーの理由が分かりません。
バージョンによって setBackground の書式など変わってるのでしょうか?
0359デフォルトの名無しさんNGNG
つうか、GraphicsにsetBackgroundなんてあったっけか?
0360デフォルトの名無しさんNGNG
ない

APIみればわかる
0361デフォルトの名無しさんNGNG
Graphics に描画するときに background color を利用するような機会はない。
ちなみに clearRect では、何色だということは保証されない。
背景指定できるのは Component そのものに対してだけ。
0362デフォルトの名無しさんNGNG
358です

手元の書籍では
setBackground(Color.gray); //背景色をグレイにする
とだけあったのでてっきり出来るかと思ってました

目的は円を描画して(fillOval)で外側の線と塗りつぶす色を別々にしようというこで
若干問題がずれてますが、この場合は単色(同色)でしか描画できないとうことですね?

つまり背景色は塗りつぶす色じゃなく単純に背景色だということで・・・
ちょっと勘違いしてました
0363デフォルトの名無しさんNGNG
>>362
どのクラスのメソッドだよ・・・
0364デフォルトの名無しさんNGNG
ファイルの比較で行の比較したいのですが
二つのファイルからBufferedReaderで一行ずつ読み込ませて
イコール判定してもうまくいきません
どうすればいいんでしょうか?
0365デフォルトの名無しさんNGNG
>>362
setColor して Fill したとき、border と色が別々になったことが一度でもあるか? ないだろ?
ということは塗りつぶしの色も当然 setColor で指定することになるわいな

>>364
equals 判定して下さい
0366デフォルトの名無しさんNGNG
>>362
setColor して Fill したとき、border と色が別々になったことが一度でもあるか? ないだろ?
ということは塗りつぶしの色も当然 setColor で指定することになるわいな

>>364
equals 判定して下さい
0367デフォルトの名無しさんNGNG
equals 使え。
0368デフォルトの名無しさんNGNG
equals 使え。
0369デフォルトの名無しさんNGNG
ワロタ 連投なんかまねすんな
0370デフォルトの名無しさんNGNG
ワロタ 連投なんかまねすんな
0371デフォルトの名無しさんNGNG
なんか2ch全体重くない?
0372デフォルトの名無しさんNGNG
newしたときに()が必要なんですが、
引数もないのになんで?
0373デフォルトの名無しさんNGNG
メソッドには引数もないのに()が必要だろ。
0374デフォルトの名無しさんNGNG
引数が無い時は()を書くという決まりなんだから仕方ないだろ
0375デフォルトの名無しさんNGNG
なんか会社からプログラムの勉強しろとか言われて
はじめたんだけどそのところがよくわからなかった

とりあえずそういうものとして覚えときます
0376デフォルトの名無しさんNGNG
>>375
そういう文法だから

「なぜそういう文法にしたのですか」という質問は
ゴスリングへ直接どうぞ。
0377デフォルトの名無しさんNGNG
2ショットチャットT」というチャットサイトがあります。ただし、管理人がアダルトチャットを禁止しています。悪質なアダルトチャット業者に掲示板を荒らされたらしいです
0378ゴスリングNGNG
>>376
はい、答えますよ。
0379デフォルトの名無しさんNGNG
今とりあえずCUIを一通り終えてアプレットにチャレンジしてるのですが、
イベントが発生したときの処理で本の通りにやってるのにエラーが出るんです。。。
public void init()
{
------
x.addActionListener(new ActLis());
}
class ActLis implements ActionListener
{
public void actionPerforme(ActionEvent e)
{
------
}
}
ソースはこんな感じです
「abstractとして宣言する必要があります」
とエラーが出るんですが、本にも書いてないしさっぱりわかりません
誰か教えてください お願いします
0380デフォルトの名無しさんNGNG
>>379 スペルが違うから。
0381デフォルトの名無しさんNGNG
>>379
> public void actionPerforme(ActionEvent e)
public void actionPerformed(ActionEvent e)
0382379NGNG
う。。。マジだ。。。
本当にありがとうございました
本を疑ってた自分が恥ずかしい。。。
0383デフォルトの名無しさんNGNG
まさに1で書かれているファイルが違いますというところで
3時間止まっているんですが、下のパスを入力しているのですが
ダメです。何がダメなんでしょうか…

SET JAVA_HOME=C:\j2sdk1.4.2
SET PATH=%PATH%;%JAVA_HOME%\bin
SET CLASSPATH=.;%JAVA_HOME%\lib\tools.jar
0384デフォルトの名無しさんNGNG
それ、コマンドで打ち込んだのならば
そのコマンドでjavaやjavacやらないとだめだよ
その設定を永続的にしたいのならば
マイコンピュータ>詳細設定>環境変数
0385デフォルトの名無しさんNGNG
Sunは環境変数使うの推奨してないけどな。
0386デフォルトの名無しさんNGNG
C:\Autoexec.batに入力しています。
でも、全然動かないんです…どのサイト見ても設定方法は
統一されていないしで困っています。
OSはWin98です。


PATH = C:\j2sdk1.4.1_02\bin
CLASSPATH = :\JavaSample;.
って入力してもいいんですかね?

クラスパスは作成したファイルの保存場所と考えて
いいんですか?

0387デフォルトの名無しさんNGNG
>>386
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/classpath.html
http://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/findingclasses.html
とりあえず公式のドキュメント読むことから始めてください。
0388デフォルトの名無しさんNGNG
>>386
関係ないかもしれませんが、
PATH = C:\j2sdk1.4.1_02\bin
イコールの前後のスペースを巡って、激しく殺伐としたやり取りを
どこかで見たような気がします。イコールの前後にスペース入れるな、
というのが、その人の言いたかったことだったと記憶しております。

あと、最近のJavaなら、CLASSPATH環境変数は設定しなくてもいいし、
CLASSPATHが何なのか完全に理解するまでは、いじらないことをお薦めいたします。

ちなみに私もWin98ユーザですが、PATHの設定はこうなっています。
PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;C:\J2SDK1.4.2_04\BIN;C:\ANT161\BIN

ANTを入れていないのであれば、・・・(略
0389デフォルトの名無しさんNGNG
>>387さん >>388さん
レスどうもありがとうございます。
>>388さんのレスの通りに入力して再起動してもダメでした。
そもそもAutoexecが入力したPATH以外何も入っていないこと自体おかしいような
気がしてきました。参考書では、色々入力してあるのに、自分のは最初に
開いた時は何も入力されていなかったし…

どうもありがとうございました。
0390デフォルトの名無しさんNGNG
つうか,コマンドで
>C:\J2SDK1.4.2_04\bin\java.exe
って打っても何も出てこないようなら
入力が間違っているか
インストールされていないか
どっちかだな
ほんとにC:\J2SDK1.4.2_04にインストールされているのか?
0391デフォルトの名無しさんNGNG
>>385
ああ、いるよお前みたいなこだわりのやつ
クラス内のフィールド及びメソッドに全部thisつけるんだよな
0392デフォルトの名無しさんNGNG
>>390
あるいは、JRE入れた可能性も。
0393デフォルトの名無しさんNGNG
>>392
ああ、それだぁ!
知り合いプログラマでそういうやついた

会社の環境に新たにJDK入れたがうごかない
聞くと
「SunのHPに言ったら自動でインストールされたようだ」
そのページを再度表示してもらったら
明らかにJREのダウンロードページっぽい

改めてJDK入れる機会の少ない人は勘違いしやすいかも
英語だし
0394デフォルトの名無しさんNGNG
>>391
メールのことを、かたくなにメイルっていったり。
0395デフォルトの名無しさんNGNG
現在、Java1.4.2_03にて、URL.openStream()でWebページの読み込みを行っています。

具体的には、new BufferedReader(new InputStreamReader(url.openStream(), "MS932"));
とした後に、10Kバイトずつread(char [])しています。

サーバからの応答が途中で無くなった場合に、処理がハングアップすることを避けるために、
一定時間応答が無い場合はエラーを返して欲しいのですが、これを実現する方法はあるでしょうか?
(上述以外のAPIでもかまいません)
0396デフォルトの名無しさんNGNG
JakartaのHttpClient使ってるの?
0397デフォルトの名無しさんNGNG
>>391,394
こだわり云々関係なく環境変数を使うのは(特にCLASSPATHは)
やめておいた方がいいと思うけどねえ。

>>395
別スレッドでタイマ処理をしてみたらどうだい。
タイムアウトしたあとタイマスレッドからReaderを閉じると
メインスレッドではIOExceptionが投げられるから
それを使ってやればいい。
0398395NGNG
>>396
私へのレスですか? HttpClientというのを知らないので、多分使って無いです;;;

>>397
なるほど、close()で抜けるんですね!
この案で行きます!ありがとうございます。
0399デフォルトの名無しさんNGNG
CLASSPATHを設定する必要性が、いまとなっては皆無だな。
0400デフォルトの名無しさんNGNG
必要なクラスパスはアプリによっても違うし、コンパイル時と実行時でも違う。
環境変数に設定すると無用なトラブルを招くよ
0401デフォルトの名無しさんNGNG
jikes使うのに設定してる・・・。
0402デフォルトの名無しさんNGNG
>>398
HttpClient使えば、確か読み込み時のタイムアウトとか設定できる。
他にも、タイムアウトを設定できるHTTPライブラリはいくつかある。
0403395NGNG
>>402
HttpClient2.0を落として試してみました。

HttpClient client = new HttpClient();
client.setConnectionTimeout(10000);
GetMethod method = new GetMethod("http://www.google.co.jp/");
client.executeMethod(method);
BufferedReader reader = new BufferedReader(new InputStreamReader(method.getResponseBodyAsStream(), "MS932"));

String line;
while((line = reader.readLine()) != null) System.out.println(line);

reader.close();
method.releaseConnection();

setConnectionTimeoutで1を設定すると、executeMethodでHttpConnection.ConnectionTimeoutExceptionが
発生することを確認しました。便利&楽そうなので、検討したいと思います。
アドバイスありがとうございました。m(_ _)m
0404デフォルトの名無しさんNGNG
Javaのプログラムをコンパイルしたら、エラーが出て、
そのときのエラーの説明が何を言っているか良くわからなかったんです。
そのエラーは修正してプログラムのほうは問題なくなったのですが、
結局コンパイラが何を言いたかったのかがあいまいで気になります。
で、英語でのエラーもみると何を言っているか解るかもしれないと思ったわけです。

英語でエラーを表示させるにはどうすればよいでしょうか?
ここの管轄外でしょうか?(すみません…
0405デフォルトの名無しさんNGNG
>>404
コントロールパネルの地域プロパティをアメリカとかに変えると確か英語になったはず。
0406デフォルトの名無しさんNGNG
>>404
もし使っているOSがUNIX系統なら、
環境変数のロケールなどを英語に設定しなおせば、
Javaコンパイラの出力するメッセージも全て英語になるよ。
0407デフォルトの名無しさんNGNG
独習JAVAすげーな・・・お前ら、この本にJAVAのすべてが
のってるぞ・・・まじJAVAマスターになれる
0408デフォルトの名無しさんNGNG
Javaの勉強しています。
下のプログラムのクラスの修飾子publicを取ってコンパイルすると
appletviewerに文字が表示されません。

どうしてpublicが必要なんですか?

publicはほかのクラスにアクセスを許可するってことなので
Graphicsクラスがこのクラスにアクセス出来ないってことですか???
なにか重大な勘違いしてますか?

import java.applet.Applet;
import java.awt.Graphics;
/*
<applet code="FirstApplet" width=200 height=200>
</applet>
*/
public class FirstApplet extends Applet {
public void paint(Graphics g) {
g.drawString("This is my first applet!", 20, 100);
}
}
0409デフォルトの名無しさんNGNG
単純にそういう決まりだと。思った方が楽だと。

C#でもMain()はpublic static
0410デフォルトの名無しさんNGNG
>>408
Applet を起動するクラスから使えなくなるから。
0411デフォルトの名無しさんNGNG
>Graphicsクラスがこのクラスにアクセス出来ないってことですか???
ちゃうわ。もっと関係性をよく考えれ。

イメージとしては、こう。

class ContainerOnBrowser extends Container {
 public ContainerOnBrowser(String appletclassname) {
  FirstApplet fa = new FirstApplet(); //みたいなことをする
  add(fa); //みたいなことをする
 }

 public void paint(Graphics g) {
  fa.paint(g); //みたいなことをする
 }
}

プログラマが実装するのはアプレット本体。
ブラウザがその外枠を用意して、アプレットの各メソッドを呼び出す。
他にもいろんなタイミングで init だの start だの stop だの呼ばれる。

外から呼ばせるためには公開してないといかん。
だから Applet の定義の段階ですでに public になっていて、
プログラマが継承して何か作るときはこれに準じて守っていかないとならない。
0412デフォルトの名無しさんNGNG
>>407
と思ってしまう程度にいろいろ書いてあるからタチが悪いんだよね。
文法で言えば、type[]{value1,value2, ... }の書き方も載ってないし。
クラスライブラリで大切なListもMapも載ってない。
データベースもJSP/Servletも載ってないし。
Javaマスターを名乗るからには、Jakarta CommonsとORマッピングをなにかひとつくらいは知っておいて欲しいし。
0413408NGNG
>>409さん >>410さん >>411さん
レスありがとうございます。
とてもよくわかりましたm(_ _)m
0414デフォルトの名無しさんNGNG
DelegateとFacadeって何が違うんですか?
        s
0415デフォルトの名無しさんNGNG
>>414
EJBのはなしか?

デリゲートってクライアント側の受け口
ファサードってサーバ側の受け口

もうちょい詳しい回答は>>420あたりから
0416デフォルトの名無しさんNGNG
delegate はあるオブジェクトへのメソッド呼び出しを別のオブジェクトへのメソッド呼び出しへと転送するもの。
facade は複数オブジェクトに対する順々のメソッド呼び出しを一まとめにして簡単に使えるようにしたもの。
0417デフォルトの名無しさんNGNG
>>416

セディユつけれw
0418デフォルトの名無しさんNGNG
ファサードって、心の中でファケイドって呼んでたりしない?
0419デフォルトの名無しさんNGNG
package test01;
abstract public class Car{
 protected double gas;//private double gas;
 public Car(){
  gas = 0.0;
 }
 public void setGas( double g ){
  gas = g;
 }
 abstract public void show();
}
---------------------------------------------------
package test02;
public class RealCar extends test01.Car{
 public void show(){
  System.out.println( "ガスは" + gas );
 }
}
-----------------------------------------------------------
class meinnHoge{
 static public void main( String[] args ){
  test02.RealCar car = new test02.RealCar();
  car.show();
 }
}
0420デフォルトの名無しさんNGNG
String s = "こんにちは";
String t = "コンニチハ";

とした場合、sとtが何byteなのかを調べて、byteで返す方法がわかりません。
どなたか教えてはいただけませんでしょうか?
0421419NGNG
っていうプログラムがあるんですよ。
それで、ソースファイルしかない、つまりクラスファイルが無い状態でコンパイルをすると、意図したようなクラスファイル(バイナリ?)が出来て、うまく実行できました。
そのあと、これのpackage test01のgasをprivateにしてみました。
それで丸ごと再コンパイルしたら、
予想としては、privateだから、継承したほうで変数がねぇよといわれル気がしたんですが、
普通にコンパイルが出来て、先ほどと同じ動きとなってしまいました。

この原因を教えて欲しいんです。あと、無理やり全て再コンパイルするオプションってあると思うんですが、教えて欲しいです。
よろしくお願いします。
(非常に長くなってしまいました。申し訳ありません。
0422デフォルトの名無しさんNGNG
>>420

int i = s.getBytes().length;
byte[] b = s.getBytes();
return i,b;
ってこと?
0423デフォルトの名無しさんNGNG
private double gasには各メソッドからアクセスすることになります。
各メソッドはpublicになっているので、結果として同一クラスからの使用と判断されるので、
他のオブジェクトからもアクセスが可能になってしまいます。
0424デフォルトの名無しさんNGNG
>>422 
まさにその通りです。
ありがとうございました。
0425422NGNG
間違えた
int i = s.getBytes().length;
byte b = (byte)i;
return i;
ってこと?
0426425NGNG
間違えたと思って書き直してたら、質問者からのお礼が・・・

はづい。
0427デフォルトの名無しさんNGNG
>>425
> byte b = (byte)i;
この行が無意味になってるんですけど。
0428426NGNG
くそっ
つっこまれた。
int i = s.getBytes().length;
String j = ""+i;
byte b = (byte)i;
return "s="+s,"j="+""+i,"b="+(byte)i;
0429デフォルトの名無しさんNGNG
> String j = ""+i;
> byte b = (byte)i;
無意味。

> return "s="+s,"j="+""+i,"b="+(byte)i;
構文エラー。
0430デフォルトの名無しさんNGNG
グダグダやなぁ、おいw
0431デフォルトの名無しさんNGNG
Java芸人
キタ━━━━━━(゜∀゜)━━━━━━!!!!
0432デフォルトの名無しさんNGNG
Javaヨゴレ芸人?
0433デフォルトの名無しさんNGNG
誰がヨゴレやねんw
0434404NGNG
>405
ありがとうございました。いじるところはロケールですよね?変りませんでした。。。
つД`)
>406
ありがとうございました。しかし、ここにはUNIX環境が無いので今度試してみようと思います。
0435419=421NGNG
>423
しかし、使ってるのはCarを継承したRealCarってことは
privateなgasには、継承したクラスですらアクセスできないはずですよね?
しかも、パッケージtest01が更新されたのに、その中のクラスを継承しているtest02内のクラスが更新されないのが、問題な気がしてならないんですが…
うーん…大規模になるとコンパイルに時間がかかるからその辺は自分で管理しろということなんですかね?
((test01内のgasを)privateに変更して、再コンパイルで問題発生しない。
(test02を再コンパイルすると継承できないといわれて、意図した問題が発生する。
(変更したのはtest01なのに再コンパイルが必要なのがtest02…説明キボン…
0436デフォルトの名無しさんNGNG
426は一体何がしたいのかよく分からんのだが420が求めている答えは
return (byte)s.getBytes().length;
で事足りるんじゃないか?
0437デフォルトの名無しさんNGNG
矩形描画のプログラムを作成しているのですが、
平行四辺形になるばかりできれいな長方形になってくれません。
一応自分で作ってみました。よろしければどなたか見ていただけると嬉しいです。
ttp://www1.ocn.ne.jp/~h-uchida/q.html
0438デフォルトの名無しさんNGNG
図形描画のアルゴリズム集のようなものがありましたら、
教えていただけると嬉しいです。
0439デフォルトの名無しさんNGNG
質問なんですが
TABキーってKeyListenerで取得できないんでしょうか?
以下のコードでやってみたんですがTABキー押したときだけ反応がないのです
どうすればTABキー押したときのイベントを受け取れるのでしょうか?

import java.awt.Frame;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
public class TestFrame extends Frame implements KeyListener{
public static void main(String[] args){
TestFrame frame=new TestFrame();
frame.addKeyListener(frame);
frame.addFocusListener(frame);
frame.setBounds(200,200,200,200);
frame.setVisible(true);
}
public void keyTyped(KeyEvent e) {
System.out.println("Type:["+e.getKeyChar()+"]");
}
public void keyPressed(KeyEvent e) {
System.out.println("Press:["+e.getKeyChar()+"]");
}
public void keyReleased(KeyEvent e) {
System.out.println("Release:["+e.getKeyChar()+"]");
}
}
0440デフォルトの名無しさんNGNG
>>439
http://java.sun.com/docs/books/tutorial/uiswing/events/keylistener.html
Tabのこと載ってる。関係なかったらスマソ。
0441aoiNGNG
JavaMailの日本語のドキュメントってどこかにないですか?
あったら教えてください。お願いします
0442デフォルトの名無しさんNGNG
>>437
ベクトルを知らないのかな?
mxとmyが求まったら、後は
x4=x2+x3-mx
y4=y2+y3-my
x5=x1+x3-mx
y5=y1+y3-my
でいい。mxとmyを求める時も、
lean_1やlean_2を使うのは良くない。
分母がゼロになる場合があるからね。
直線の方向ベクトルに着目して求めるのがいい。
0443デフォルトの名無しさんNGNG
>>441
ぐぐれ
0444aoiNGNG
>>443
申し訳ないが、考え付くキーワードですでにググっている。
うまくヒットしませぬ。
よろしければ、検索キーワードを教えてもらえませんか?
0445デフォルトの名無しさんNGNG
>>441
>JavaMailの日本語のドキュメント
解説サイトのことを聞いてるのか。
APIドキュメントのことなのか。さっぱりわからん。
0446aoiNGNG
>>445
APIドキュメントです
0447デフォルトの名無しさんNGNG
>>446
http://java.sun.com/j2ee/sdk_1.3/ja/techdocs/api/overview-summary.html
0448aoiNGNG
>>446
ありがとうございます
0449aoiNGNG
↑間違えた
>>447
ありがとうございます
0450aoiNGNG
↑間違えた
>>447
ありがとうございます
0451デフォルトの名無しさんNGNG
>>419
>>421
> それで丸ごと再コンパイルしたら

多分、これがうまくいっていないのだと思う。
丸ごとコンパイルしたつもりでも、RealCar.java が変更されていないので、
RealCar.class を作り直すのをコンパイラがサボってるんじゃないかな。
(間違ってたらごめん。)

手元の 1.4.2_04 の javac でやってみたら、確かに private なフィールドに
アクセスできてしまいます。
0452デフォルトの名無しさんNGNG
質問です。

java2Dを使って図形を書いたりしているのですが、アファイン変換(AffineTransform)等を使って図形の擬似3D表示はできるでしょうか?

例えば、地図みたいなデータを変形して遠近感っぽくして、上から見下ろしているような擬似3D表現はできるでしょうか?
いろいろやっているのですが、一応変形はできましたが、遠近感ぽい感じ(奥に行くほど小さくなる感じ)ができないんですよね。

素直にjava3D使ったら簡単かもしれませんが、できれば2Dベースで作ったソフトをちょっといじって間単に3Dっぽく見せたいんです。
なにか良い方法があれば教えてください。
0453デフォルトの名無しさんNGNG
すいません、ちょっと教えてください。
 CUI環境でリアルタイムでキー入力をしたいのですが。
 なにかそんなメソッドがありますか?
 ストリーム入力という方法だと、Enterまで入力待ちして
しまいます。
GUIでいうところのKeyListenerのaddと実装でやっているような。
C でいうところの key = kbhit(); /*だったっけ?*/ みたいな。
以下のプログラムの実行結果の理想は、ボタンを押さないと一定値が
際限なく標準出力されて、キーが押されている間はそれに対応する値が
同様に標準出力されるようにするつもりです。
ご理解いただけましたでしょうか?宜しくお願いいたします。

class Main
{
public static void main(String args[])
{
int key = 0;
while( true ) {
try {
key = System.in.read(); // ここで停止したくない。
} catch( java.io.IOException ex ) {}
System.out.println( key );
}
}
}

0454デフォルトの名無しさんNGNG
>>1の「すべてのクラス (Java 2 プラットフォーム SE v1.4.0)」(javadoc)を
丸ごとダウンロードしたいんですけど、どこだか忘れてしまいました。
以前は http://java.sun.com/j2se/1.4/ja/docs/ja/
で落とせたと思ってたんですけど記憶違いだったようです。
よろしくお願いします。
0455デフォルトの名無しさんNGNG
>>454
http://java.sun.com/j2se/1.4.2/ja/download.html
0456デフォルトの名無しさんNGNG
>>455
ああ、そんな基本的なところに…
ありがとうございます。
0457デフォルトの名無しさんNGNG
"あ"をユニコードに変換すると%u3042という文字列になりますが、

%u3042を"あ"に変換するにはどうすればいいのでしょうか?
0458デフォルトの名無しさんNGNG
>>457
char型をなんdなとおもってるんだ
0459デフォルトの名無しさんNGNG
>>457
public class Test {
public static void main(String args[]){
char c=(char)Integer.parseInt(args[0].substring(2,6),16);
System.out.println(c);
}
}
0460デフォルトの名無しさんNGNG
少しスレとはずれるかもしれませんが、アプレットを簡単に作るツールを
ご存知の方いらっしゃいませんか?
0461デフォルトの名無しさんNGNG
eclipse
0462デフォルトの名無しさんNGNG
NetBeans
0463デフォルトの名無しさんNGNG
独習JAVAを3回読破した・・・JAVAはすでに、極めました。
次はどの言語にいけばいい?
0464デフォルトの名無しさんNGNG
Stringクラスのオブジェクト(参照変数)をprintlnで表示すると
文字列が表示されますよね・・・

String str="Hello";
System.out.println(str);

結果
Hello


普通printlnに引数としてオブジェクト(参照変数)を渡すと
オブジェクトのハッシュコードが表示されるはずなのに・・・
一体どのような仕組みなのでしょうか
0465デフォルトの名無しさんNGNG
絵本でも読んでろ。
0466デフォルトの名無しさんNGNG
>>464 オブジェクトのハッシュコードが表示される仕様
じゃなくてオブジェクトのtoStringメソッドの返り値を
表示するのが仕様。String#toStringは自身の文字列を
返すようになってるから文字列が表示される。
0467466NGNG
ごめん、println(Object obj)とは別にprintln(String str)が
あるから、ってのが正しいのか。別のメソッドだから結果も違う。
0468デフォルトの名無しさんNGNG
>>463
どの言語でもキミなら極められる
0469デフォルトの名無しさんNGNG
>>467
println(Object obj) も内部ではtoString()の結果を出力しているわけだが
466 で正しいと思うよ。
0470デフォルトの名無しさんNGNG
初めて書き込みさせていただくSE1年目の者ですが、今回新人研修でJavaプログラムを学ぶことになりました。
自分はC言語を大学時代に学んだ程度で知識はあっても実際にプログラムを書いたことの無いレベルです。
今回は研修に少し先行したくて独学でJavaを学ぶのにお勧めの本があれば紹介していただきたく書き込みしました。
Javaの知識はまったくありません。 過去ログで同じような質問もあるとは思いますが、どうかアドバイスをお願いします。
0471デフォルトの名無しさんNGNG
>>470
ここできく前にとりあえず本屋で立ち読みすることをお勧めする。
自分のレベルに合ったのを選べ。
っていうか今の新人はそんなこともできんのか?

それともネタなのか?
0472デフォルトの名無しさんNGNG
20冊くらい読め。
0473デフォルトの名無しさんNGNG
>>466
なるほど〜、クラスごとにオーバーライドされてるtoStringが呼び出されるから
Stringクラスだと文字列が表示されるんですね

ありがとうございます!
0474デフォルトの名無しさんNGNG
プログラムもかけないSEって成立するのか?
俺は、C C++ Java PHP Pealを、1週間でマスターしたぞ。
0475デフォルトの名無しさんNGNG
>>474
(ノ∀`)アチャー
0476デフォルトの名無しさんNGNG
>>474
厳密にはSEはプログラムを書けなくても成立する。
要求分析から外設レベルならプログラミング能力は(本当に)いらない。
ただしその場合にはどっかの段階で切換が必要だが。
外設に引っ張られた縦割り開発が横行しているところなら悲惨なことになるだろうな。
0477デフォルトの名無しさんNGNG
>>470
>>471さんの言われる事が常識なのは分かります。
それでもここでお聞きした訳は、大型書店などで本を探すとどの本が売れているとか、多種の本を立ち読みしてみるも
デザインが読みやすいだとか、書き方が上手くて良い本に見える などでしか判断できず(無知な為)実際の重要なポイントの詳しさだとかまとめ方は読み始めて
理解してからでないと分からないと考えていたためです。
以前Cを勉強したときに知人にネットに書かれていた勉強本を紹介してもらい、それが分かりやすかったので今回も本選びの参考にと書かせていただきました。
0478デフォルトの名無しさんNGNG
だから、25冊くらい読め。
0479デフォルトの名無しさんNGNG
>>466
Javaあまり覚えてないんだけど
toStringメソッドは暗黙的に呼び出されるメソッドだっけかな?
0480仕様書無しさんNGNG
>>474
そゆー話題はマ板でドゾー
0481デフォルトの名無しさんNGNG
>>477
プログラムの基礎からやりたいのなら「やさしいJava」
Cの知識があれば「明解Java」

をおすすめするよん
0482デフォルトの名無しさんNGNG
>>477
それはいつまで続けるつもりなの?
0483デフォルトの名無しさんNGNG
>>479
println() メソッドの内部でtoString()が呼び出される。
0484デフォルトの名無しさんNGNG
>483
println()内だけだっけ・・・?確かprintln以外でも
呼び出されたようなキオクが・・・実際に確かめてみよう
0485デフォルトの名無しさんNGNG
>>477
>>482
このような質問をした事を不快に思われる方には変なレス申し訳ありませんでした。
本気でお勧めの本があれば知りたかっただけでの書き込みでしたので。
自分からはこの話題を広げる書き込みは控えようと思います、書き込みを見て何か良い本で紹介していただけるのがあれば
書き込みをお願いできたらありがたいです、少しのレスを返してくれた方々はありがとうございました。
0486437NGNG
>>442
ありがとうございました。たすかりました。
0487デフォルトの名無しさんNGNG
はじめまして

下記のプログラムをコンパイルしたら
Exception in thread "main" java.lang.NoClassDefFoundError: Hello/class
と出てしまい実行できません。

class Hello {
public static void main(String[] args) {
System.out.print("hello, world!");
}
}


そこで 1> に書かれているクラスパスの設定を参考に下記のように設定してみましたが
改善されません・・・。

作業はe:\javaで行ってます。

CLASSPATHは「.\;e:\java;C:\j2sdk1.4.2_04\lib\tools.jar;D:\oracle\ora92\jdbc\lib\classes12.zip」

今日からjavaをはじめたので基本的な質問になっていると思いますが宜しくお願いいたします。

0488デフォルトの名無しさんNGNG
public class Hello {
0489デフォルトの名無しさんNGNG
toString() は暗黙です
0490デフォルトの名無しさんNGNG
ご指摘どおり下記のように変えたところ新たなエラー
が出てしまいました。

public class Hello {
public static void main(String[] args) {
System.out.print("hello, world!");
}
}


エラー
E:\java>javac E:\java\hello3.java
E:\java\hello3.java:1: クラス Hello は public であり、ファイル Hello.java で宣言
しなければなりません。
public class Hello {
^
エラー 1 個


どのようにすればよいのでしょうか?
0491デフォルトの名無しさんNGNG
ファイル名を Hello.java にする。
0492デフォルトの名無しさんNGNG
いろいろ試しているうちにファイル名を変えていました
すみませんでした
ファイル名をHello.javaに戻してコンパイル/実行を行ったらまた同じエラーが出てしまいます。

E:\java>javac E:\java\Hello.java

E:\java>java E:\java\Hello.class
Exception in thread "main" java.lang.NoClassDefFoundError: E:\java\Hello/class


public class Hello {
public static void main(String[] args) {
System.out.print("hello, world!");
}
}

何度もすいませんが宜しくお願いいたします。
0493デフォルトの名無しさんNGNG
E:\java>java E:\java\Hello
0494デフォルトの名無しさんNGNG
>492
Eclipseを使うんだ
0495デフォルトの名無しさんNGNG
>>488

別に public じゃ無くていいんじゃ?
あ、そか。独り言か。
0496デフォルトの名無しさんNGNG
E:\java>java E:\java\Hello
でも同様のエラーが出たのですが、

E:\java>java Hello
として実行したら実行できました。

なぜパスを指定してしまうと動かないのかはわからないのですが、
そこは調べてみます。

いろいろありがとうございました。
0497デフォルトの名無しさんNGNG
>>492
E:\java>java -cp E:\java Hello だ。
javaインタプリタに渡すのは.classファイルではなくクラスの名前だ。
public宣言したクラスの名前がファイル名として強要されるのはこのため。
0498デフォルトの名無しさんNGNG
>>496
java というコマンドに Hello というクラス名を引数として与えるんだ。
0499デフォルトの名無しさんNGNG
470さんへ
 470さんは、話題をきりあげちゃいましたが、追い討ちになってし
まったらすいません。
 私は読んでないけど「独習Java」は概ね評価は高いらしいです。
 私は「やさしいJava」で基本的な文法を知る事が出来たと思います。
 「ステップアップラーニングJavaプログラミング アプリ編」も
悪くないかも、とか思います。
 数週間でいずれかの本のソースを全部打ち込んでいけば、少しくらいは
(なんとかなるかも)と思うことができるのではないでしょうか?
 私もあたなと50歩100歩の初心者レベルですので、それを鑑みたうえで
参考までに。もっとも471,478さんのいうのが圧倒的に正しいような気も
します。

0500デフォルトの名無しさんNGNG
470さんへ
 470さんは、話題をきりあげちゃいましたが、追い討ちになってし
まったらすいません。
 私は読んでないけど「独習Java」は概ね評価は高いらしいです。
 私は「やさしいJava」で基本的な文法を知る事が出来たと思います。
 「ステップアップラーニングJavaプログラミング アプリ編」も
悪くないかも、とか思います。
 数週間でいずれかの本のソースを全部打ち込んでいけば、少しくらいは
(なんとかなるかも)と思うことができるのではないでしょうか?
 私もあたなと50歩100歩の初心者レベルですので、それを鑑みたうえで
参考までに。もっとも471,478さんのいうのが圧倒的に正しいような気も
します。

0501デフォルトの名無しさんNGNG
30冊とは言わんが入門書は少なくとも2冊は読め。
0502デフォルトの名無しさんNGNG
アルゴリズムの本は読んでおくように。
0503デフォルトの名無しさんNGNG
Javaとネットワークの勉強を兼ねて、チャットのようなシステムを作っています。
サーバから複数のクライアントにデータを送信する場合はどうしたら良いのでしょうか?

1.マルチキャストというものを使ったら良いのか?
2.クライアントの数だけデータ送信を繰り返したら良いのか?
3.その他

どの方法が良いのかお教えください。
0504デフォルトの名無しさんNGNG
>>503
色々考えられるが、あなたがどんなC/Sの接続をしているかがわからない。
0505503NGNG
現在はクライアントの数だけソケットを作ってC/Sの接続をしています。
他に良い方法があれば変更する予定です。
0506デフォルトの名無しさんNGNG
規模にもよるが、その方法だと2しか選択肢ないじゃないの。TCPで、LANじゃないんでしょ?
0507デフォルトの名無しさんNGNG
>>505
マルチキャスト
0508デフォルトの名無しさんNGNG
>>506
503は、
>Javaとネットワークの勉強を
してるんだぜ?
0509デフォルトの名無しさんNGNG
勉強なら、好きにすればいいじゃん、で終わりだね。
0510デフォルトの名無しさんNGNG
>>507
505のレスから何故マルチキャストという答えが出たのか是非お聞きしたい。
0511デフォルトの名無しさんNGNG
>>484
Swing方面使いまくり
JTableとかJTreeとかしらべてみそ
引数でObjectになっていればまずそれ
0512デフォルトの名無しさんNGNG
SDK1.4のドキュメントにjavax.mailパッケージがないのはなぜでしょうか?
どこかに移動したんですか?
0513デフォルトの名無しさんNGNG
>>512
SDKっていうのはなんのSDKでしょうかね。
Java2SEのSDKには昔からjavax.mailはないはずだし。
JavaMailはJ2EEだし。
0514デフォルトの名無しさんNGNG
>>512
元から無いような気が。
JavaMailのドキュメントを見るがいい。

ttp://java.sun.com/products/javamail/index.jsp
0515512NGNG
もしかしてJava2SEとJava2EEがあるのかorz
すまそ
0516デフォルトの名無しさんNGNG
>>512
もしかしなくてもあるさ。
がんがれ。
0517デフォルトの名無しさんNGNG
>>515
Java2MEもあるでよ。
0518デフォルトの名無しさんNGNG
関係性は「と」ではないがな
J2EE は J2SE がないと動かない
0519デフォルトの名無しさんNGNG
というか、J2EEは単にライブラリ集だからな。
0520512NGNG
Sunのサイト見てきたらJava2EEもありますた。
J2EEはJ2SEに含まれてない拡張ライブラリで
その部分も使うなら同梱版を使えってこどでいいでしょうか?

MEは携帯とかの組み込み版みたいですね。
0521デフォルトの名無しさんNGNG
「Java(J2EE?)で掲示板を作成する」ってテーマの本を探しています。
本屋で以前見かけたんですが、
買おうと思って探したらなくなってました。
ネットで検索しても出てこないんです。

確か黄色の表紙だったと思うんですが、誰か知りませんか?

0522デフォルトの名無しさんNGNG
ひとくちでライブラリというのもまた安易だなぁ
0523デフォルトの名無しさんNGNG
>>521 これは? オレンジだけど
http://www.seshop.com/detail.asp?pid=4921

探すコツ:"ISBN" をキーワードに含めてググる
0524521NGNG
>>523さん
これです!本当に助かりました。ありがとうございます。
表紙はオレンジでしたか。。。
0525デフォルトの名無しさんNGNG
JDKで開発したプログラムをJREしかインストールしてないパソで動かす事
はできるのでしょうか?
0526デフォルトの名無しさんNGNG
>>525
なんのためのJREだか・・・
0527デフォルトの名無しさんNGNG
掲示板にJ2EEっていうかEJBは必要ないだろ・・・
5章までしか役に立たない予感。
0528デフォルトの名無しさんNGNG
>>525
できなくてどうするんだよ
0529デフォルトの名無しさんNGNG
JSP絡みのツールでlib/tools.jar中のコンパイラを呼び出してたりすると、
JREだけでは動かないね。
0530デフォルトの名無しさんNGNG
最初に実行されるクラス(ファイル)を変更したいんですが。
どうするんですか?クラスパスをいじるのですか?
eclipseを利用してまつ。


0531デフォルトの名無しさんNGNG
eclipse 使うのやめた方がいいと思う。基礎知識なさすぎ・・・
一応教えておくけどな
1) 実行したいクラスをエディタで表示して「実行」「次を実行」「javaアプリケーション」
2) 「実行」「実行...」前までの設定を「構成」から選択し、メイン・クラスを変更、実行。
あとは Eclipse スレで聞け。相手にされないだろうけど。
0532デフォルトの名無しさんNGNG
>>530
実行するときだけ、コマンドプロンプトを使うのがいいんじゃねーか?
0533530NGNG
サンクス。できました。あっけなくて情けない。
一時間悩んでました。 _| ̄|○
0534デフォルトの名無しさんNGNG
eclipse って、クラスパスとかの知識が全然無い俺でも
ある程度形の出来たアプリケーションが作れるので驚いた。

今日、初めてそのクラスパスやらをコマンドラインで通して
やる羽目になったのだけど、いかにエクリプスやネットビーンズが
めんどくさい初期処理を意識しないで扱える便利な環境かを、
まざまざと実感した。
0535デフォルトの名無しさんNGNG
>>529
jre+jreの再配布オプションに使えるsdkに収録されているファイルで問題ない

面倒だからsdk入れてる人がほとんどだけどな
0536デフォルトの名無しさんNGNG
>>534
ならNetBeansはもっと簡単で驚くだろうな
0537デフォルトの名無しさんNGNG
Calendarクラスつかって、そのインスタンスからgetTimeで作った
Date型が出力する時間は現在の時間なんですが、set(Calendar.HOUR,3)
とかすると、なぜか妙な時間が出力されます。
3時を指定すると15時になってしまいます。

これはどうしてでしょうか?
0538デフォルトの名無しさんNGNG
妙なって、15時も3時だろ。
0539デフォルトの名無しさんNGNG
>>537
Calendar.HOUR は他に午前、午後の指定を必要とする12時間方式の指定だから。
24時間方式の指定をしたい場合は Calendar.HOUR_OF_DAY を使ってくらさい。
0540デフォルトの名無しさんNGNG
>>539
ありがとうございます。
APIリファレンスみたらシノプシスとかなんとか書いてあったので別名かなにか
とおもってそっちのほうはシカトしてました。
0541デフォルトの名無しさんNGNG
0542デフォルトの名無しさんNGNG
最近のパソ(XP)なんかにはjavaって標準で搭載されてるんでしょか
ブラウザのではなくclassファイルが実行できるような
0543デフォルトの名無しさんNGNG
>>542
DELL とかのは Sun の JVM 入れてるみたいだけど。

ちなみに MSJVM がインストールされてても class ファイルを実行(?)できるんだけどね
0544デフォルトの名無しさんNGNG
質問です
JavaでGrep機能を作りたいのですが
ファイル内の文字列検索のとき
行単位ならBufferedReader
一文字ならCharなどで比較させて洗い出すことが出来ると思うのですが
複数の文字列の検索の仕方がよくわかりません。教えてください

また指定したフォルダ内の指定された拡張子のファイルを
五十音順にファイルが存在するだけ読み込むことは可能でしょうか?
0545デフォルトの名無しさんNGNG
(1)
indexOd
matches
正規表現
等

(2)
可能

(3)
調べもせず書き込むおまえは一生負け組
0546デフォルトの名無しさんNGNG
宿題丸投げ臭がぷんぷんと
0547デフォルトの名無しさんNGNG
高校生じゃ、しょうがないんじゃない?
0548デフォルトの名無しさんNGNG
宿題は宿題スレへ。
それくらいは小学生でもやってくれ。
0549デフォルトの名無しさんNGNG
Windows2000 SP4 に JAVA 2 SDK 1.4.2_04 をインストールしようと何度も試みているんですが、インストールに
失敗してしまいます。オンラインでインストールもやってみましたが、ダメでした。
パッケージに問題があると言われるんです。他に英語のエラーメッセージも出るので検索をいろいろかけてみても対処方法が見当たりません。
ファイルはMD5で壊れていないことを確認しました。何が原因と考えられるでしょうか?

どうしてもインストールできなかったら、LINUXとのデュアルブートにしてそっちに入れようかと…。ううう。
0550デフォルトの名無しさんNGNG
なんでエラーメッセージここに書かないかな。氏ねよ。
0551デフォルトの名無しさんNGNG
>>549
ダウンロードしたファイル名とエラー内容を書け。
とりあえずWindowsUpdateで全部パッチあててからもう一回やってみ。
0552549NGNG
>>550
>>551

そうですね。エラーについて書かなければ。
どうもすみません。

ダウンロードしたファイルは j2sdk-1_4_2_04-windows-i586-p.exe です。
エラーメッセージは以下の分が出ます。

「jre\lib\chaesets.jar:Old File not found. However,a file of the same name was found.No update done since file contents do not match.」

「JAVA(TM) Update はシステムの更新に失敗しました。」

「このWindows インストーラパッケージには問題があります。セットアップの一部として実行されるプログラムは正しく完了しませんでした。サポート担当者またはパッケージのベンダに問い合わせてください。」

Windows Update はしてありますが、Microsoft VM の更新ができないというメッセージが出て VM のパッチだけ当てられません。
Microsoft VM 自体は入っています。
0553デフォルトの名無しさんNGNG
>>549
同じファイルがあって邪魔って書いてあるじゃねーか
jre以下をどかせ
0554549NGNG
>>553
\j2sdk1.4.2_04\jre 以下を一旦どかせたら無事インストール完了しました。^^;
どかせたものをその後元に戻したらVMのバージョン情報もかえってきました。
ありがとうございます。
0555デフォルトの名無しさんNGNG
>>554
せっかく綺麗にインストールされた物の上に、元からあった妖しげな物を上書きしてどうする。
アホか?
0556デフォルトの名無しさんNGNG
ここは辛口なインターネットですね
0557デフォルトの名無しさんNGNG
ココイチレベルに換算すると2辛くらい。
まだぬるい。
0558デフォルトの名無しさんNGNG
実は549は高レベルな釣り師
0559デフォルトの名無しさんNGNG
バーモントカレーでも辛いっていわれるからな。
0560デフォルトの名無しさんNGNG
ここの評判を見て独習JAVA買った。
数学苦手なプログラミングの素人なんで、意味のわからん言葉が多い。
浮動小数点とか、演算子とか、基数とか・・・
練習問題とかは普通に解けるんだけどなあ。
0561デフォルトの名無しさんNGNG
エクリプスで
引数aの無許可の修飾子 ; finalのみ許可されています。
とエラーが出るのですが、何でですか?

コード
public class Test {

private int chgTestI(int arg){

private int a = 12;
return a;

}

}
0562デフォルトの名無しさんNGNG
ageちゃったスマソ
0563デフォルトの名無しさんNGNG
メソッド内に private 宣言してどうする 何がしたい
0564デフォルトの名無しさんNGNG
>数学苦手なプログラミングの素人なんで、意味のわからん言葉が多い。
>浮動小数点とか、演算子とか、基数とか・・・

数学関係ない。無知なだけ。
『コンピュータの仕組み』かなんか、そんな感じの本でも読んどけ。
0565デフォルトの名無しさんNGNG
>>564
数学というよりコンピューター用語ってことかな?
とりあえずデジタル用語辞典とか参照しながら読んでみるよ。
0566デフォルトの名無しさんNGNG
いや、数学苦手、というのは、論理的な考え方が苦手ということだから、関係ないことはないと思うよ。
論理的な考え方ができれば、浮動小数とか基数とかは知らなくてもなんとなく理解できるし。
0567デフォルトの名無しさんNGNG
>>563
おかげで答えが見つかりました
0568デフォルトの名無しさんNGNG
憂鬱本のC++のソースをJavaに書き直して公開してるサイトないでつか?
0569デフォルトの名無しさんNGNG
publicclass HelloWorld {
public static void main(string args[]) {
System.out.println("Hello,World!");
}
}
が動きません。
どうしたらよいのでしょうか。
環境はJDK1.4.2をインストールしてメモ帳で書いてます。
よろしくおねがいします。
0570デフォルトの名無しさんNGNG
>>569
エラーメッセージ全部書け。

とりあえず見た感じではは
> publicclass HelloWorld {
public class HelloWorld {

> public static void main(string args[]) {
public static void main(String args[]) {

の二つかな?
0571549NGNG
>>555

インストールしたあとに見たらどかした分の jre フォルダがなかったです。
その状態でコマンドプロンプトにて
c:\j2sdk1.4.2_04\bin\java -version
と入れてもVMのバージョン情報がかえってきませんでした。
0572デフォルトの名無しさんNGNG
>>571
無機物からも嫌われているんだな
0573デフォルトの名無しさんNGNG
>571
なんでjreを戻しただけでc:\j2sdk1.4.2_04\bin\java の実行結果に差が出るんだ?

まあ、他人の環境がどうなろうと知ったこっちゃないけどな。
動いてるならとりあえず問題ないだろ。
0574569NGNG
>>570さん
指摘していただいた個所を修正したところ、なんのエラーも返ってこないようになりました。

しかし、何も起こらないで、コマンドの入力ができる状態になります。
これは、正常に実行されたということでしょうか?
0575デフォルトの名無しさんNGNG
java HelloWorld
したら何か出るのとちゃいまっかー!
0576569NGNG
>>575さん
ありがとうございます。
0577デフォルトの名無しさんNGNG
Jakarta DBCPのドキュメソトを見てると、名前のないstaticメソッドがありますた。
これどういうものなんでしょう?
また、どういうタイミングで呼ばれるんでしょうね?

public class Pool
{
private static DataSource ds;

static
{ //このメソッドです
(中略 いろいろと上のdsを設定)
}

public static getConnection()
{
return ds.getConnection();
}
}
0578デフォルトの名無しさんNGNG
>>577
http://www.y-adagio.com/public/standards/tr_javalang2/classes.doc.html#39245
0579デフォルトの名無しさんNGNG
>>577
ttp://www.gimlay.org/~javafaq/S011.html#S011-13
0580デフォルトの名無しさんNGNG
Java質問!
コンパイルができません。WinMeでj2sdk-1_3_1_11なんですが。
XPでコンパイルしたクラスファイルはなんなく動くのに・・・
コンパイルのコマンドってjavacですよね?
マジレスよろしく。
0581デフォルトの名無しさんNGNG
>>580
>コンパイルができません。
情報不足
>WinMeでj2sdk-1_3_1_11なんですが。
最新版にしる。
0582デフォルトの名無しさんNGNG
>>580
PATH
0583デフォルトの名無しさんNGNG
>>581.>>582 まずはありがとう・・・

えっと、コンパイルしようとすると”コマンドまたはファイル名が
正しくありません。”と表示されます。
PATHは完璧のはずです。
最新版かな?
0584デフォルトの名無しさんNGNG
>>583
自信家ですね♥
0585デフォルトの名無しさんNGNG
>>583
頭が完璧ではないようですね
0586デフォルトの名無しさんNGNG
>>584
ちょっとPATHが怖くなってきたyo
0587デフォルトの名無しさんNGNG
動いたー!
>>585
そのとおりでした。ぜんぜん完璧じゃないし・・・
フォルダ名違うし、ピリオドとアンダーバーがごっちゃになってるし。

プログラミング人生にピリオド打たなくてよかったよ
0588デフォルトの名無しさんNGNG
そういう質問してる時点ですでに(ry
0589577NGNG
>>578-579
ほっほーー。
超重要事項というか基本なんですね。
勉強になります。リンク先一通りよんでみまつ。
0590デフォルトの名無しさんNGNG
J2EE SDKをインストールしようとすると途中でフリーズするんですが、
どうすればインストールできるんでしょうか。
Turbolinux Workstation 8です。
# ./j2eesdk-1_4-linux.bin
ディスクスペースの容量を検査中...
Java(TM) 2 Runtime Environment検査中...
Extracting Java(TM) 2 Runtime Environment files...
Extracting Installation files...
Deleting temporary files...
(ここでフリーズ)
0591デフォルトの名無しさんNGNG
>>590
Linux板
http://pc5.2ch.net/linux/
0592デフォルトの名無しさんNGNG
バイナリファイルからjavaを読み込むプログラムで,
byteフィールドを読み込みbitに分解する事を考えています.

1byte(=8bit)に2bitから成るデータが4つ入っています.
利用しているクラスはDataOutputStreamです.

ストリームからbyteを取り出す所まではOKなのですが,そこから
2bitずつに分解する,或いは特定の2bitを参照する方法を教えてください.

この2bitのデータは,フラグのようなものでそれに続くデータ形(文字or数字etc)を表しています.
ファイルはこんな感じです

[フラグ1][フラグ2][フラグ3][フラグ4][データ1][データ2][データ3][データ4]
.....

フラグnとデータnが対応しています.フラグを四つキューに読み込み,
データを読み込む時にフラグを見ながら解釈するというような事をやりたいのです...

よろしくお願いします.
0593仕様書無しさんNGNG
>>592
普通にマスク処理すればいんでないの?
0594デフォルトの名無しさんNGNG
JMFについて質問があります。
JMF Studioというアプリケーションで、長時間の動画(AVI)を再生すると、
7分10秒あたりで、最初に戻ってしまいます。
(つまり、この時刻より先の動画が見れない)

7分10秒あたりをこえてからを見たいのですが、無理なのでしょうか?
0595デフォルトの名無しさんNGNG
HiberNateっていうやつの動かし方がわかりません
最近ちょっと日本語化したマニュアルが出たんですが
英語を翻訳しても意味不明なんです
助けてくださヰ
0596デフォルトの名無しさんNGNG
>>594
その動画がおかしい、あるいは JMF で再生するには微妙に対応していない可能性もある。
他の動画はどうよ。
0597デフォルトの名無しさんNGNG
>>594
コマンドラインで起動して(java JMStudio)エクセプション出てたらさらしてみ。
0598デフォルトの名無しさんNGNG
>>595
Hibernateに挑戦しようというヤツが、この質問レベルかよ。

環境は?なにをどうしたのか?今どのような状態にあるのか?
エラーメッセージは出てるのか?出てるならどのようなメッセージか?
etc...
とこんなことすら書けない上に、英語マニュアルすら読めないようじゃ、もう挑戦しなくていいよ。
学生なら学生やめた方が、PGなら転職した方がいいよ。
0599デフォルトの名無しさんNGNG
くぁーはじめて知ってチュートリアル風のページ見たけどめちゃめちゃ簡単そう
0600デフォルトの名無しさんNGNG
Hibernate、仕事で使ってるよ。
すげー快適。これに比べたら1テーブルあたり4クラスも使うTorqueなんてウンコもウンコ。
マッピングファイル作るのにコツがいるけど、jFaceDbcとか、Hibernate Synchronizerとか使えば、
基本形のマッピングファイルとマッピングクラスは自動生成できる。

0601デフォルトの名無しさんNGNG
そういや、EJB3.0の開発チームだか仕様策定チームだかに、
最近Hibernate開発者が参加したんだよね。
で、EJB3.0からは、Hibernate的要素が盛り込まれるらしいので、
手を出しておいて損は無いと思われ。

個人的にはCayenneに逝きたいのだが。
0602デフォルトの名無しさんNGNG
独習JAVAの練習問題の、
入力された数字が偶数か奇数か判定するプログラムを作っているのですが、
エラーが出てしまいます。

class argas {
public static void main(String args[]) {
int i = Integer.parseInt(args[0]);
int t = i;
t = t/2;
t=t*2;
System.out.println( (i=t)? i+"は偶数です" : i+"は奇数です");
} }

入力された数字を、2で割ってからまた2でかけるという処理をして、
それが処理する前の数字と同じなら偶数である、
というように組もうとしているのですが、

argas.java:11: 互換性のない型
出現: int
要求: boolean
System.out.println( (i=t)? i+"は偶数です" : i+"は奇数です");}
こういうエラーが出ます。
0603602NGNG
そもそもエラーメッセージの読み方がよくわからないのですが、
説明してあるサイトってありませんでしょうか。
0604デフォルトの名無しさんNGNG
>>602
> System.out.println( (i=t)? i+"は偶数です" : i+"は奇数です");

比較は ==
i=tじゃ代入してるだけ
0605602NGNG
>>604
さんくす。低レベルな質問ですんませんでした。
0606デフォルトの名無しさんNGNG
読み方? そのままやんけ・・・
 コンパイラが文を追っていったら「int」なものが「出現」してるが、
 文脈から言ってここには「boolean」なものが「要求」されるんだよ、
 つまり「互換性のない型」を無理矢理使おうとしてるよ
0607602NGNG
>>606
なるほど。なんとなく意味がわかってきました。
0608デフォルトの名無しさんNGNG
レスありがとうございます。
こちらのレス、遅くなりました。
>>596さん
他の動画で、時間が長いものがなかったので、動画のプロパティを。
オーディオ 1411kbps 16bit PCM
ビデオ 15fps 16bit MS-YUV
です。
一応、これから長い動画を探してみます。

>>597さん
コマンドライン起動で、問題の時刻になってもエクセプション等は出ませんでした。
0609594NGNG
>>594=>>608です。
>>596さん
他の動画を再生してみました。
7分10秒ぐらいの壁は、一応破ることができました。
0610デフォルトの名無しさんNGNG
JFrame f = new JFrame("foo");
f.getContentPane().add(new JTextPane());
f.getContentPane().add(new JLabel("hello"));
f.show();f.setSize(400,400);
上のコードを実行したときJTextPaneがつぶれてしまいます。
どうしたらいいですか?
0611デフォルトの名無しさんNGNG
どうしたいんですか?
0612610NGNG
画面に占める割合が
JTextPaneの面積 : JButtonの面積 = 1 : 9
みたくなっているので、これを
JTextPaneの面積 : JButtonの面積 = 残り全部 : ボタンの字が読めるサイズ
に直したいのですが。
0613デフォルトの名無しさんNGNG
まずフレームのサイズ制定がだめ
サイズは書くコンポーネントに推奨サイズを指定して
フレームのpack()を呼ぶべし
0614デフォルトの名無しさんNGNG
いや、先にレイアウトマネージャーについて
0615デフォルトの名無しさんNGNG
BorderLayout
0616デフォルトの名無しさんNGNG
JTableを使用して、表を表示させたいのですが、
どのサンプルも上にカラムが表示されています。

左にカラムを表示させて、横にデータを表示させたいのですが、
Jtableだと無理なんでしょうか?
0617デフォルトの名無しさんNGNG
カラムの意味分かってるか?
列だぞ?
左ならロウ
行な

そしてそのヘッダの設定は好きなようにできる
デフォルトがあくまでも上になってるだけ
0618デフォルトの名無しさんNGNG
>617

すいません
ヘッダのことでした。

横に変更する方法を教えてください。
0619デフォルトの名無しさんNGNG
JScrollPane.setRowHeaderViewをしらべてみそ
0620デフォルトの名無しさんNGNG
だめだぁ(つД`)
0621デフォルトの名無しさんNGNG
さらにヒント追加

JList rowHeader = new JList( );
〜
scrollpane.setRowHeaderView(rowHeader);
0622デフォルトの名無しさんNGNG
もうちょっと(;´Д`)
0623デフォルトの名無しさんNGNG
それでだめならきみ、未熟すぎてきりがない、私思う、おととい来い
0624デフォルトの名無しさんNGNG
DefaultListModel dlm = new DefaultListModel();
for(int i=0;i<50;i++)lm.addElement(String.valueOf(i));
JList rowheader = new JList(dlm);
rowheader.setFixedCellHeight(jTable1.getRowHeight() + jTable1.getRowMargin());
jScrollPane1.setRowHeaderView(rowheader);

俺3度も説明するなんて優しいやつだな
0625デフォルトの名無しさんNGNG
>>624
σ)
0626デフォルトの名無しさんNGNG
http://java-house.jp/ml/archive/j-h-b/043254.html#body

ここにある、上のA,B,C,DみたいなGUIを
左に表示させたいんです(つД`)

左は確かに、ヘッダみたいですけど、
上にあるヘッダと同じ動作をしないかな?と。
0627デフォルトの名無しさんNGNG
仏の顔も三度までってよくいうよね。
0628デフォルトの名無しさんNGNG
すいません

縦ソートはできるから、横ソートじゃ
できないかな?と思って、ヘッダから考えてたんですが
どうやら、思ってたヘッダと違うみたいなんであきらめます。
0629デフォルトの名無しさんNGNG
なんのこっちゃ
0630デフォルトの名無しさんNGNG
ごめんなさ〜い
char型の数値をint型に入れるとchar型で0だったらint型 48になりますよね
char型で書いてある数値をint型で表現したいんですよ
48で引くってようなことはせずにもっとスマートな方法はありますかね?

もしくは例えば
String型でかかれている"2004"なんて数値をint型で2004って表現する
メソッドもありますかな?
教えてください、よろしくおねがいします
0631デフォルトの名無しさんNGNG
> char型の数値をint型に入れるとchar型で0だったらint型 48になりますよね
char型で 0 だったら int型で 0 です。

> String型でかかれている"2004"なんて数値をint型で2004って表現する
int val = Integer.parseInt("2004");
0632デフォルトの名無しさんNGNG
>>630
これ?

char c = '0';
int i = Character.digit(c, 10);
0633デフォルトの名無しさんNGNG
こういうやつらが、どうやってJavaの勉強してるのか、とても気になる。
0634デフォルトの名無しさんNGNG
>>631
どうもありがとうです

自分がやった方法はint型が48になったのは
String b="2004";
for(int i = 0;i<4;i++){
int z = b.charAt(i);
char c = b.charAt(i);
System.out.println("int型"+z);
System.out.println("char型"+c);
}
起動結果が
int型50

char型2

int型48

char型0

int型48

char型0

int型52

char型4
だったんですよ これはどういうことなのですか?
よかったら教えてください
0635デフォルトの名無しさんNGNG
>>634
ttp://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#39990
0636デフォルトの名無しさんNGNG
>>643
char型の 0 と char型の '0' は違う。
0637デフォルトの名無しさんNGNG
Javaをやってるんですが、文字が表示されません。
String s="こんばんわ";
System.out.printlf(s);

なんででしょうか?
0638デフォルトの名無しさんNGNG
>>637
プログラムを実行していないから。
0639デフォルトの名無しさんNGNG
printl`f'
0640デフォルトの名無しさんNGNG
>>637
printlf→println


サンプルどおり、クラス書いて、
mainの中に入れないと、実行されないよ。
0641デフォルトの名無しさんNGNG
◎ コンパイルエラーも書かないし、エラーが出た後検討した形跡も見られないから、
  おそらくコンパイルさえしてない
  メモ帳に2行だけ書いて、書き終わったらじーっと何か起こるのを待ってた。
○ 一応コンパイルはしたけどエラーの意味が全然分からなかった
△ javac してはみたが実はパスが通ってない
× HTML に書き加えてみた
0642名無しさん@お腹いっぱい。NGNG
すみません。。。今学校通いながらJAVA勉強しているのですけれど、、、
SJC-P 310-035って皆さんどれくらい勉強されて受かられてますか???
 先生が早く取りに行けと言っているんですが、あと、どれくらい勉強したら
いいのかわかんないので、教えてください。。。
 
 ちなみに赤本が終わったくらいのレベルです。。。
0643デフォルトの名無しさんNGNG
Stringクラスを継承して作ったクラス(仮にStringA)に何か工夫をして,
他のクラスからStringAのインスタンスを参照したとき,
つまり
 01: StringA str = new String("Hello");
 02: System.out.println(str);
とコードがあったとして,02行目で読まれているわけですが,コレを
検知する方法はありますでしょうか?
例えば
 02: System.out.println(str.toString());
ならtoString()をオーバライドして,検知する事ができますが,,
何もメソッドが無い時が良くわからないです.よろしくお願いします.


0644デフォルトの名無しさんNGNG
>>643
> Stringクラスを継承して作ったクラス(仮にStringA)に何か工夫をして,
String は final 宣言されてるので継承できません。

>  01: StringA str = new String("Hello");
仮に StringA extends String できたとしてもコンパイルエラーです。

> 検知する方法はありますでしょうか?
何が言いたいのか良くわかりません。
0645デフォルトの名無しさんNGNG
>>643 とりあえずStringを継承するとこからトライして
一度くじけてみることが重要です。
0646デフォルトの名無しさんNGNG
>>644
二番目はtypoです.
三番目は分からないならしょうがないですね.

>>645
ありがとうございます.
0647デフォルトの名無しさんNGNG
JavaVMの起動時間を速くする技術が
そろそろ出てきてもヨサゲ。
0648デフォルトの名無しさんNGNG
>>647
VMの使いまわしで起動速くするのはJ2SE1.5からだっけか?
0649デフォルトの名無しさんNGNG
>>642
資格なんかとる気ないからわかりません。
0650デフォルトの名無しさんNGNG
アプレットでローカルホスト表示するのはどうすればいいんですか?
やろうとすると、127.0.0.1ってなります。
0651デフォルトの名無しさんNGNG
なんかここんところまた質問のレベルがが急激に下がってきたな
0652デフォルトの名無しさんNGNG
そろそろ配属された新人が…
0653デフォルトの名無しさんNGNG
>>650
hostsファイルの中身くらいみてくれ
0654デフォルトの名無しさんNGNG
>>653
よくわからないや
0655デフォルトの名無しさんNGNG
またかよ

winXPならwindows\system32\drivers\etcの中だ

2度もおしえるって俺ってやっぱり優しいな

こんどは途中で投げ出さないでくれよ・・・
0656デフォルトの名無しさんNGNG
あれアプレットのでふぉのセキュリティ設定だと
ループバックしか取れなくなったんじゃなかったっけ。たしか。

あとhostsはどういう関係があるの?
0657デフォルトの名無しさんNGNG
>>656
そーなんですか?
ありがとう。

アプレットカウンタで、IP取得して
時間制限つけようと思ったんだけど
無理か・・・。
0658デフォルトの名無しさんNGNG
>>656
「ローカルホストが取得したいのに127.0.0.1がかえってくる」
というのにたいしての答えなのだが

つまりエイリアスだよということ
0659デフォルトの名無しさんNGNG
EclipseでJavaを開発したいのですが
tomcatを起動して
http://localhost8080/index.htmlを指定すると

C:\eclipse\tomcat\webapps\ROOT
直下にあるindex.htmlが開いてしまいます

これを
Eclipseで開発なので
http://localhost8080/index.htmlを指定すると
C:\eclipse\workspace\Test1\
の直下にあるindex.htmlを開くようにするには
どうすればいいのでしょうか?
0660デフォルトの名無しさんNGNG
tomcatの設定を変えろ。キミには無理だと思うけど。
0661デフォルトの名無しさんNGNG
>>659
>EclipseでJavaを開発したい

ガンガレ
0662デフォルトの名無しさんNGNG
>>657
アプレットカウンタが何か分からないけど
ページのアクセスカウンタをアプレットで表示するって話(?)なら
サーバのカウントする側でそれを管理すれば良いようにおもわれ。
0663デフォルトの名無しさんNGNG
>>661
VM on VM だな。可能では?
0664デフォルトの名無しさんNGNG
>>659
びっくりするほど頭が悪そうなので教えてやろう。
まず、%CATALINA_HOME%\にいろいろあるディレクトリのうち
設定ファイルばかりが入ったものがある。
confというディレク
0665デフォルトの名無しさんNGNG
>>659
eclipse.orgから、EclipseR3.0本体とexample plugin持ってきてインストール。
そうすればRun...メニューにTomcat serverの項目が出来るから
そこで新規項目を作ってTomcatの場所と目標のプロジェクトを選択して
Tomcatを立ち上げ。
0666デフォルトの名無しさんNGNG
質問させてください。
JButtonの中の数字を、他のボタンを押すごとに変えるにはどうすば良いでしょうか?

たとえば、ボタンAのデフォルトが100だとして、ボタンB4という値のボタンを押したら、
ボタンAの値が100*4で400という数値のボタンに変わるようにしたいんです。
0667デフォルトの名無しさんNGNG
>>666
ボタンB4押したときのコードに
 buttonA.setText((100 * 4) + "");
0668デフォルトの名無しさんNGNG
>>667

なるほど、なぜかJButtonの中にJLabelを埋めなきゃいけないと思い込んでました_| ̄|○
どうもありがとうございました
0669667NGNG
助けるツモリのないレスで助けれたときは、それはそれで複雑な心境だな、おい。
0670デフォルトの名無しさんNGNG
>>659
というより、まず「アプリケーションのdeploy」とキーワードを調べてみなよ。
0671デフォルトの名無しさんNGNG
>>657
なるほど。
カウンタだったら、CGI使うかその方法が手っ取り早いですね。
ありがとございます。

でも、他のアプレットでも応用したいので
(IPを調べて、同じ人が1度だけしか、あるコマンドを操作できないようにする)
なんとか、IPをアプレットに送る方法ないでしょうか。
0672デフォルトの名無しさんNGNG
CGI だろうがサーブレットだろうが、サーバに送って初めて意味をなすなら、
サーバで REMOTE_HOST なり ScoektgetInetAddress() なりとれば済むじゃん。
クライアントが自分の IP を知っただけで、どうやって動作制御する気?
0673初心者NGNG
これからJavaプログラミングを始めようとしている初心者です。
パソコンがネットに繋がっていないため、携帯からの書き込みになります。
よろしくお願いします。

今月の「日経ソフトウェア」の42ページにEclipseをインストールして動かしてみようとあるのですが、この通りにやったはずなのですがEclipse.exeをダブルクリックしても
『A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. No Java virtual machine was found after searching the following locations:
C:\Program Files\eclipse\jre\bin\javaw.exe
'javaw.exe' in your current PATH』
と表示されてしまい、起動できません。

その前にJ2SDKをインストールする時に
『このWindowsインストーラ パッケージには問題があります。セットアップの一部として実行されるプログラムは正しく完了しませんでした。』
とありましたが、こちらの方に原因があるのでしょうか?

よろしくお願いします。
0674デフォルトの名無しさんNGNG
>>673
そこまでエラーがわかってるなら、自力でどうとでもなるだろ・・・。

C:\Program Files\eclipse\jre\bin\javaw.exeがあるかを確認して、なけりゃeclipseを再インストールでもしろ。
J2SDKの方も問題有りと出てるんだから、再インストールしろ。
再インストールの前に、ちゃんと削除しろよ。
0675初心者NGNG
674

何度か再インストールしていますが
毎回『このWindowsインストーラ パッケージには問題があります。セットアップの一部として実行されるプログラムは正しく完了しませんでした。』
と表示されてしまいます。パソコンの方に問題があるのでしょうか?
0676デフォルトの名無しさんNGNG
>>675
ダウンロードし直せ
0677デフォルトの名無しさんNGNG
>>675
>>549
0678デフォルトの名無しさんNGNG
>675
>『このWindowsインストーラ パッケージには問題があります。セットアップの一部として実行されるプログラムは正しく完了しませんでした。』
MEの時にそれなったことあるけど、
徹底的に削除して別のverのsdk落としたら直りますた
それからインターネットくらい繋げた方が・・・。
0679デフォルトの名無しさんNGNG
任意の二つのインスタンスが与えられた場合に、
二つが同じパッケージに属するかどうかを判定したいのですが、
確実な方法がなくて困っています。

最初単純に以下のような方法を試みたのですが、

boolean isSamePackage( Object obj1, Object obj2 ) {
return( obj1.getClass().getPackage().equals(obj2.getClass().getPackage()) );
}

条件によって NullPointerException となることがあり、
API のドキュメント(JavaTM 2 Platform Std. Ed. v1.4.0) で getPackage() を
を調べてみると、

>このクラスのクラスローダがパッケージオブジェクトを生成しなかった場合は、null が返されます。

ということなので、確実な方法ではないようです。

0680デフォルトの名無しさんNGNG
Class#getName() でお茶を濁せ

※正確には「お茶を濁す」という慣用句はありません
0681デフォルトの名無しさんNGNG
>任意の二つのインスタンスが与えられた場合に、
>二つが同じパッケージに属するかどうかを判定したいのですが、
そもそもなんでそんなことしたいんだよ。

0682679NGNG
レスありがとうございます。

>>680
文字列処理で判定するということですね。
とりあえずそれでやってみます。

>>681
関連によってパッケージ分けされた既存のクラス群が存在して、
それを扱う処理を作る、というような感じです。
0683デフォルトの名無しさんNGNG
>>682
>関連によってパッケージ分け
具体的な「処理」の内容がわからんが、
インタフェース使うとか、もっと発展させて Beans にするとか、なんかないのかね
0684679NGNG
>>683
>具体的な「処理」の内容がわからんが、
業務そのものの話になるので、書きようがないんですが、
例えば、同一パッケージのクラスであれば、
任意の名前のフィールドが同じ意味を持つので、
それをキーに、型をまたいで検索できるとか、そんな感じです。

>インタフェース使うとか、もっと発展させて Beans にするとか、なんかないのか
なんないです。
というか、いろいろ検討してみましたが、現在のやり方よりも手間が増えて、
わかりにくくなるだけという結論です。

この話題は Java 言語そのものの話題から離れるので、できればこのぐらいにしてもらえませんか?
0685デフォルトの名無しさんNGNG
パッケージまわりの話はおもいっきりjavaの話題にみえるがきのせいか

0686デフォルトの名無しさんNGNG
> 例えば、同一パッケージのクラスであれば、
> 任意の名前のフィールドが同じ意味を持つので、

抽象クラスにして継承すればいいじゃない
0687679NGNG
>>686
>抽象クラスにして継承すればいいじゃない
いや、それは、例えばということで・・・。

とにかく、パッケージを使うというのは、0から最適な設計をするという観点から決めたことではなくて、
既存のクラスの内容と、業務の内容から決めたことなんですけど。
問題の解決方法としては、私は、>>680 で納得したつもりなんですが、
それでも、この先、そういったことまで説明しなきゃダメですか?
0688デフォルトの名無しさんNGNG
素数を求めるプログラムを作っています。
for文を使ってなんとか完成させたのですが、
できるだけ大きい素数を求めたいので(賞金とれるほど大きい素数を求めたいわけではないですが)
できるだけ処理を減らし、効率の良い処理をするプログラムを作りたいです。
なにか良い方針などがあれば教えて下さい
0689デフォルトの名無しさんNGNG
>>688
スレ違い
0690デフォルトの名無しさんNGNG
>>687
あまりにも設計が変だから、気になって言っただけなので別に答えなくてもいいよ。
それと、別パッケージに同じクラス名のクラスがあった場合は、Class#getNameじゃうまくいかないのでその点留意すべし。
0691あいタン ◆3QC.t4i5w6 NGNG
( ノ ̄∇ ̄)ノ みんなーーーーーーー、あいでーーす!!( ̄ー ̄)ニヤリッ

JAVA スレに参上なのだーーーーーーー!
0692デフォルトの名無しさんNGNG
>>688
エラトステネスの篩い(ふるい)でぐぐれ
0693デフォルトの名無しさんNGNG
>>690
>それと、別パッケージに同じクラス名のクラスがあった場合は、
>Class#getNameじゃうまくいかない

ウソー!
0694デフォルトの名無しさんNGNG
>>693
げ、激しく勘違い。すまんかった
0695デフォルトの名無しさんNGNG
スレ違いでしたか。すいません。誘導してくれませんか?
0696デフォルトの名無しさんNGNG
>>695
Javaならこちら
学校の宿題は俺にやらせて下さいver.2.0βfor Java
http://pc5.2ch.net/test/read.cgi/tech/1076054000/

C/C++ならこっち
C/C++の宿題は私におまかせくださいませ 23代目
http://pc5.2ch.net/test/read.cgi/tech/1085149383/
0697デフォルトの名無しさんNGNG
ある、byte配列の中身を文字列として出力したいんですが、
この時、byte配列内に改行文字などの特殊文字があっても、
"?"とか" "とかに変換して強引に一行に表示する方法ってないでしょうか?

やっぱり、自分で一文字ずつチェックするしかないですか?
0698デフォルトの名無しさんNGNG
Javaであたらしい言語Java++をつくりたいんですけど
どうやったらいいですか?
0699デフォルトの名無しさんNGNG
javaアプレットが動きません
↓こういうのでも画面が出てきてくれません
ttp://www5b.biglobe.ne.jp/~masai/java/java_2.htm
お絵かきツールとか使ってみたいです。
何が原因かさっぱり分からないのでご教授よろしくお願いします。
0700デフォルトの名無しさんNGNG
>>697
> この時、byte配列内に改行文字などの特殊文字があっても、
特殊文字の完全な定義が無いのでなんとも。

> やっぱり、自分で一文字ずつチェックするしかないですか?
下手にやると漢字の2バイト目とかJISのコントロールコードも弄る可能性があるけどね。
0701デフォルトの名無しさんNGNG
>>697
Stringにした後、String#replaceAll
0702デフォルトの名無しさんNGNG
>>698
> どうやったらいいですか?
JavaCC とか使って頑張るとか。
0703デフォルトの名無しさんNGNG
>>697
改行だけならこれで
str = str.replaceAll( "[\r\n]", "?" );
0704デフォルトの名無しさんNGNG
>>701
「特殊文字」によっては String にすると大量に文字化けする可能性が。
0705あいタン ◆3QC.t4i5w6 NGNG
あいタンJavaCCC使える〜。ヽ(´▽`)ノ

みんな大好きーーーーーーーーーー!
0706デフォルトの名無しさんNGNG
レスありがとうございます。

とりあえず、2Byte文字は無視でいいので
Stringに変換したあと
 str = str.replaceAll("[^\\p{Graph}]", "?");
で実現できました。
0707デフォルトの名無しさんNGNG
レコードごとに改行で区切ってあるデータを.txtで作っているんですが、レコードを追記するときはどうすればできますか?
変数に(レコード+'\n')というかたちでどんどん読み込んで、最後に書き出したいレコードを追加してまた書き込むという処理をしてみたんですが、
.txtファイルを開くと文字化けしてしまいます。
これは文字コードの問題ですか?
0708デフォルトの名無しさんNGNG
プログラムの問題。文字コードを正しく書き込めないのも含めて。
0709デフォルトの名無しさんNGNG
try{
...
if( i ...){break;}
...
}catch(...){
}
みたいなことをするにはどうすればいいですか?
breakが使えませんでした。
条件。
Exceptionを使わない(作らない)。
catchまででっかいelseで囲まない。
よろしくお願いします。
0710デフォルトの名無しさんNGNG
>>709
for(;;){
 if( condition ) break;
}
0711仕様書無しさんNGNG
おいら個人的には
while(true){
  if( condition ) break;
}

普通は(↓)だと思うのだが、どうよ?>>710
throw new RuntimeException("Original Exception");
0712709NGNG
>710,711
ありがとうございました。
簡単には無理でしたか。

普段、自分は例外で始末してるんですが、
プログラム始めたてのひとに質問されて、
トリッキーなこと(ループで囲んで脱出)や、
例外をつかわずに、
始末したかったでした。
0713デフォルトの名無しさんNGNG
>>711
while(true)よりもfor(;;)の方が生成されるバイトコードが少ないから、無限ループにはforを使う
・・・らしい。
0714デフォルトの名無しさんNGNG
>>711
あ、それと、例外ではなく正常な条件として処理を飛ばしたいということだろうから、例外じゃないほうがいいのかと。

おれなら、メソッド作るかな。
0715デフォルトの名無しさんNGNG
>>709
なんのためのelseか
0716デフォルトの名無しさんNGNG
>>715
709じゃないが、条件が満たされてなかったらそこで処理を打ち切るという場合、elseじゃ対応しづらいでしょ。
0717あいタン ◆3QC.t4i5w6 NGNG
ム板でもー。
あいはもう寝むるるる〜〜〜(´ー`)
みんなヾ( ̄◇ ̄)ノ))バイバイヾ( ̄◇ ̄)ノ))バイバイ。
0718デフォルトの名無しさんNGNG
>>717
バイバイ。もうくんなよぉーノシ
0719あいタン ◆3QC.t4i5w6 NGNG
    ∧∧  
    /⌒ヽ) 
   i三 ∪ あいにいじわるしないでほしいいいポ・・・
  〜三 |   みんなおやすみポ
   (/~∪   
   二三      
  二三       
 二三
0720718NGNG
>>719
スマンカッタ
けども、あちこちにはりつけまくるなよ。
0721デフォルトの名無しさんNGNG
ぶっちゃけJava勉強しようと思って本ひらいてさ、ソースかいてると
あきてくるんだよね。。ついついエロHPみてまうんだよね。
お前ら勉強何時間ぐらいするん?本ばっかたまっていくんだよね。。
0722デフォルトの名無しさんNGNG
勉強なんかする? OJTとかいって現場で即戦力だろ。
0723デフォルトの名無しさんNGNG
>>717-720
自作自演
0724デフォルトの名無しさんNGNG
>>721
昔から趣味でやってたので
勉強なんかしたこと無い。
0725デフォルトの名無しさんNGNG
やりたいことを、調べてやってるだけなので、勉強なんかやってない。
0726デフォルトの名無しさんNGNG
http://www.sanseido.net/find0/ItemPane.asp?P0=0&P1=0&P2=07617
0727デフォルトの名無しさんNGNG
>>709
別メソッドに分けろ
0728デフォルトの名無しさんNGNG
Eclipseの入門講座が始まった模様。
http://www.atmarkit.co.jp/fjava/rensai3/eclipsejava01/eclipse01.html
0729デフォルトの名無しさんNGNG
>>728 その記事、次回から実際にコードを書いて...とかいってるけど、
インストールでeclipseにSDKを登録する作業が抜けてるよね。それじゃ
SDK入れる意味ねーじゃん。
0730デフォルトの名無しさんNGNG
>>729
????
eclipseが、SDK,JREなしで動くとでも???
0731デフォルトの名無しさんNGNG
>>730 JREは必要だがSDKは必要ない。コンパイルもJREだけあればOK.
0732731NGNG
だけど普通はJREだけだとAPIのソースをブラウズできないし、
SDKの日本語マニュアルを入れないとAPIリファレンスみるのに
いちいちjava.sun.comからhttpでひっぱってくるから、eclipse
にSDK中のJREとドキュメントを登録する必要があるわけ。
0733デフォルトの名無しさんNGNG
>>731
JREにJavacはなかったと思うけど、eclipseにコンパイラ入ってたりすんの?
0734731NGNG
>>733 する。
0735デフォルトの名無しさんNGNG
(´・ω・`)ヘー。
前に入れたときSDKもいれないかんもんと思って入れてた。
上にあるようにSDK入れても問題ないみたいだけどね。
0736デフォルトの名無しさんNGNG
>>733
です。自前でコンパイラ用意してます。
0737731NGNG
EclipseのJDTコンパイラは可搬性高いからSDKが提供されていない
環境でもうごくんでJ2MEしかないPDAとかでも使えていい感じだよ。
http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-core-home/howto/batch%20compile/batchCompile.html
0738デフォルトの名無しさんNGNG
ふーん。
1.5出たらどうすんねん、っていうのもIBMのことだからサクッと対応しそうだね。
0739731NGNG
1.5対応版はこっち。
ttp://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-core-home/r3.0/main.html#updates
実装度合いは97%らしい。さすがに独自実装でこけたVAJの二の舞はさけたみたいね。
0740デフォルトの名無しさんNGNG
Erich GammaがEclipseのJava開発環境の開発リーダーってのもあんま知られてないよな。
0741デフォルトの名無しさんNGNG
>>733
そんなことも知らずに使って田野か!
0742デフォルトの名無しさんNGNG
>>741
いや、なんか挫折してしばらくMeadowでしこしこやってる。○| ̄|_

0743デフォルトの名無しさんNGNG
Eclipseに挫折するって、なんで???
0744デフォルトの名無しさんNGNG
ツールに自分をあわすときって壁あるよね。
最初の壁を越えられないっていうか. 俺がemacs+antからeclipse+ant
にのりかえたときの感触でいうと最初の壁はエディタ部分でその次は
antかな. antはeclipseのauto buildに組み込めることを知ったとき
ちょっと経験値が上がった気がした。
0745デフォルトの名無しさんNGNG
>>740
そのひとって、GoFとは別人らしいよ。最近知ったんだけど。
0746デフォルトの名無しさんNGNG
>>745 へ?
http://www.eclipse.org/eclipse/team-leaders.html
Erich Gamma, IBM Zurich
(中略)
Erich is well known for his work on Design Patterns and JUnit.
Erich is leader of the JDT subproject, and component lead for
the JDT UI. Erich is a member of the Eclipse Tools PMC and the
Eclipse Project PMC.
JUnit作ったのってGoFのgammaタンじゃないの? つーか、amazon.comで著者引いても
eclipse.orgのgammaタンとGoFのgammaタンって同一人物なんだけど。
0747デフォルトの名無しさんNGNG
JSPで文字列を表示させるときに
<% out.print("文字列"); %>と書くと表示さて
<% System.out.print("文字列"); %>とかくと表示されません。
サーブレットもそうですが、なぜでしょうか?
0748デフォルトの名無しさんNGNG
>>747
ちゃんとコンソールに表示されてると思いますが。
0749デフォルトの名無しさんNGNG
またこれだ。しんどいわ
0750デフォルトの名無しさんNGNG
正規表現やってるんですが、PatternSyntaxExceptionエラー出てきます。
要は \ を取り出したいんですが。
結果的には \ を \\ に変換したいんです。

Pattern ptn = Pattern.compile("[\\]");
Matcher match = ptn.matcher(application.getRealPath(request.getContextPath()));
でパターンコンパイルの時点でエラー発生してます.

Pattern ptn = Pattern.compile("[\\]{1}");もだめ
Pattern ptn = Pattern.compile("\\");とかやってもだめ。
ひょっとして\だけindexofかなんかで取り出して書き換えたほうが早いのだろうか・・・.
0751デフォルトの名無しさんNGNG
\\を\\\\にしないとだめとか。
0752デフォルトの名無しさんNGNG
>>749
バカにはしんどい世の中ですね。
0753デフォルトの名無しさんNGNG
>>751
ありがとうございます。解決しました。
コンソールに\しか出てないもんだから
内部でエスケープ処理されてるの忘れてました。
0754デフォルトの名無しさんNGNG
jdbcの実装ってかなりいい加減だったりします?
DatabaseMetaDataのメソッドほっとんどが
気持ちよく返ってきません、classes12.jarとか出してるベンダ様とか
0755デフォルトの名無しさんNGNG
>>754
実装してる人が多種多様なので、一概にいえるわけありません。
0756デフォルトの名無しさんNGNG
JAVAを勉強し始めてチョットしか経ってない初心者です。
どうぞお手柔らかにお願いします。
プログラムに関しては今のところ順調に勉強できているんですが、
ずーっと気になっている事が一つあります。
それは、書いたプログラムをどうやって普通のソフトみたいにするかということです。
例えば足し算や引き算をするプログラムを作ったとしてそれはもちろん自分のパソコンで実行できますよね。
でもそれを最初っからウィンドウズに入ってる計算ソフトのようにクリックしただけで使えるようになるとか、
フリーソフトみたいにして他の人がDLしてその人のパソコンで使えたりというように普通のソフトみたいにするにはどうすればいいんでしょうか?



0757デフォルトの名無しさんNGNG
>>754
OracleのJDBCドライバはクソだ。
他にもいろいろな罠があるから気をつけれ。
0758デフォルトの名無しさんNGNG
>>756
jar
0759デフォルトの名無しさんNGNG
>>756
いろんな環境のいろんなソフトがある中で、「ふつうの」ということばは使わないほうがいい。
自分の周りに多くあるものが、ほかの人のまわりにも多くあると思わないほうがいい。
0760デフォルトの名無しさんNGNG
>>754
なんでclass14じゃないの?
0761デフォルトの名無しさんNGNG
>>756
君の使ってる「普通」のソフトで、Java で作ったものは一つでもあるのだろうか?
ない、しかも探したこともないってんなら、いちいち人に聞くのは愚かだと思わないか?
探して、調べて、自分に分かる部分と分からない部分を見極めて、
分からなくてもひとりで勉強できる分はたくさん勉強して、それでも分からないときこい。
君に足りない知識を想像して先回りして全部カバーして解説するなんて、めんどくさくて誰もやらない。
0762デフォルトの名無しさんNGNG
>>759
すいません。
一般的な・・だとOKですか?
ちょっと言い方までよくわかってませんでした。
説明の仕方も少し変になってしまったかもしれません。
ホントにすいません。

詳しく説明するとですね、計算機ソフトを見た時コードはこんな感じになるのかなとういうのは判るんですけど
じゃそれを実際に書いた後どうやってそれを形にするかというのが全く判らないんですよ。
このスレの最初のほうにゲームの話が出ていましたが、それを例えば友達にあげたいとなった時
それの実行の仕方をわざわざそのお友達に教える、ということになるんでしょうか?
もう全くイメージがわきません。。

0763デフォルトの名無しさんNGNG
>それの実行の仕方をわざわざそのお友達に教える、ということになるんでしょうか?
>もう全くイメージがわきません。。
どういうものを「プログラム」「ソフト」と呼ぶか分かってないからだろ。
目的が同じでも、それが多少なりとも分かってる奴とは、明らかに質問の文言が違うもんな。
つまりはパソコン初心者なんだよ。そういう奴はいじめ通すのが 2ch ってところだ。
0764デフォルトの名無しさんNGNG
>>762
「一般的」っていう言葉自体に2つの意味があるからな。
もっとわるい。

答えに近いものは、>>758に書いてあるし。
0765デフォルトの名無しさんNGNG
自分の伝えようと思ってることが伝えられないやつはいじめたおすのが2chなのかな?
0766デフォルトの名無しさんNGNG
>>765
もう伝わってます。それを踏まえていじめてます。
0767デフォルトの名無しさんNGNG
>>761
それにさえも気づきませんでした。
どうもありがとうございます。

皆さんお騒がせしてどうもすいませんでした。
もう一度ちゃんといろんな本を読んで勉強しなおしてきます。
0768デフォルトの名無しさんNGNG
「実行可能 jar」で検索
0769デフォルトの名無しさんNGNG
>>767
泣くなよ。
0770デフォルトの名無しさんNGNG
>> 768
どうもありがとうございました。これからじっくりと読んでみます。

>> 767
はい。
自分にとってためになることを言っていただけたと思うので逆によかったです。
0771デフォルトの名無しさんNGNG
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
 |  次でタタイて!!!   |
 |________|
    ∧∧ ||
    ( ゚д゚)||
    / づΦ
0772デフォルトの名無しさんNGNG
へぇー
0773デフォルトの名無しさんNGNG
最近ろくに調べもしねーで来る初心者大杉。
初心者はもっと悩んで悩んで胃に穴が開くくらい悩んで、それでも解けなくてわからなくて床をごろごろ転がってっていうくらいになってから来いってんだ。
0774デフォルトの名無しさんNGNG
>755
ごもっともです。質問抽象的すぎました。すんません
お察しのとおり知りたかったのはoracsoです。

>757
なるほどクソですか、やり方いくら変えても出ないの納得です。
以後警戒します。

>760
環境が8iなんですけども、あったものを使ってます。
言われるまで何も考えず使ってたんですが、もし
jdbcだけバージョンあげちゃうって可能です?試してみます。どうも。
0775デフォルトの名無しさんNGNG
>>774
OracleのJDBCドライバは、ドライバのバージョンが9でも、Oracle8i相手に繋がる。
クソDBのせいで茨の道になるだろうが頑張れ。
0776あいタン ◆3QC.t4i5w6 NGNG

みんなーヽ(´▽`)ノ
あい今日はねー、JJTree使ってみたーーーーーーーの!
ASTジェネレートしちった。 ( ̄ー ̄)ニヤリッ
0777デフォルトの名無しさんNGNG
Win98SEで、MS-DOSプロンプトの文字色を変更するにはどうすればいいのでしょうか。
0778デフォルトの名無しさんNGNG
>>776
たのしそうやな。
アップルスクリプトか。
0779デフォルトの名無しさんNGNG
>>777
エスケープシーケンスだと思うが、スレ違い。
0780デフォルトの名無しさんNGNG
777 G E T
0781あいタン ◆3QC.t4i5w6 NGNG
>>778
そう。あいねー、今度プログラミング言語「あいタン」を
開発したいのーーー。(*´∀`*)キャー

・・・
みなタン協力してね。(´∀`)
0782デフォルトの名無しさんNGNG
>>781
アホがうつりそうだから、やだ。
0783あいタン ◆3QC.t4i5w6 NGNG
>>782
(⊃д`)
0784デフォルトの名無しさんNGNG
ホレないように気をつけねば。
0785デフォルトの名無しさんNGNG
ホラレないように気をつけねば
0786デフォルトの名無しさんNGNG
>>756
ささやき − いのり − えいしょう − ねんじろ
0787デフォルトの名無しさんNGNG
>>786 は灰になりました。
0788デフォルトの名無しさんNGNG
その灰を枯れ木にまくと、ほこりっぽくなりました。
0789デフォルトの名無しさんNGNG
ゲホゲホ
0790デフォルトの名無しさんNGNG
appletで現時刻を取得する方法はありますでしょーか?
0791デフォルトの名無しさんNGNG
java.lang.System#currentTimeMillis()
java.util.Date#Date()
java.util.Calendar#getInstance()

お好きなのをどーぞ。
0792デフォルトの名無しさんNGNG
propertiesファイルを使っているのですが、、、
DIR=d:/aaa
DIR=d:/bbb
..........
DIR=d:/xxx
といった感じで同じキーで複数指定して配列なりArrayListなりに取得することは可能なんでしょうか?
0793デフォルトの名無しさんNGNG
>>791
サンクスコ
0794デフォルトの名無しさんNGNG
>>792
自分で試しもせず…
0795792NGNG
propertiesファイルの書き方は
DIR_0=
DIR_1=  ってな感じで番号をつけて書くようにします。

ArrayList test(String args) throws IOException {
 ArrayList list = new ArrayList();
 Properties config = new Properties();
 config.load(new FileInputStream(args));
 int num = 0;
 while (true) {
  StringBuffer sb = new StringBuffer("DIR_");
  sb.append(num);
  String str = config.getProperty(sb.toString()); 
  if (str == null) {
   break;
  } else {
   list.add(str);
  }
  sb==null;
  str==null;
  num++;
 }
 return list;
}

考えてはみましたが、こんな感じでどうでしょ?
ほかに何かいい方法があればご教授を・・・。  
0796792NGNG
>>795
自己レスだが全く>>794の言うとおりだな。。。
0797デフォルトの名無しさんNGNG
>>795

DIR=hoge,hage,mage

String[] dirs = config.getProperty("DIR").split(",");
0798デフォルトの名無しさんNGNG
class neko {
private int[] test;
private Point[] p;

neko() {
test = new int[10];
//p = new Point[10];
//p = new Point()[10];
//p = new Point[10]();

for(int i=0;i<10;i++) {
p[i].x=100;
p[i].y=100;
}
}
}

Pointインスタンスの配列を確保したいのですが
どうすればいいのでしょうか?
上のような感じで取れないのでしょうか?
0799デフォルトの名無しさんNGNG
>>798
p = new Point[]{new Point(), new Point(), new Point(), new Point(), new Point(), new Point(), new Point(), new Point(), new Point(), new Point()};
0800デフォルトの名無しさんNGNG
>>798
> for(int i=0;i<10;i++) {
p.length 使え。
0801デフォルトの名無しさんNGNG
自分で調べてからこいっていうやつは、人のつくったソフトつかってんじゃねーよ
っていう理論だろ。お前らできるやつを基準にかんがえてんじゃねーよ
俺は初心者なんだよ、でここは初心者、大歓迎スレってかいてるじぇねーか
調べてもわからねーから初心者なんだよ。それもわからないお前らは、
人をみくだす、二流プログラマだな。知識をひけらかすだけのな
0802デフォルトの名無しさんNGNG
子曰く、憤せずんば啓せず、ヒひせんずんば発せず。
一隅を挙げて三隅を以って反らざれば、則ち復せざるなり。
0803デフォルトの名無しさんNGNG
>>801
たたくための初心者歓迎じゃないのかな。
0804デフォルトの名無しさんNGNG
自分で自分のことを初心者といって免罪符にするやつはどこに行っても叩かれる。
それに「調べてもわからない」という人はまず調べ方を勉強するべきだ。
0805デフォルトの名無しさんNGNG
で、その調べ方が悪いのを正すためには、その調べ方を添削するのが一番なわけで。
よりよい調べ方を身に着けるためにも、たとえ素頓狂な調査になってもやらないことにはうまくならないし。
0806デフォルトの名無しさんNGNG
調べるより人にきいたほうが早いだろうが、知ってる人が教えてくれていいじゃん
ていうか、楽をするなっていいたいんなら、お前ら電車とか車とか
のってんじゃーねよ、歩け・・そしたら俺も調べるよ一生懸命な
0807デフォルトの名無しさんNGNG
>>806
おれは車も電車も飛行機も乗るから、おまえは一生調べるな。
0808デフォルトの名無しさんNGNG
結局調べかたを勉強しないで人に聞いてばかりだと
今後発生するであろう壁で躓くたびに人に聞いてばかりになるだろう

そんなやつはソフト屋やめちまえ
0809デフォルトの名無しさんNGNG
クラス FirstApplet は public であり、ファイル FirstApplet.java で宣言しなければなりません。

どなたかこのエラーの意味を教えて頂けませんか。
0810デフォルトの名無しさんNGNG
>>809
publicクラス hogehogeの定義は、
hogehoge.javaって名前のファイルでやれってこと。
0811809NGNG
>>810
ファイル名が問題だったんですね。変えたら出来ました。
さんくすです。
0812デフォルトの名無しさんNGNG
>>799
ああ、めんどくさい
>>800
いいねーそれ
0813デフォルトの名無しさんNGNG
>>798=812?

p = new Point[10];
for(int i=0; i<p.length; i++) {
 p[i] = new Point();
 p[i].x = 100;
 p[i].y = 100;
}
0814798=812NGNG
>>813

>813
p------p[0]-----Point[0]----new Point()
 |----p[1]-----Point[1]----new Point()
 |----p[2]-----Point[2]----new Point()

>798(エラー)
p------p[0]-----Point[0]----null
 |----p[1]-----Point[1]----null
 |----p[2]-----Point[2]----null
p:配列参照変数
Point:実態参照配列
new Point:実態

1.Point[] p;
2.Point p[];
javaでなぜ1の書き方なのかわかった
0815デフォルトの名無しさんNGNG
>>814
> javaでなぜ1の書き方なのかわかった
Javaのプリミティブ型の配列も1の書き方が主流だし、
C#の値型の配列も1の書き方が主流だ。
0816デフォルトの名無しさんNGNG
>Point[0]
これ余計。なんか誤解がないか?
0817VC野郎NGNG
EJBについて質問です。
VCで作ったWindowsサービスモジュールをEJB化出来ないかって
依頼されてるんだけど
そもそも、EJBの持続性ってキーワードは、常駐アプリイメージ
になるの?
技術情報が記載されているページも教えてくれたらうれしいです。
情報お願いしますm(_ _)m
0818デフォルトの名無しさんNGNG
EJB がなんだか分かってなさげ
0819デフォルトの名無しさんNGNG
質問なんですが、
例えばint型の変数がhoge1〜hoge100まであるとします
それを配列に順番に格納する場合、
hogehoge[0] = hoge1;
hogehoge[1] = hoge2;
とするしかないのでしょうか?
for文などを使って上手いこと出来ればいいんですが・・・
0820デフォルトの名無しさんNGNG
>>819
状況によってできなくもないが、無理と答えておこう。
そうしたければ最初から配列にしとけばいいだろう? 冷静に考えてみろ。
だってソースに hoge4 と書くか hoge[4] と書くかの違いじゃないか。
0821819NGNG
>>820
やはりそうですか
実は、サーブレットから送られてくるデータを配列に格納したかったので、
getParameterの引数を動的に変えて取得できればいいなぁと思ったんです
Flashならthisとかevalがあったので、Javaでもあるのかなぁと思って質問しました

どうもありがとうございました
0822デフォルトの名無しさんNGNG
(゜ρ゜)
0823デフォルトの名無しさんNGNG
>>821
reflection API
http://java.sun.com/docs/books/tutorial/reflect/object/get.html
0824デフォルトの名無しさんNGNG
>>821
引数を動的に変えればいいじゃん・・・
0825デフォルトの名無しさんNGNG
>>823
そんな高尚な話じゃないらしいぞ・・・
0826819NGNG
>>824
はい、書いた後「動的に変えればいいじゃん」って気づきました
スイマセン、出直してきます

>>823
スイマセン、どうも解決したっぽいです
0827デフォルトの名無しさんNGNG
jarファイルにzipと同様にパスワードかける事は可能ですか?
可能であれば、方法も教えてください。
0828デフォルトの名無しさんNGNG
>>827
zip圧縮して拡張子を変える。
それを解凍できるjarツールがあるかどうかは知らんけど。
0829デフォルトの名無しさんNGNG
パスかけても実行できるのか?
0830デフォルトの名無しさんNGNG
>>829
パスに対応したClassLoader使えば実行できるよ。
0831デフォルトの名無しさんNGNG
だれか作ってるかなぁ
0832デフォルトの名無しさんNGNG
回答ありがとうございます。
通常どおりに実行できない事が分かったので、
今回はパスワード諦めます…
0833デフォルトの名無しさんNGNG
Java Security APIとかで作れないかなあ
0834デフォルトの名無しさんNGNG
パスワードかけたい奴は、たいてい
「アプレットで配布するんですけど逆コンパイルされたくないんです」
などと寝言を語ってるやつだが
0835デフォルトの名無しさんNGNG
�@たとえば、次のようなクラスがあるとして、ReturnValueクラスで、
Integer型のオブジェクトを返却するとき、自動的にmethod()がObject型に
変更し、ReturnValueMainクラスに返却するようになっています。ここで、
return result; するとき、明示的に、return (Object)result; と
記述したほうがよいのでしょうか?
Javaな作法的なこととして、お聞きしたいです。自分としては、
return (Object)result;と書く方が丁寧でいいのかなと思っていますが。

public class ReturnValueMain {
public static void main(String[] args) {
ReturnValue rv = new ReturnValue();
Integer obj = (Integer)rv.method();
System.out.println("obj="+obj.intValue());
}
}

class ReturnValue {
public Object method(){
Integer result = new Integer(1);
return result;
}
}
0836デフォルトの名無しさんNGNG
もうひとつお願いします。
�A上記にあげたクラスを1つのファイルに作成していて、疑問に思ったのですが、なぜ、ReturnValueクラスの修飾子にprotectedは指定できないのでしょうか?
1つのファイルにpublicクラスは1つしか作ることはできないことは、知っていたのですが、publicクラスとprotecetdクラスを混在させることはどうしていけないんだろうかと疑問に思いました。
ためしに、ReturnValueクラスの修飾子として、finalや無指定を指定しましたが、その場合は、うまくコンパイルでき、実行できました。
と、ここまで書いて、ReturnValueクラスの修飾子がprotectedの場合、ReturnValueMainクラスとReturnValueクラスを別々のファイルにしても、コンパイルができないことに気づきました。どうしてでしょうか??
よろしくおねがいします。
0837デフォルトの名無しさんNGNG
>>835
キャストした方がいいと思うな。その例だと標準のクラスだから問題ないけど、
自分で定義したクラスとその子クラスなんかだと、アップキャストなのかどうかようわからんこともあるし。
アップキャストは常に安全だからそれでもいいと思う。
ダウンキャストならそれはコンパイルエラーになるんかな?

0838デフォルトの名無しさんNGNG
>>836
パッケージとかアクセスレベルについて勉強するがよろし。
0839デフォルトの名無しさんNGNG
>>836
っていうか、protectedクラスってなによ?
あと、コンパイルができないっていうなら、それがどういうことか、書け。
0840デフォルトの名無しさんNGNG
あ、インナークラスでは、protectedクラスもアリか。
0841デフォルトの名無しさんNGNG
JAVAの自習に最適な参考書を教えてください。
0842デフォルトの名無しさんNGNG
>>841
レベルと目的による。
0843デフォルトの名無しさんNGNG
>>836
>ためしに、ReturnValueクラスの修飾子として、finalや無指定を指定しましたが、
ちゃんと public, protected, 無印や、final のそれぞれの意味が分かってやってんの?
その上で
「final や無印がうまくいって protected がうまくいかないのはおかしい」
という君なりの論理があるなら書いてごらんよ
それも無いのにあーだこーだ言ってるんならそれはただの無知無学
0844デフォルトの名無しさんNGNG
eclipseで動作確認後Exportしてjarファイルを作成したのですが、
Fatal exception occurred. Program will exit.
となって実行できません。

C:\eclipse\workspace>java -jar rs232test.jar
Exception in thread "main" java.lang.NoClassDefFoundError: javax/comm/
UnsupportedCommOperationException
at rs232test.RS232Cmain.main(RS232Cmain.java:12)


C:\eclipse\workspace>javaw rs232test.jar
この場合は”Fatal exception occurred. Program will exit.”のmsgbox
がでます。
0845デフォルトの名無しさんNGNG
続く
Jarの中は5個のファイルがあります。
1)meta-inf フォルダー
2)rs232test フォルダー
3).classpath
5)javax.comm.properties
5).project

1)の中身 manifest.mf
Manifest-Version: 1.0
Main-Class: rs232test.RS232Cmain
0846デフォルトの名無しさんNGNG
続く
2)の中身
clsRs232.class
portList.class
PortOpener.class
Rs232cmain.class
SerialPortHandler.class
SerialPortReader.class
clsRs232.java
PortList.java
PortOpener.java
Rs232Cmain.java
SerialPortHandler.java
SerialPortReader.java
0847デフォルトの名無しさんNGNG
続く
3)の中身
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="lib"/>
<classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry exported="true" kind="lib" path="lib/comm.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

4)の中身
#
# Drivers loaded by the Java Communications API standard extension
# at initialization time
#
# Format:
#Each line must contain ONE driver definition only
#Each line must be of the form:
#driver=<ClassName>
#No spaces or tabs in the line.
#ClassName must implement the interface javax.comm.CommDriver
#example: driver=Win32Serial
#
#
# The hash(#) character indicates comment till end of line.
#
# Windows Serial Driver
Driver=com.sun.comm.Win32Driver
0848デフォルトの名無しさんNGNG
以上です。 javaw -jar rs232ctest.jar で上では-jarが抜けてました。
どなたかアドバイスよろしく。
0849デフォルトの名無しさんNGNG
お教えください。
acrobat(pdf)のフォーム中に今日の日付を和暦で表示したいんですが、
どうすればよいでしょうか?
お願いします。
0850デフォルトの名無しさんNGNG
>>806

俺は電車に乗るときは切符を買う。
タクシーに乗るときはタクシー代払うし
車を買ったときはローンを組んだ。

本だってタダじゃないし
俺は行ったことないが専門学校やアビバだって結構な授業料なはずだ。
買ったソフトの質問だってソフト代に含まれてるし別料金な事も多い。

で、お前はその質問に幾ら払ってくれるつもりなんだ?
0851デフォルトの名無しさんNGNG
OO←このOがギザギザしてるようなやつ何て読むの
0852デフォルトの名無しさんNGNG
白目
0853デフォルトの名無しさんNGNG
>>844
javax/comm/UnsupportedCommOperationExceptionの定義が
みつからんっていわれているわけだから、これが含まれている
comm.jarをクラスパスに含める必要がある。まずrs232test.jar
と同じ場所にcomm.jarをおく。次にmanifest.mfに
Class-Path:comm.jarの行を追加してrs232test.jarを作り直す。
これでjarをダブルクリックしたり-jarオプションでjava.exeを
起動してもcomm.jarがクラスパスに含まれるようになる。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/jar/jar.html#Main%20Attributes
↑のへんの話だね。
で、このエラーが消えるとたぶん次はwin32comm.dllがないっつーエラーがでるはず。
0854デフォルトの名無しさんNGNG
>>851
描いてる途中のドラえもんだろ
0855デフォルトの名無しさんNGNG
「ビジュアルJDK」って呼ぶんですか?
ttp://www.keyman.or.jp/search/a_30000003_1.html?banner_id=1
0856デフォルトの名無しさんNGNG
JAVA関連の面白いorお勧めの本や雑誌があったら教えて下さい。
0857853NGNG
>853 ありがとう。
Class-Pathを追加してみると、症状は変わった。

Manifest-Version: 1.0
Main-Class: rs232test.RS232Cmain
Class-Path: lib/comm.jar

1)javaでの実行結果
C:\eclipse\workspace\RS232C>java -jar rs232test.jar
javax.comm.NoSuchPortException
at javax.comm.CommPortIdentifier.getPortIdentifier(CommPortIdentifier.ja
va:105)
at rs232test.SerialPortHandler.open(SerialPortHandler.java:12)
at rs232test.clsRs232.<init>(clsRs232.java:19)
at rs232test.RS232Cmain.main(RS232Cmain.java:12)

2)javawでの実行結果
C:\eclipse\workspace\RS232C>javaw -jar rs232test.jar
 何も反応なし。
このエラーが出ている箇所はjavax.comm.*
import javax.comm.*;
意味わからんなー。
0858844NGNG
上は844でした。失礼。
0859デフォルトの名無しさんNGNG
>856
web上なら@ITのJava連載とか。何よりタダだし。
0860デフォルトの名無しさんNGNG
>>857 それjavax.comm.propertiesが読み込めてないから、
ライブラリがポートを一つも認識できてない状態。そこで
CommPortIdentifierにポートを要求するからNoSuchPortExceptionが出る。
0861844NGNG
>860
おおそうだ。わかった。ありがと。
初心者というものは、どこまでわからんからなー。
JDKにjavax.comm.propertiesがもれていたよ。
そしたら何で、
eclipseで動くんだ? eclipseの設定が悪いんだろうな、きっと。

0862デフォルトの名無しさんNGNG
>>859
そうやってどんどん間違った知識を持ったPGが増えてゆく
0863844NGNG
import javax.comm.*;
ってやってるのに、ここではエラーにならんの? 不思議だね。
0864デフォルトの名無しさんNGNG
TOMCAT5のインストール中、no java virtual machine foundと出ました。

JVMってどこにあるんでしょーか。
j2sdk_xx¥binだとおもってたんですが
0865デフォルトの名無しさんNGNG
>>861 eclipseの設定じゃなくお前の(ry
カレントディレクトリからとかcomm.jarと同じフォルダからとかマニュアルに
書いてある以外にも読み込める条件があるんじゃねーの?
>>863 クラス自体はcomm.jarをクラスパスに入れた時点で解決されているから。
>>862 Java TIPSの内容はひでーね。
0866デフォルトの名無しさんNGNG
@ITは偏りすぎてたり内容が変だったりしてるからなぁ
いわゆるOJTで身につけた知識のような感じになる
0867844NGNG
>Java TIPSの内容はひでーね。
実際あんまり完璧なプログラムを書かれると初新者はショックがおおきい。
「俺ならもっとうまくかける」と思わせるような書き方がいいのだよ。
配慮だよ、配慮。
 例題には少し荒がある方が、本質がわかって良い。
良い?
0868デフォルトの名無しさんNGNG
for(int i=0; i<100; i++) for(j=0; j<100; j++)

というような二重繰り返しを、break一発で一気に抜けたいんですがどうやればいいでしょうか?
0869844NGNG
j = j/0;

0870デフォルトの名無しさんNGNG
>>868
ラベルつきbreakを使え。
例外を使うよう言ってくるやつもいるだろうがお勧めしない。
0871デフォルトの名無しさんNGNG
>>868
コントロールブレイクの基礎くらい勉強しとけ

業務系ではとくに必須の知識なのに最近しらんやつ大杉
0872デフォルトの名無しさんNGNG
ラベルつきは使わないほうがいいって聞いたことあるけど?

後学のために、ラベルを使う理由をください
0873デフォルトの名無しさんNGNG
>>872
ほかに手段ないだろ。
0874デフォルトの名無しさんNGNG
質問の条件がbreakを使うってことだからラベル付きつかうしかないよなあ。
まあforの終了条件満たすように状態かえるって手もあるけど
かえってわかりにくいだろう。
0875841NGNG
JAVAのアプレットを作って自分のHPに載せたいです。
デスクトップ上で簡単なアプリケーションを作る段階までは
行っているのですが、サーバーに上げる方法、ウェブ上で
得たデータを整理する方法まで自分で勉強しないといけません。
究極を言うなら、下記のページのようなものを作成したいのですが。
ttp://www.vector-scan.com/_bithike.html

適切な参考書をご紹介ください。
0876デフォルトの名無しさんNGNG
>>875
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/plugin/developer_guide/contents.html
は必ず読んでおくこと。
0877デフォルトの名無しさんNGNG
>>875
>自分のHP
ビル・ヒューレットさん、あんたもう社長やめたでしょ
0878デフォルトの名無しさんNGNG
ホムペっていわれるよりマシ
0879デフォルトの名無しさんNGNG
>>872
その、ラベルつきを使わない方がいい理由はなんだったんだ?
0880デフォルトの名無しさんNGNG
>>879
872ではないが考えられる理由としては
二重ループ自体をメソッドに抽出して
breakの代わりにreturnした方が見通しがよくなりやすい
というくらいかな。
0881デフォルトの名無しさんNGNG
ループの中が重いときはそうだけど、処理を分断してまでメソッドにする必要はないことも多いよね。
0882875NGNG
>>876
ありがとう!
0883login:PenguinNGNG
そろそろ>>877みたいなのはイタいよな?
0884デフォルトの名無しさんNGNG
>>856
本屋へ行けよ、引き篭もり無職よ
0885デフォルトの名無しさんNGNG
>>883
5年まえくらいのネタかな。
0886デフォルトの名無しさんNGNG
javaでwindow作成するのは可能なんでしょうか?
結論だけお願いします
0887デフォルトの名無しさんNGNG
>>886
叶野
0888デフォルトの名無しさんNGNG
class window {
public int x, y;
}

できたよ!
0889デフォルトの名無しさんNGNG
C言語で下の例のような整数型の桁揃え表示
printf("%3d",n);
をjavaで行うにはどのようにしたらいいのでしょうか?
0890デフォルトの名無しさんNGNG
>>888
ありがとう!
0891デフォルトの名無しさんNGNG
>>889
Format
0892デフォルトの名無しさんNGNG
>>889
なんちゃら Format
DecimalFormat とかその他いろいろ
0893デフォルトの名無しさんNGNG
質問です。
swingでアプレットを作ってたのですが、
アプレット自体はJAppletクラスで作ってたけど、
アプレット内の図形描画させるところはCanvasクラスで書いてました。
軽量と重量コンポーネントを混在させることって、やっぱナンセンスなことなんですか?
0894デフォルトの名無しさんNGNG
>>893
Canvasじゃなかったら、なに使うんだろう・・・
0895デフォルトの名無しさんNGNG
>>894

>>893
JComonent にしておきなさい
0896デフォルトの名無しさんNGNG
2ch.java:895:シンボルを解決できません。
0897デフォルトの名無しさんNGNG
>>893
混ぜるな危険とドキュメントに書いてある
ちらつきができたり無駄なイベントとか確かに弊害はあるだろうね

しかしJAppletつかっていまさらCanvasって・・・
0898デフォルトの名無しさんNGNG
ところで、JComponentのpaintメソッドって、synchronizedされてる?
0899デフォルトの名無しさんNGNG
チン黒ナイズド
0900デフォルトの名無しさんNGNG
つーか軽量コンポでpaintはつかわんほうが
0901デフォルトの名無しさんNGNG
Appletの解説は多いけど、
JAppletの解説ってあんまりないよね。
0902デフォルトの名無しさんNGNG
MSJVMで動かんからね。
0903デフォルトの名無しさんNGNG
>>900
じゃあ何つかえばいい?
0904デフォルトの名無しさんNGNG
paintComponent
0905デフォルトの名無しさんNGNG
JavaBeansの特徴って、3つあって、
・引数なしのコンストラクタが定義されていること
・アクセサメソッドがあること(setXxx()やgetXxx()があること)
・シリアライズインターフェースを実装していること

とあるけど、特にデータの保存とか考えなければ、
シリアライズインターフェースを実装しなくてもいいですよね?
いままで、JavaBeansを作ってきましたけど、
シリアライズインターフェースを実装したクラスではなかったので。

あと、引数なしのコンストラクタが定義されていることとありますが、
ふつうのJavaBeansクラスには、引数なしのコンストラクタを書いといた
方がいいものでしょうか。
よろしくおねがいします。
0906デフォルトの名無しさんNGNG
905です。細くします。

>ふつうのJavaBeansクラスには、引数なしのコンストラクタを書いといた
>方がいいものでしょうか。

JavaBeansクラスは生成されるときに、引数なしのコンストラクタがなくても、
自動的に生成してくれるので、わざわざ書かなくてもいいかと思ったのですが、
はたして、ふつうはどうなんでしょうか?ということをききたかったのです。
0907デフォルトの名無しさんNGNG
誰かに使ってもらうなら大前提
0908sageNGNG
今まで問題なくコンパイルできていたファイルを一つ下の階層のフォルダに
移動したところ「〜を読み込めません」というエラーがでてしまいます。
CLASSPATHコマンドで環境変数の設定もしたのですが症状は変わりません。
「set CLASSPATH」と打ち込むとカレントディレクトリも含めフォルダも認識
しているようです。
スペルミス、拡張子のミスなどもありません。
フォルダにディレクトリ移動した場合はコンパイルは問題なく実行されます。
解決策はありますでしょうか?
0909デフォルトの名無しさんNGNG
sourcepath
0910貧乏紙NGNG
>>905
それは
JSPから使用されるJavaBeanの条件だったような・・・
0911デフォルトの名無しさんNGNG
>>910
いや、JSPが現れる以前からの条件。
0912デフォルトの名無しさんNGNG
>908
カレントでコンパイルしてる?
0913デフォルトの名無しさんNGNG
>>905
JavaBeans仕様見てから書き込め
>>910
JavaBeans仕様見てから書き込め
0914908NGNG
>>912
カレントでは問題なくコンパイルできます。
クラスパスで1つ下の階層を認識させてはいるのですが、その中のjavaファイルが読み込めません。
カレントに戻してあげると普通にコンパイル可です。
クラスパス設定時にフォルダ名を間違っているということもないです。
0915デフォルトの名無しさんNGNG
-sourcepath ./hoge
0916デフォルトの名無しさんNGNG
jdk1.2のJavadocが必要なのですが、どこからダウンロードできますか?
sunのサイトはリンク切れでした・・・
0917デフォルトの名無しさんNGNG
クラスパスがなんだか分かってないようです
0918デフォルトの名無しさんNGNG
>>916
微妙な違いと追加分があるのを気にしなければ1.4のでもいいと思うけど。ダメ?
0919デフォルトの名無しさんNGNG
>>916

http://java.sun.com/products/archive/
このページにある、
「1.2.2_17/_017 JavaTM 2 SDK / JavaTM 2 Runtime Environment」
をクリックすると、それらしいのが出てくるけど、どお?
0920デフォルトの名無しさんNGNG
JavaのGUIについての質問です。
今回のプロジェクトはJavaで開発することになったんですが、
GUIのデザインはプログラムコード上でするしかないのでしょうか?
VCのダイアログエディタみたいに、簡単にデザインできるソフトとかがあればいいんですが…。
開発環境はWin2000です。
よろしくお願いします。
0921デフォルトの名無しさんNGNG
あるけど基本的にリソースがどうとかいう考え方じゃないから
同じようなつもりでいたらエライ目にあうかもしれない

実際どうしたらいいかは使ってる開発環境によりけり。
0922デフォルトの名無しさんNGNG
>>920
NetBeansで
0923デフォルトの名無しさんNGNG
JBuilderかNetBeansしかないだろうな

EclipseVEはまだまだ実用にならん

カスタムコンポーネントガシガシ作るのならNetBeansのほうが扱い楽かな
0924デフォルトの名無しさんNGNG
mac で iappli 作ろうと思うんだけど NetBeasns や Xcode でも OK?
それとも mac では J2ME がそもそも無理なの?
どなたか教えてください
0925デフォルトの名無しさんNGNG
J2MEはJ2SEのサブセット
コンパイルオプションと各社独自のJNIライブラリって位置づけ

基本的に環境は問わないよ
シミュレータがちゃんと動くかが一番重要
0926デフォルトの名無しさんNGNG
「無茶」ではなく「無理」という発想で大体程度が知れる
0927920NGNG
NetBeansかJBuilderですか。調べてみます。
ありがとうございました。
0928924NGNG
お答えありがとうございます

J2ME を mac でだと preverifier がないから無理って昔に聞いたことがあって...
今はこの問題はクリアされてるのかな
preverifier がクリアされているとするとシミュレータだけの問題か
どっしよかしら
0929デフォルトの名無しさんNGNG
まずはiアプリのスレいったほうがいいぞ
0930デフォルトの名無しさんNGNG
Windowsのデスクトップみたいな
等間隔にアイコンを並べてその下にファイル名を表示させたUIを使いたいんだけど
なにを使えば良いの?
0931デフォルトの名無しさんNGNG
>>930
GridLayoutにJLabelかな。
やりたいことによるだろうけど。
0932916NGNG
918さん
お客さんの要望だったので、なるべく実現してあげたかったのです。

919さん
ありがとうございました。無事目的のものをダウンロードできました。
感謝です。
0933デフォルトの名無しさんNGNG
data[i] = Integer.valueOf(args[i]).intValue();
という文でIntegerがクラス、valueOfとintValueは両方メソッドですよね?
どういうことになってるのか教えてください。
0934デフォルトの名無しさんNGNG
javaで実行ファイルみたいなのから起動するにはJLauncherなんかを使うしかないんでしょうか?
0935デフォルトの名無しさんNGNG
JSmoothってのもあるけどそれは不満?
0936デフォルトの名無しさんNGNG
>>933
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Integer.html
0937デフォルトの名無しさんNGNG
>>933の解答を考えてたけど途中で挫折しました。

public class TEST{
public static void main(String srgv[]){
data = 7;
System.ouy.pr
0938デフォルトの名無しさんNGNG
Integer hoge = Integer.valueOf(args[i]);
data[i] = hoge.intValue();
0939933NGNG
>>936 サンクス。
質問しなおします
クラス.メソッド1.メソッド2という形は普通に使うものなのですか?
メソッド1の戻り値をメソッド2で処理?
いろんなメソッドを自由にこんな形で使えるのでしょうか?
0940デフォルトの名無しさんNGNG
Integer.valueOf(args[i]).intValue();

valueOf()・・・staticメソッド
intValue()・・・インスタンスメソッド

まず、Integer.valueOf(args[i])で、Integerオブジェクトが生成される。
(valueOf()は、staticメソッドだから、クラス名.メソッド名で実行できる。)
そのIntegerオブジェクトに対して、intValue()するということ。
(intValue()などのインスタンスメソッドは、Integerオブジェクト.メソッド名
という使い方をする。)

JavaDoc見たことある?見ながら考えた方がいいよ。ああ、やさしいなおれは。
0941デフォルトの名無しさんNGNG
>>939
YES
0942デフォルトの名無しさんNGNG
もうちょっと整理言おうか。

staticメソッドは、次の形で実行する
クラス名.メソッド名()

インスタンスメソッドは、次の形で実行する
オブジェクト.メソッド名()

staticメソッドは、オブジェクトを生成しなくても実行できる。
インスタンスメソッドは、オブジェクトを生成しないと実行することは
できない。

どうわかったか。
0943933NGNG
完璧わかりました。
みなさんありがとうございました。m(_ _)m
0944デフォルトの名無しさんNGNG
>どうわかったか。
つまり、どのようにわかったか聞いているのか?
0945デフォルトの名無しさんNGNG
正しくは、
どうわかったか?⇒どう、わかったか?
まっ、気にスンナや。
0946C/C++/Java使いNGNG
>>939
もしかして、こういう回答がお望みですか?

JavaにはCと違って強力な例外機構があるので、戻り値でメソッド呼び出し
の成功、失敗をチェックする必要がないんだよ。

メソッドは必ず成功していて、正しい値を返しているか、または例外を送出
しているかのどっちか。

そういう前提で、なにかのインスタンスへの参照を戻り値として返すメソッド
を作ることも、そのような形で呼び出しをネストさせることも問題なくなって
いるわけデス。
0947デフォルトの名無しさんNGNG
>>946 きみセンスないね。w
0948デフォルトの名無しさんNGNG
int a = 2 + 3;
int b = a * 4;
と書こうが、
int b = (2 + 3) * 4;
と書こうがおなじこと。
これと同じ。
(つまり>>938みたいな)

とだれも教えないから俺は毎度こう教えてるんだけど
わかりにくいのかな?
0949デフォルトの名無しさんNGNG
>>933のやりたいこと考えるとなんでparseInt使わないんだ?

0950デフォルトの名無しさんNGNG
定型文だと初心者向けの本でも容赦なく数珠繋ぎにするよね。
あれはどーなのか。

それに、個人的には初心者に教えるときはstaticメソッドあまり使いたくない。
(例えばこの場合あえて new Integer(hoge) を使ったりしたい)
0951デフォルトの名無しさんNGNG
System.out.println();
0952デフォルトの名無しさんNGNG
これは、ほんとにお約束だからねぇ。
ここに文法的な説明するまで使えないとしたら、サンプルがはげしく作りにくい。
0953デフォルトの名無しさんNGNG
>951
それはおまじないとでも言ったらしまいじゃんw
0954デフォルトの名無しさんNGNG
>>931
そういえばアイコンを貼れるんでしたね
クリックしたいのでボーダー消しボタンでやってみます
0955デフォルトの名無しさんNGNG
>>950
推奨されるコードじゃない書き方を教えるほうがよくない。
0956デフォルトの名無しさんNGNG
俺はstaticも大事な構文だから積極的に教えたいところだ
staticしらないと使えないものも多いしな

まぁ数珠繋ぎは初心者に教えるときには使わないがな
面倒でも変数に入れてやる
0957デフォルトの名無しさんNGNG
>>950-951
ワラタ
0958デフォルトの名無しさんNGNG
Java超初心者ですが、

String a = new String();
String b = a;

これってaとbは同じアドレスを指してることになりますか?



0959デフォルトの名無しさんNGNG
アドレスという言葉は適切でないが質問の意図を汲んでj答えるとyes
0960デフォルトの名無しさんNGNG
それぞれのメソッドがどの型を返しているかを示すために一回変数に入れてる。
あと、1行で複数の操作をするのはミスのもとになるしデバッガで追いにくいから、実際のコーディングでもあまりやらない。
0961デフォルトの名無しさんNGNG
IDE使うようになってから、あんまりそういうこと気にしなくなったなあ。
補完で見えるし、GUIデバッガで追えるし。
0962デフォルトの名無しさんNGNG
>>958
不変クラス(Stringはその中でも特に)の場合はわかりづらいから、
そういうのをチェックしたければStringBufferの方が見てわかりやすいと思うよ
0963デフォルトの名無しさんNGNG
初心者相手だと
何でもかんでもStringBufferにしてしまう一抹の不安を覚える
0964デフォルトの名無しさんNGNG
>>935
JSmoothですか。調べてみます。どうも。
実際にjavaの開発で作られたアプリもbatファイルとかから起動してるんでしょか?
0965デフォルトの名無しさんNGNG
>>964
jarファイルのショートカット作るくらいじゃないのかな。
0966デフォルトの名無しさんNGNG
>>964
BATってことはWindows?

Windowsでは、JREをインストールすると*.jarに対して[javaw -jar]コマンド
が関連付けられちゃうから、適当なアイコンくっつけてJAR直起動にしちゃう、
ってのもありじゃないかね。

最近だと、オートバージョンアップ機構付ランチャとしてJavaWebStart使う
ってのもアリかな。アレならタダだし。

JVM起動するexe作るのが王道かも知れんね。
0967デフォルトの名無しさんNGNG
>>935
和製ならこんなのも
ttp://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi?page=BootJava
0968デフォルトの名無しさんNGNG
どなたか、
javamailで日本語ファイルの添付をした方いらっしゃいませんか?

javamailは対応していないため、
自力で作らなければいけないとか。

ttp://www.sk-jp.com/book/javamail/
こっから、ソースを拾ってきて試してみたのですが、
OutLookに対応していないみたいで。

みなさんは、どうやってます?
0969デフォルトの名無しさんNGNG
>>968
普通に添付してるが?
0970968NGNG
>>969
え。まじすか?
それでうまくいきます?
0971デフォルトの名無しさんNGNG
はじめて JavaMail 使った。普通に添付できるね。
タイトルも本文も添付ファイル名もOK
(ただし NN7.1は Content-Transfer-Encoding: quoted-printable のままだと終端に JIS のゴミ)
>>968 は一体どんな回り道を?
0972デフォルトの名無しさんNGNG
JPanelにJava.awt.Graphics2Dで線を引いた後、
そのJPanelのある1ピクセルのRGB値を取得したくてたまりません。
これを取得欲と名づけるつもりですが、どのメソッドを使えば解消できやがるでしょうか。
0973デフォルトの名無しさんNGNG
無理
Graphics は、それによって描かれる画像がラスタイメージであるとは限らない
ゆえに座標という概念はあってもピクセルという概念はない
どうしてもやりたきゃ BufferedImage などに書き込め
0974972NGNG
>973
ありがとうございます。
大きさでいうと黒部ダムくらい助かりました。
0975968NGNG
>>969
>>971
ありがとうございます。
もう一度最初から試してみます。
0976デフォルトの名無しさんNGNG
J2EE で一日一回 EJB の create 処理を行いたい(行わないときもある)ときに
最適な手法とはなんでせう
0977デフォルトの名無しさんNGNG
EE1.4でタイマーサービス入ったんじゃなかったっけ。
http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Session5.html
0978デフォルトの名無しさんNGNG
ありがとうございます勉強してみます
0979デフォルトの名無しさんNGNG
>>972
PixelGrabberでぐぐれ
0980デフォルトの名無しさんNGNG
Jakarta-CommonsのDBCPの使い方に関する
わかりやすい資料ないかね?
知りたいのは、JOCLファイルでプーリングオブジェクトを
指定して、コードに読ませる具体例。
いくつかググった結果で試してみたけど、DBにつながらん。
0981デフォルトの名無しさんNGNG
>>980
DriverAdapterCPDS使うんじゃダメなのか?
0982デフォルトの名無しさんNGNG
Singletonパターンとstaticなクラスの使い分け方教えてくらさい
0983デフォルトの名無しさんNGNG
staticなクラスって何?
0984デフォルトの名無しさんNGNG
>>983
インナークラスなんだけど、よそからでも使えるクラス。
0985デフォルトの名無しさんNGNG
>>982
インスタンスが必要かどうか
0986デフォルトの名無しさんNGNG
{x}
0987958NGNG
アドバイス頂きありがとうございます。
実は更なる疑問が発生しました。

String a = new String();
String b = a;
Javaの書籍などで調べたところ、aとbは同じメモリを参照しているように
見受けられるのですが、例えば、上記以降に
a = "xxx";
System.out.println( a == b );
とするとfalseが返ります。

う〜ん、bもaと同じメモリを参照しているはずなのに何故???
bのメモリはどーなっちゃうの??
馬鹿ですみません。どなたか解説お願いします。
0988デフォルトの名無しさんNGNG
>>987
>a = "xxx";

aに、"xxx"が置いてあるメモリ上の位置をしまいました。
bには、new String()が置いてあるメモリ上の位置がしまってあります。

さて、aとbは同じメモリ上の位置がしまってありますか?
0989デフォルトの名無しさんNGNG
>>987
「不変クラス(Stringはその中でも特に)の場合はわかりづらい」って書いてあっただろ。
見事にそれにはまっているんだよ
0990デフォルトの名無しさんNGNG
ボタンなどの部品やコンテントペインなどのフィールドを定義するのに

class Test extends JFrame {
Container gcp=getContentPane();
JButton bt;

Test() {
:
とやるのと
class Test extends JFrame {
Test() {
Container gcp=getContentPane();
JButton bt;
:
のようにコンストラクタでやるのと
どっちが正しいのですか?

0991デフォルトの名無しさんNGNG
正しい云々以前にスコープが違うだろが。
0992デフォルトの名無しさんNGNG
>>990
どっちでもいいと思うけど。
コンストラクタで定義した方が正しいかな。
0993958NGNG
>>988
なるほど!
String b = a;
を
『aとbは同じメモリを参照します』
とゆー意味で捉えてしまってたようです。

『aに、"xxx"が置いてあるメモリ上の位置をしまいました』
この一文で謎が氷解しました。

ありがとうございます。
0994992NGNG
>>991
ほんとだw
オレなら
class Test extends JFrame {
Container c;

Test() {
c=getContexxx;
}
0995デフォルトの名無しさんNGNG
>>990
btについては、インスタンスメソッドからその参照を見に行くことがあるなら、
インスタンスフィールドにもっとかないと困るかも。(Swingならコンポーネント
ツリー辿れば見つかるんだけど、面倒)そうでないなら好きにするがヨロシ。

コンテントペインをインスタンスフィールドに持っとくのはナンセンスでしょ。
どうせgetContentPane()をコールすればどのインスタンスメソッドからでも簡
単に見つかるわけで。
0996988NGNG
>>993

Javaの参照≠C++で言うところの参照
Javaの参照≒C/C++で言うところのポインタ

なのですねぇ。
0997デフォルトの名無しさんNGNG
C++を知らん漏れは何の混乱もない。
0998デフォルトの名無しさんNGNG
次スレマダー?
0999デフォルトの名無しさんNGNG
たてれなかった、このホストじゃだめですらしい。
↓これだれか。

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


過去ログ、関連スレの一覧や、これからJavaでプログラミングを
始めたいが何をすればいいかわからない人は、下のリンクをクリック。
http://www.wikiroom.com/java/

以下のエラーが表示されて、途方にくれているあなたは、下のリンクを。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path%2Cclasspath

JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc2.2ch.net/hp/

エクリプスに関する質問は同板の「統合開発環境Eclipse」スレへ

前スレ
【初心者】Java質問・相談スレ46【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1085129540/

すべてのクラス (Java 2 プラットフォーム SE v1.4.0)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html
Java (TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html
Java言語規定 第2版 目次
http://www.y-adagio.com/public/standards/tr_javalang2/jTOC.doc.html
1000デフォルトの名無しさんNGNG
1001
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。