2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:04/10/20 23:35:28
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

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

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

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */

また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

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

2 :デフォルトの名無しさん:04/10/20 23:38:34
スレ立て、乙!

3 :デフォルトの名無しさん:04/10/20 23:38:39
2を下さい

4 :デフォルトの名無しさん:04/10/20 23:39:33
前スレの994です。
やっぱりCができないと駄目なんですね・・・

5 :デフォルトの名無しさん:04/10/20 23:41:39
>>1
乙。

>>4
プログラマになるつもり?
学校の課題ならJavaだけでもいい気がするが。

6 :デフォルトの名無しさん:04/10/20 23:41:40
>>4
Cを知らなくても、Javaは理解できる。
Cを知れば、Javaの理解も深まる。

7 :デフォルトの名無しさん:04/10/20 23:42:52
>>4
できないよりできたほうがいい。
やったほうがいいかやらないほうがいいか不明確な場合、
やらないでいいことをやる前に避けようとするのはあまり賢くはない。
食わず嫌いができるだけです。

8 :955:04/10/20 23:43:52
前スレ955です。
う〜ん。
出力直前でSystem.outしてみたんですが、ほしいレコードはみんなきてるんですよね。
なのに、
bw.write(lineStr +"\n"); //出力
で書いてもファイルには出力されてません。。。しょぼーん

9 :デフォルトの名無しさん:04/10/20 23:44:47
>>1


>>4
自分で勉強できなければCを選んでもあまり意味ない。
学校で習っただけではどっちとっても微妙

10 :デフォルトの名無しさん:04/10/20 23:46:16
>>955
ソースをコピペしる。

11 :デフォルトの名無しさん:04/10/20 23:46:56
>>8
ファイルはクローズしてるか?

12 :デフォルトの名無しさん:04/10/20 23:47:08
>>8
bw.close();
の前に
bw.flush();
を入れてみる

13 :デフォルトの名無しさん:04/10/20 23:49:01
いま、JAVAが無効な状態です。
どこで有効/無効を切り換えるんでしょうか?
教えてください。

14 :955:04/10/20 23:50:48
>>12
カミサマキタ━━━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━━━!!!!!

解決しました!これなんのおまじないデツカ?

15 :デフォルトの名無しさん:04/10/20 23:52:14
forルーブはどうなったんだよw

16 :955:04/10/20 23:53:37
>>15
すみません。ちゃんとブレイクしてたみたいです。
(情けない。。。)


17 :デフォルトの名無しさん:04/10/20 23:54:55
>>16
ソンナ、ワケナイ。

18 :デフォルトの名無しさん:04/10/20 23:56:06
すいませんがポリモルフィズムとやらをわかりやすく解説してください。
要はifとかswitchを使わずに具象クラスを作るってことですか?

19 :デフォルトの名無しさん:04/10/20 23:58:21
>>14
何か嘘くせぇ。自分に都合の悪いことかくしてないか?
close()文が初めからなかったと思うんだが?
close()したらflush()の必要はないはず。

20 :デフォルトの名無しさん:04/10/21 00:01:43
>>18
「生き物」クラスのサブクラスである「人間」クラスがあるとする。
おれが誰かに「生き物を連れてこい」と言われたとき、
「生き物」クラスのインスタンスを連れて行けば当然OKだが、
「人間」クラスのインスタンスを連れて行ってもOKになる。
なぜなら「人間」クラスは「生き物」クラスでもあるからだ。

21 :デフォルトの名無しさん:04/10/21 00:03:59
>>20
はぁ。なんとなくわかったような。
で、それが実際PGする際にどう利点になるんですか?

22 :デフォルトの名無しさん:04/10/21 00:06:24
自分で>>18に書いてるやん。ifとかswitchに頼らなくて済む。

23 :デフォルトの名無しさん:04/10/21 00:12:47
>>21
簡単そうなぬるぽパターン、じゃなかったNull Objectパターンでも読んどけ
http://www.hyuki.com/dp/dpinfo.html#NullObject


24 :デフォルトの名無しさん:04/10/21 00:13:37
>>22
そうですか。なるほど。
具象クラスを作ることで実行クラス(?)には修正することもなく修正ミス等がすくなくなってひいては保守性とかも高くなるってことですか。
どうもでした!!

25 :955:04/10/21 00:14:57
ご迷惑をおかけしたので、ソースを完全公開します。
※コメント一部つぶしてますが。
仕様としては、あるディレクトリにファイルすべてを読み込んで
指定した文字列を部分検索した結果、Hitした場合、そのレコードをすべて出力するPGMです。

以下部分的に公開します。

26 :955:04/10/21 00:15:46
import java.io.*;
import java.util.*;

public class KAWASE001 {

/**
**********************************************************************
メイン
**********************************************************************
**/
static String lineStr = "";
public static void CutRateFile(String idir,String ofilename) throws FileNotFoundException, Exception {

// 1行データ
String kawase_data = null; //?
int skip_len = 48; //読み飛ばしレングス長
int get_value_len = 8; //取得値レングス
int keyword_len = keyword.length(); //検索キーワードの長さ
*/
String fileLine = null; //レコード読み込みエリア
String keyword = "xxxxxxxxxxxx"; //検索キーワード
String Putflg = "N";//該当レコード出力フラグ intger

// ファイルオープン(output)
FileWriter fw = new FileWriter(ofilename);
//バッファ書き出しコンストラクタ定義
BufferedWriter bw = new BufferedWriter(fw);

27 :デフォルトの名無しさん:04/10/21 00:16:51
質問です。

swingとかでボタンにカーソル合わせるだけでミニ吹き出しが出て解説が出るのはどうやるんですか?


28 :デフォルトの名無しさん:04/10/21 00:18:37
>>throws FileNotFoundException, Exception {

ちょっとワラタ。例外適当に投げすぎ(w

29 :955:04/10/21 00:19:36
ひぇー!ソースを書こうと思ったけどココ汚すだけになりそう。
もう皆様の興味が引けてしまいましたら、FAにしますが、いかがでしょう?
うぷするよい方法ありましたらお教えくださいませ!!

30 :デフォルトの名無しさん:04/10/21 00:19:59
>>27
JComponent#setToolTipText(String text);

31 :デフォルトの名無しさん:04/10/21 00:20:10
>>27
コンポーネントのsetToolTipText()メソッドを探してみるのじゃ。

32 :デフォルトの名無しさん:04/10/21 00:20:32
upまだー

33 :デフォルトの名無しさん:04/10/21 00:20:45
>>29
1.アップローダを開設する
2.ウェブページを開設する

34 :955:04/10/21 00:21:06
>>28
大いに笑ってください。
神々の方々に恥をさらして、さらに上を目指したいです。

35 :27:04/10/21 00:21:09
ありがとう。

36 :デフォルトの名無しさん:04/10/21 00:21:19
>>27
JComponent#setTooltipText(String s)でテキストをセットするか
JComponent#getTooltipText()をオーバーライドして、任意の
Stringを返すようにすればOK

37 :デフォルトの名無しさん:04/10/21 00:21:27
コメントの「コンストラクタ*定義*」が凄く気になる
そこは呼び出してるだけで、定義してないだろうと

38 :デフォルトの名無しさん:04/10/21 00:22:16
俺は2chに晒す用の無料Webスペースを持っている。

39 :デフォルトの名無しさん:04/10/21 00:23:06
>>38
晒しなさい

40 :955:04/10/21 00:24:29
自分の”趣味のプログラミング”に神々のお力をお借りしてしまって
よいものか・・・今、ガクブルしてますよ。。。

41 :古代帝國富士皇朝総帥・伯壬旭:04/10/21 00:25:52

よくぞ次スレを立てた。
誉めてつかわす
さあ、皆の者、質問するがいい!


42 :デフォルトの名無しさん:04/10/21 00:25:53
>レングス長
ワラタ

残りも早く晒せよ。どっかコード公開できるとこなかったっけ?


43 :デフォルトの名無しさん:04/10/21 00:27:47
どれでも使いなはれ。
http://up.moech.net/

44 :デフォルトの名無しさん:04/10/21 00:28:18
ラウンジ使え。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html

45 :デフォルトの名無しさん:04/10/21 00:29:38
>>40
神なんているわけないだろ
2chなんて引きこもりからニートまでだぞ
晒すならさっさと晒せ

46 :デフォルトの名無しさん:04/10/21 00:31:13
>>45
>>41がいるじゃないか。

47 :28:04/10/21 00:31:19
笑ってすまんこ。
ここは初心者が勉強するスレだね。

例外を投げる時は、そこで発生する例外を全て書いておいた方がいいよ。
面倒だけどそこで発生しうる例外を全てきちんと把握できる。

FileNotFoundExceptionはExceptionのサブクラスだから両方書いても重複するね。
ランタイム例外は書かなくてもスローされるから別にいいとしても、
ここで発生する例外はFileNotFoundException,IOExceptionときちんと書いた方がいいと思う。

48 :955:04/10/21 00:31:59
>43
ありがとう。
で、また相談なんだけどココに書こうとして、ゴミ消しとかしたら
またおかしくなっちゃったんだよね。。。(鬱)
で、自力で修正するまで待ってもらえます?
それとも途中でいーから、UPしていー?

49 :デフォルトの名無しさん:04/10/21 00:33:47
はやくー

50 :デフォルトの名無しさん:04/10/21 00:34:45
思うんだが、確かにコメントは重要だと思うが
一行一行にコメントつけんのはどーよ?
現場でひどいのになると

// Fileオブジェクト作成
File file = new File(path);

とかあるんだが
処理読んで理解できないけどこのコメントで「ああ、なるほど」と思う事…
ってあるか?

51 :デフォルトの名無しさん:04/10/21 00:36:28
>>955
(・∀・ )っ/凵 ⌒☆チン マダー?

52 :デフォルトの名無しさん:04/10/21 00:37:11
>>955
おめーひょっとして株ロボコンにでも挑戦してるんじゃねーだろな

もしそうなら自動作成ロボでやめとけ
いきなりソースいじろうとしても無理だから

いずれにしても、まずは基本をしっかり勉強しろ
>>26のコメント見る限り、理解が全然足りていないようだ

53 :デフォルトの名無しさん:04/10/21 00:37:24
この瞬間、世界で一番注目されているプログラマの
ソースupまだー。

54 :デフォルトの名無しさん:04/10/21 00:38:00
>>50
オイラはメソッドごととか要所とかにしか書いてないな。
コメント難しいよ。コメントの上手いソースってのも読んでみたいな。


55 :デフォルトの名無しさん:04/10/21 00:38:52
>>48

>>43じゃなくて >>44にupすべし


56 :デフォルトの名無しさん:04/10/21 00:41:46
>>54
javadoc書けば

57 :28:04/10/21 00:42:03
あ、
FileNotFoundExceptionはIOExceptionのサブクラスだから一つでいっか。

58 :デフォルトの名無しさん:04/10/21 00:42:17
>>50
コメントは「何をしているか」ではなく「何故そうしているか」を
書くとよいとどっかで聞いたことがあります

59 :デフォルトの名無しさん:04/10/21 00:43:24
コメントはテストだけに書くっていうのも良いとどっかで聞いたことあります。

60 :955:04/10/21 00:43:25
http://douga.sakura.ne.jp/uploader2/upload.html

あ、ここにうぷしちゃった。
いーのかなぁー?
今、まともに動かないよ。
とりあえず報告。

61 :デフォルトの名無しさん:04/10/21 00:44:36
>>48
今日は台風でみんなヒマだから、upしたら書き直してくれるよ


62 :デフォルトの名無しさん:04/10/21 00:45:37
最強株ロボキタ━━━━━━(゚∀゚)━━━━━━ !!

63 :955:04/10/21 00:46:48
>52
これ、株じゃなくて為替分析を考えてます。
ファイル名見ればわかりますよね。
JAVA勉強するのに何か目的意識ほしかったので
これをテーマにやってます。
かと言ってこれが解決したら億万長者になれる訳じゃないですよぉーw

64 :デフォルトの名無しさん:04/10/21 00:47:20
>>60
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
にアップしなおせ。
何様のつもりだ?わざわざ圧縮解凍なんかするな馬鹿


65 :デフォルトの名無しさん:04/10/21 00:48:21
>>56
javadocってAPIリファレンスつくるツールじゃないっけ。

66 :955:04/10/21 00:48:35
>>64
なんで怒ってるの?

67 :デフォルトの名無しさん:04/10/21 00:48:57
拡張子.javaのままでうpできるアップローダなんてねえよボケ

68 :デフォルトの名無しさん:04/10/21 00:49:39
なんか台風もう終わっちゃったんですけど。ツマンネ

69 :955:04/10/21 00:50:44
まぁ、こんなクズソースでもみんなのネタにしてもらえれば
幸いです。
けど、1時間ちょいで60件も。。。ありがたい話です、はい。

70 :デフォルトの名無しさん:04/10/21 00:50:53
32行目はいらない。
if (A[i]==null) break;

71 :デフォルトの名無しさん:04/10/21 00:51:21
>>67
>>44見れ馬鹿


72 :デフォルトの名無しさん:04/10/21 00:55:48
アップローダ重くてソースおとせね

>>68 逝け
今回の台風もあまり凄くなかった件について
http://live14.2ch.net/test/read.cgi/liveplus/1098281679/

73 :デフォルトの名無しさん:04/10/21 00:56:21
>>65
メソッド毎に書くんだろ。じゃあjavadoc書けばいいだけ、
eclipseでホバー表示もできるし

74 :デフォルトの名無しさん:04/10/21 00:58:16
パラメーラーが足りません。

75 :デフォルトの名無しさん:04/10/21 00:58:30
>>50
そのうち面倒になって そいつが必要だと思うところにしかコメント書かなくなるだろ。
むしろ、最初から全くコメントを書かない奴は いつまでたっても全くコメントを書かないので
仕様なのかバグなのか、変更して良いのか悪いのかわからないコードを量産してくれる。

76 :天災人:04/10/21 00:58:36
どうぞお楽しみください。
955のソースの添削スレ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1098287653


77 :955:04/10/21 01:02:00
>>76
わくわく。

78 :デフォルトの名無しさん:04/10/21 01:02:08
lineStrがstaticだからいけないのかな。

79 :78:04/10/21 01:04:32
lineStrを一時変数にして、"\n"とってもだめ?

80 :デフォルトの名無しさん:04/10/21 01:05:30
>>73
javadocの形式にするとコメントが上手くなるのか?

81 :デフォルトの名無しさん:04/10/21 01:06:42
>>80
誰もそんな話はしてないよ。

82 :& ◆RWwNEVt54c :04/10/21 01:08:49
>>56 >>65 >>81
おそらく君らが勘違いしてるよ。

javadocじゃなくてソース中のコメントの話だから


83 :デフォルトの名無しさん:04/10/21 01:09:36
少なくとも955がCOBOLer出身だと言うことは伝わった

84 :デフォルトの名無しさん:04/10/21 01:09:38
>>70
いらないっていうか、forの外でA自体がnullじゃないチェックをしとかないと、
fがディレクトリじゃないときに、ぬるぽが出るんじゃね?

85 :デフォルトの名無しさん:04/10/21 01:09:46
>>56 >>73 >>81
の間違い

86 :デフォルトの名無しさん:04/10/21 01:11:42
>>85
そんな話はどうだっていいよ。
空気嫁

87 :955:04/10/21 01:11:47
>>83
ごめん。COBOLできないよ。

88 :デフォルトの名無しさん:04/10/21 01:12:42
>>85
「メソッドごととか」に対して突っ込んでるだけだろ。
少なくともjavadoc書いてりゃ
ソース中にメソッド毎にいちいち処理内容書く必要はない。

89 :デフォルトの名無しさん:04/10/21 01:13:19
>>87
コメントやABENDってあたりがモロなんだが…

90 :デフォルトの名無しさん:04/10/21 01:13:35
955かわいいよ955

91 :955:04/10/21 01:15:07
>89
そうなん?それはASMをやってた頃の名残ですね。

92 :デフォルトの名無しさん:04/10/21 01:17:23
PL/IだろうがASMだろうがCOBOLだろうが変わんねーよ

っていうことはプログラミング初心者じゃないんだな…

93 :955:04/10/21 01:17:50
補足なんだけど、アセンブラはコメント書いてないと全然追えないですよ。
昔、それですごい苦労した時の名残です。

94 :デフォルトの名無しさん:04/10/21 01:24:45
>>93
指定フォルダ内にフォルダがあったら落ちないか?

>補足なんだけど、アセンブラはコメント書いてないと全然追えないですよ。
>昔、それですごい苦労した時の名残です。
郷に入りては郷に従おうな。

95 :デフォルトの名無しさん:04/10/21 01:26:28
>>955
取りあえずちゃんと動くね。改善の余地はあるけども。
java.io.File#list()より、java.io.File#listFiles()を使った方が、
見やすいソースになると思われ。

96 :デフォルトの名無しさん:04/10/21 01:26:49
前スレよみました
で、955さん。いまの状況は?配列のエラーは消えてるの?

97 :955:04/10/21 01:31:51
>96
ありがとう。
今は、Exception in thread "main" java.lang.NoClassDefFoundError
なエラーがでちゃいます。
壊しちゃったのかなぁー?


98 :デフォルトの名無しさん:04/10/21 01:33:13
あ、上の方で解決したって書いてあるじゃん。
じゃー。終了か。
ソースの方は直す点が多すぎてつっこむ気にもならない。

99 :デフォルトの名無しさん:04/10/21 01:35:21
"\\" -> File.separator かな?

100 :デフォルトの名無しさん:04/10/21 01:35:29
>>97
>>1読め。

101 :955:04/10/21 01:36:16
この落とし所ってどぉーするんでしょ?
神々の皆様のお声をお聞かせくださいませ。

102 :デフォルトの名無しさん:04/10/21 01:36:41
あと、ArrayIndexOutOfBoundsException はキャッチしないでもよくなってるよな?

103 :デフォルトの名無しさん:04/10/21 01:37:55
二行に一回はつっこみポイントがあるのもすごいな

104 :デフォルトの名無しさん:04/10/21 01:38:33
>>101
>この落とし所
何を指しているんだ?

105 :デフォルトの名無しさん:04/10/21 01:38:47
> if (args.length != 2) { //引数チェック 2個以上あるか?

コメントと条件文が意味合ってないよな?

106 :デフォルトの名無しさん:04/10/21 01:39:33
>>105
もうそのテの添削やると、それだけでスレ埋まっちゃうから

107 :デフォルトの名無しさん:04/10/21 01:41:00
> new FileInputStream(A[i]), "SJIS"));

SJISではなく、MS932が恐らく意図するところ。

> lineStr = null; //初期化
いらない

ああ、キリがない

108 :デフォルトの名無しさん:04/10/21 01:41:11
while((fileLine = br.readLine()) != null)

このwhile文にはちょっと感心した。

109 :デフォルトの名無しさん:04/10/21 01:43:44
"\n"と書かないで
System.getProperty("line.separator")
と書かないとマズイことになります。

110 :デフォルトの名無しさん:04/10/21 01:44:10
アセンブラとはいえ仮にもプログラミング経験者が
こんなコードを書くはずがない。

特に>>105なんかはどう考えてもおかしいだろ。
大なり小なりなんか「算数」のレベルだろ。

どういうことだ。これは

111 :デフォルトの名無しさん:04/10/21 01:44:25
>>108
確かに。他の行と違って、いたってオーソドックスだもんね。

112 :デフォルトの名無しさん:04/10/21 01:45:44
955に幸あれ。おやすみなさい。

113 :デフォルトの名無しさん:04/10/21 01:45:48
むしゃくしゃしてやった。
相手は誰でもよかった。
だってヒマなんだもん。

114 :デフォルトの名無しさん:04/10/21 01:46:37
>>110
そう、>>107>>109なんかは「Javaに慣れてない」って感じだし
フロー本体に直接関わることではないからまだいいけどね
どうもおかしいね

115 :デフォルトの名無しさん:04/10/21 01:46:58
>>110
ゼロフラグとキャリーフラグの使い間違いってとこですな

116 :デフォルトの名無しさん:04/10/21 01:48:57
>>115
コメントで「以上」と書いてるんだから
不等号の一つくらいは入れてくれないと困る


117 :955:04/10/21 01:49:30
皆様。
いろいろとご迷惑をおかけいたしました。
お蔭様で正しく動作するPGMとなったようです。
ですが、私の無知ゆえの潜在BUGは多々あるかと思います。
今後、さらにJAVAの理解を深めた時にでもブラッシュアップしたいと思います。
現在のPGMは、仕様の途中ですのでさらにコーディングを続けたいと思います。
当面の目標はふたつです。
・該当レコードを単に出力→出力内容を編集して出力
・検索キーワードの外部ファイル化

また、皆様のお時間がございましたら、弄んで罵倒してくださいませ。
本日はまことにありがとうございました。

118 :115:04/10/21 01:50:18
>>116
あのー漏れ、>>105でもあるんだけど・・・

119 :デフォルトの名無しさん:04/10/21 01:51:23
うんうん、プログラム基本はできていると思いこんでいる初心者は怖いね。
Javaの理解以前の根本的な問題はあると思うよ。

120 :デフォルトの名無しさん:04/10/21 01:52:01
>>118
で?

121 :104:04/10/21 01:52:38
>>117
そんで結局落とし所って何のことだったんだ

122 :デフォルトの名無しさん:04/10/21 01:53:22
>>117
ラウンジでどんどん改良されてるよ(w


123 :デフォルトの名無しさん:04/10/21 01:56:07
>>117
ここまでできたんなら、残りの二つは目標でも何でもないと思うが…
まあ適当にやれ

>>122
改良も何も、これを直すのなんか勉強してから一ヶ月程度のヤシでもできるだろ…

124 :955:04/10/21 01:56:10
>>122
え?どこ行けばいーんですか?

125 :デフォルトの名無しさん:04/10/21 01:58:39
ラウンジの改良、ちょっと中途半端だなぁ。。

126 :デフォルトの名無しさん:04/10/21 01:59:02
>>124
いつまで人に質問してれば気が済むんだ?
少しは自分で何とかしようという気は起きないのか?
このスレ最初から読み直せ

127 :デフォルトの名無しさん:04/10/21 01:59:57
>>124
>>76


128 :デフォルトの名無しさん:04/10/21 02:01:21
>>125
直してる(つもりの)香具師が明らかに初心者(から中級者の間くらい)。
あと半年もすれば恥ずかしく思うようになるだろう

129 :127:04/10/21 02:02:06
>>126
     _____
    /_      |
    /. \ ̄ ̄ ̄ ̄|
  /  /  ― ― |
  |  /    -  - |
  ||| (6      > |
 | | |     ┏━┓|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |     ┃─┃|  < 正直、スマンカッタ。
|| | | |  \ ┃  ┃/    \________
| || | |    ̄  ̄|

130 :デフォルトの名無しさん:04/10/21 02:03:27
>>128
4は完璧。


131 :デフォルトの名無しさん:04/10/21 02:04:27
>>130
ごめん、どこがよ。

132 :デフォルトの名無しさん:04/10/21 02:08:33
>>131
あれの何が不満なんだ?

133 :デフォルトの名無しさん:04/10/21 02:08:52
肝心の955はどこにいったんだ?

134 :955:04/10/21 02:09:14
添削スレに書き込みいただきました方々
本当にありがとうございます。
勉強させていただきます。
今日はもう2時ですので失礼させていただきます。
皆様おやすみなさい。

135 :デフォルトの名無しさん:04/10/21 02:09:14
>>132
別に完璧じゃないよと言いたいだけ。

136 :デフォルトの名無しさん:04/10/21 02:10:57
4の感想

public static void main(String[] args) throws IOException
例外投げっぱなし?

argsの引数チェックが欲しい。

import文の該当クラスはちゃんと書いて欲しい。

え?ひょっとして拡張for?俺読めないよ。

137 :デフォルトの名無しさん:04/10/21 02:18:51
えーっと、>>131 じゃないけど。
Exceptionなげっぱなんだったら、try文は1つでいいかな?と。
どっちもロジック的に終了でしょ

138 :むこうの4:04/10/21 02:25:39
>>136
>public static void main(String[] args) throws IOException
>例外投げっぱなし?

きっとJVMが適切に処理してくれるから問題ないよん。
このコードではcatchしたところでprintStackTrace()ぐらいだろ?
他はどうでもいいことだね。

>>137
ファイルcloseしないとダメ。
cutRateFile()は例外投げた後にすぐJVMが終了するかどうか知らないから。


139 :デフォルトの名無しさん:04/10/21 02:25:44
tryは2個の方が綺麗では?
finallyとの対応関係が分かりやすい。

140 :デフォルトの名無しさん:04/10/21 02:29:33
例外は、ファイルが無いのか、IOエラーなのか原因がつかみにくい。
引数チェックはちゃんとしなきゃ。
ま。この場合例だからいいかもしれないけど。
あとimport文をちゃんと書く習慣があったほうがいい。これもいいかもしれないけど。

でも4は綺麗だとは思いますよ。

141 :デフォルトの名無しさん:04/10/21 03:58:08
>>138
えーと、out.print(line); って out.println(line); のがいーのでは?
もとの奴には改行ついてたみたいだし。
あと、import java.util.*; って必要だったっけ?

142 :955:04/10/21 08:10:57
皆様おはようございます。
昨日はお騒がせしました。
>むこうヨン様
私の環境ではヨン様のソースコンパイルが通りません。
KAWASE.java:22: ';' がありません。
for (File inputFile : new File(inputDirectoryPath).listFiles()) {
^
KAWASE.java:40: 式の開始が不正です。
} finally {
^
エラー 2 個
ってなエラーでます。
これって環境の問題なんでしょうか?

143 :デフォルトの名無しさん:04/10/21 08:20:58
Javaの実行環境整えようとDLしようと思ったら
公式サイトが重くてダウンロードページにたどり着けない・・・

何かいい方法はないものか・・・orz

144 :デフォルトの名無しさん:04/10/21 08:25:58
質問です。
1.抽象クラスはテンプレートみたいなものって理解でOKですか?
2.そうであれば複数の開発者がいる場合の利点はわかりますが
開発者が一人なときは抽象クラス作る意味はあまりないと考えてOK?


145 :& ◆R7PNoCmXUc :04/10/21 09:10:01
>>142
J2SE5が必要
http://java.sun.com/j2se/1.5.0/ja/download.html
http://java.sun.com/j2se/1.5.0/index.jsp


146 :デフォルトの名無しさん:04/10/21 09:20:19
>>142
1.4なら、
File[] inputFiles = new File(inputDirectoryPath).listFiles();
for (int i = 0; i < inputFiles.length; i++) {
File inputFile = inputFiles[i];
に変える。

後もう一箇所、
System.err.printf("Keyword not found. file: %s%n", inputFile.getPath());

System.err.println("Keyword not found. file: " + inputFile.getPath());
に書き換える。


147 :デフォルトの名無しさん:04/10/21 10:02:51
1と10を指定すると

1+2+3+4+5+6+7+8+9+10
を計算するメソッドはないでしょうか?

148 :デフォルトの名無しさん:04/10/21 10:29:13
>>147
ある、無いの前にどこに?って範囲が分からないと。
標準apiには多分ない。

1+2+3+4+5=(1+5)×5÷2
1+2+・・・+9+10=(1+10)×10÷2

149 :デフォルトの名無しさん:04/10/21 10:36:51
今勉強してるサイトではAWTを使ってるみたいなんですが
AWTを学ぶことは時間の無駄となるんでしょうか?


150 :デフォルトの名無しさん:04/10/21 13:07:07
>>144
インタフェースの拡張版みたいなもの。
おれにとっては一人で開発してても抽象クラスは重宝するけど。


151 :デフォルトの名無しさん:04/10/21 13:08:34
>>149
Swingも基本はAWTにあり。ぜんぜん無駄じゃない。

152 :デフォルトの名無しさん:04/10/21 13:11:08
>>144
> 1.抽象クラスはテンプレートみたいなものって理解でOKですか?
ダメ。

> 開発者が一人なときは抽象クラス作る意味はあまりないと考えてOK?
開発者が一人なときはスパゲッティコードで良い、とか
開発者が一人なときは他人に読めないようなコードで良いってんならそれでOK

153 :デフォルトの名無しさん:04/10/21 13:12:18
>>149
GUIコンポーネント完全制覇という本によると
「AWTを知らずしてSwingなし」だそうです。


154 :955こと...なんと名乗れば?:04/10/21 13:47:28
昨日はどうもありがとうございました。
先日のPGMにつきましては、Closeという事でお願いします。
これで指定した文字列を変えることで、欲しいレコードを抜けますので。
本当は、このレコードを編集しようかと思いましたが、入力レイアウトが保証
されている訳ではないので編集PGMは機能分割することとしました。
またご相談させていただくやもしれませんがその節はよろしくお願いいたします。
m(__)m


155 :デフォルトの名無しさん:04/10/21 13:58:00
完璧なソースとやらを見せてくれ。

156 :955こと...なんと名乗れば?:04/10/21 14:35:20
あ!!!
一つだけお伺いしたいことがありました。すみません!!m(__)m
今のPGMでは、"指定した文字列を部分検索してHitしたレコードを
出力"していますが、これを"指定した文字列を部分検索してHitしたレコードの
「Hitした文字列の先頭からレコードの終末まで出力する」ということはできるものなのでしょうか?
(指定した文字列の前にある文字列は意味がないので)
これくらいの編集はしたいです。
何卒よろしくお願いいたします。

157 :デフォルトの名無しさん:04/10/21 14:37:45
>156
できるけど。
APIドキュメントのjava.lang.Stringの項を端から端までよーく読んで
ちっとは自分で考えてから聞きんさい。

158 :デフォルトの名無しさん:04/10/21 14:49:10
setAcceleratorでメニューにショートカットキーをつけたんですが
一つの処理が終わるまでキーを受け付けないようにするにはどうすればいいですか?
アクションはAbstractActionでヤッテマス

159 :デフォルトの名無しさん:04/10/21 15:11:51
>>158
AbstractAction#setEnabled(boolean)
かな、
俺は使ったことないけど

160 :デフォルトの名無しさん:04/10/21 15:42:34
アクション開始でfalseにして終わりでtrueにしてみましたが駄目でした


161 :955こと...なんと名乗れば?:04/10/21 15:50:21
>157
乏しいスキルから、
(1)条件に合ったレコードの長さを取得 length()
(2)条件に合ったレコードの先頭から終端まで、切り取り substringで。
いう手順でできました。
このコーディングで良いか悪いのかはまったくわかりません。
ありがとございました。

162 :デフォルトの名無しさん:04/10/21 15:53:34
>>161
それ晒してみ?採点してくれる人がいるかもしれん。

163 :デフォルトの名無しさん:04/10/21 15:55:53
>>160
ひょっとしてその処理って
Swingのイベント処理のスレッドで実行してる?

その処理を別スレッドでやるか、
setEnabled(false)した後で
SwingUtility.invokeLater()で実行すればいい気がする

164 :デフォルトの名無しさん:04/10/21 15:56:51
>>161
晒すんだったら こっちでやってね
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1098287653

165 :デフォルトの名無しさん:04/10/21 15:59:59
>>955
String#indexOf

166 :144:04/10/21 16:19:02
>>150
インタフェースこそ、抽象クラスのメソッドだけ版、つまり特殊版だと思ってました。
重宝するときってどうやって使ってるんですか?

>>152
(´・ω・`)ショボーン

再び。
抽象クラスとかインタフェースはソースを読みやすくするもの
って理解でOK?
(他にも利点あるんでしょうが、1つの利点って意味で)

167 :デフォルトの名無しさん:04/10/21 16:33:41
>>163
スレッドじゃないです
JMenuItemをActionに登録(?)して、そのメニューをsetAcceleratorしてます



168 :955こと...なんと名乗れば?:04/10/21 16:40:34
さらしてみました。(´・ω・`)

169 :デフォルトの名無しさん:04/10/21 17:18:15
前スレ最後のほうで「Swing コンポーネントのアイコンってどうやって取得してるの?」と質問したものです。
調べたら解決しましたので報告します。

SDK ディレクトリ /lib/dt.jar
というファイルの中に Swing コンポーネントのアイコンデータが入っています。
(AWT は入っていませんでした)

JAVA_HOME 環境変数から SDK の位置を取得すれば各自のアプリから使えると思われます。

170 :デフォルトの名無しさん:04/10/21 18:37:57
質問です。
SwingのJDesktopPaneとJInternalFrameを使って、簡単なMDIを作ろうとしているのですが、
JInternalFrameを継承したクラスのコンストラクタ内で、内部フレームのサイズをsetSize(int,int)を使って変更したのに、
JDesktopのインスタンスにその内部フレームをaddして表示させてみると、そのサイズが反映されていません。
どのような原因が考えられるでしょうか?

ちなみに内部フレームのクラスのコンストラクタは以下の通りです。

public Workspace(){
super("untitled"+ ++count,true,true,true,true);
this.getContentPane().add(new JScrollPane(new JTextArea("")),"Center");
this.reshape(0,0,default_new_width,default_new_height);
this.setVisible(true);

}

171 :170:04/10/21 18:39:48
訂正です

二行目
× setSize(int,int)
○ reshape(int,int,int,int)

172 :デフォルトの名無しさん:04/10/21 19:03:33
>>170
setSize()でザイズ設定するのでなく、
setPreferredSize()にしてみてください。


173 :159:04/10/21 19:17:31
>>158
その場合Swingによるイベントの処理はこうなる
1.ユーザがショートカットキーを押す
2.Actionが呼ばれて処理を始める
3.ユーザがまたショートカットキーを押す
4.2の処理がおわる
5.3の入力に対するActionの処理が始まる

なので2でsetEnabled(false)しても
4のところでsetEnabled(true)すれば
5の処理はそのまま行われる、と。

長い処理は別スレッドでやるべし。

174 :デフォルトの名無しさん:04/10/21 19:51:22
PATHを設定したのでスタートメニューからコマンドプロンプトを開き、javacを実行すれば可能なのですが
ランチャーからコマンドプロンプトを開いた場合、javacを実行してもPATHを設定していないのと同じ、
「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
が表示されます。
ランチャー側にコマンドプロンプトのexeファイルを直接入れても、スタートメニューのものと同じショートカットを入れてもダメでした。
直接Javaのことでは無いのでスレ違いかもしれませんが、よろしければ理由と解決法を教えてください。

175 :デフォルトの名無しさん:04/10/21 19:56:15
>>173
それが4で2の処理が反映する前に次の処理が起きてる気がするんですけど
setEnabled(false)していればそれはないのでしょうか?

例えばCtrl+A一回押すごとにでボタンの色が赤→青→黄→赤(以下ループ)になるはずなのに
Ctrl+Aを長押しすると押してる間は色が変わらず、離した時に幾度も処理された結果が反映されると言う感じなのですが
これはスリープ(?)みたいなのをやればいいんでしょうか?
ボタンの色を変えた後にsetEnabled(true)をやればうまくいくかと思ったんですが変わりませんでした

176 :デフォルトの名無しさん:04/10/21 20:22:00
やっぱ955ってプログラミング初心者だったか
こんなのが「それはASMをやってた頃の名残ですね」なんて偉そうに言うんじゃ
他のASM経験者が可哀想すぎる

177 :デフォルトの名無しさん:04/10/21 20:37:02
>174
いずれにせよPATHの設定方法に問題があると思われ。
2k/XPなら[システム]-[詳細設定]-[環境変数]で設定。
9x/MeならC:\autoexec.batに記述。
(Meは何か設定用のユーティリティがあるんだよな……覚えてないが)

178 :174:04/10/21 20:49:16
>>174
環境変数のトコで名前がPATH、値もbinフォルダに合わせました。
だからまぁ、普通にコマンドプロンプトを開けばできるのです。
ただランチャーから開くと…。

179 :174:04/10/21 20:49:38
×>>174
>>177

180 :デフォルトの名無しさん:04/10/21 21:09:30
>178
そーなるとランチャのCreateProcessの使い方がおかしいのかも。
ランチャの乗り換えをお勧めする。

181 :170:04/10/21 22:06:31
>>172
reshape()からsetPreferredSize()に替えて実行してみましたが、
やはりサイズの変更は反映されませんでした。
あと、手動で内部フレームのサイズを変更しようとしたのですが、それも反映されず、
サイズを変更しようとすると強制的に最大化されてしまいます。

182 :144:04/10/21 22:45:40
抽象クラスやっと意味わかりました。(と思います)

抽象クラスX内に抽象メソッドget()を定義しておいて
AとBっていう2つの具象クラスにXクラスを継承させたときに、
A、Bのそれぞれの具象クラス内での実装方法によらず
A、Bのオブジェクトに対して
Xクラスのメソッド経由で使えるっていう利点があるんですよね?

書いててに日本語わけわからなくなったw
ひとまず答えてくれた人ありがとう。

183 :デフォルトの名無しさん:04/10/21 23:03:44
>>182
それはabstractメソッドの説明だと思われ。

184 :デフォルトの名無しさん:04/10/21 23:04:05
>>182
いい感じだ

185 :デフォルトの名無しさん:04/10/21 23:08:20
>>182
抽象クラスっつーよりインターフェイスになってる罠

186 :174:04/10/22 00:27:41
>>180
見た目だけで使ってるSKランチャーだから普通にそれありそうです。
となるとどうしようもないですね。ありがとうございました。

187 :デフォルトの名無しさん:04/10/22 00:35:51
コンソールで[Enter]を押さずに、キーをタイプするごとに処理させたいんだけど
System.inでは対応できないようですが、どうしたらいいですか?

188 :デフォルトの名無しさん:04/10/22 00:41:53
>>186
そのランチャーの作者に
スタートメニューから起動したときと環境変数が違うんですけど、ってバグレポートだせば?

乗り換えるのは良いとして。


189 :デフォルトの名無しさん:04/10/22 01:10:11
>>182
まあそんな感じでいいと思う。
インタフェースと抽象クラスの使い分けはそのうち何となくわかってくるよ。

190 :デフォルトの名無しさん:04/10/22 01:11:07
>>187
自分でテキストエリア作る

191 :デフォルトの名無しさん:04/10/22 01:32:54
>>187
標準APIじゃ無理。
JNI で curses だったかをラップしてるライブラリとか使えばできるかも。

192 :デフォルトの名無しさん:04/10/22 01:37:21
基本的すぎることかもしれませんが、
lengthとString#length()の違いはなんですか。
動作の違いなどを教えてください。

193 :デフォルトの名無しさん:04/10/22 01:40:28
> lengthとString#length()の違いはなんですか。
length って何の length だ?

194 :デフォルトの名無しさん:04/10/22 01:45:53
lengthは配列のフィールドだと思えばいい。
length()はメソッド。

195 :デフォルトの名無しさん:04/10/22 01:54:24
>>194
配列の length はフィールドです。

http://www.y-adagio.com/public/standards/tr_javalang2/arrays.doc.html#64347
> 配列構成要素の数を含む,public finalなフィールドlength。(lengthは,正又は0であってもよい。)

196 :192:04/10/22 01:55:04
>>193
>>194
レスありがとうございます。
String#lengthは文字列内の文字数をカウント、
lengthは配列のフィールド数をカウントする
というとこでOKですか?

197 :192:04/10/22 01:57:15
>>196
ありがとうございました。

198 :デフォルトの名無しさん:04/10/22 01:59:38
>>196
> String#lengthは文字列内の文字数をカウント、
合成文字やサロゲートペアがあるので String#length() は必ずしも文字数と一致しない。
char の数とは一致するけど。

> lengthは配列のフィールド数をカウントする
配列の要素数ね。

199 :144:04/10/22 03:05:06
>>183-185>>189
ども。
ちょっとわかってきたってところです。
>>189さんの言うようになることを祈って勉強続けます。

200 :187:04/10/22 07:58:06
>>190-191
標準APIにはないですか。了解


201 :デフォルトの名無しさん:04/10/22 13:00:48
意味合いとしては
・インタフェース→それを実装したクラスが特定のメソッドを持つことを保証する
・抽象クラス→メソッドの具体的な内容は子クラスに任せる
てな感じか。

202 :デフォルトの名無しさん:04/10/22 13:05:51
JavaでのO/Rマッピングを勉強したいと思ってるのですが、
EJBとかHibernate?とかあるみたいなんですが、
何がよさそうですか?

203 :デフォルトの名無しさん:04/10/22 16:56:15
JavaじゃなくてJavascriptのほうで質問があります。
正規表現でRegExpを使用しているのですが
\が見つけるにはどのように行えばよいでしょうか?

var a = new RegExp("[#-&]|[\]");
↑だと\入ってた場合でも見つけれなくて・・・

すいません、誰か教えてください・・・

204 :デフォルトの名無しさん:04/10/22 16:57:58
すいません1の下読んでませんでした・・・
吊ってきます

205 :デフォルトの名無しさん:04/10/22 18:53:15
パーサのXercesを利用するためのjavaプログラムを作成しようと
しているのですが、プログラム内で、次の指定をすると、
import org.apache.xerces.parsers.DOMParser
「org.apache.xerces.parsers.DOMParseを解決できません」という
メッセージが出ます。

バージョンは、Xerces.2.5.0を使っております。
Xerces-J-bin.2.5.0を落として、下記のファイルを
クラスパスに追加したのですが他に必要な設定はありますでしょうか?
・xml-apis.jar
・xercesSamples.jar
・xercesImpl.jar

eclipseを使っているのですが、eclipseでライブラリの追加が
必要だと思っているのですが。。


206 :デフォルトの名無しさん:04/10/22 19:02:50
classAが大きくなりすぎるのでclassBを呼んで処理してもらおうとしたのですが
classBでclassAの変数をうまく使えるにはどうすればいいですか?

staticでない変数をstaticコンテキストから参照することはできません。と
エラーがでるのです
static変数にはしたくなく、仮引数にするにもすこし多い量なんです。
newも値が変わるので駄目でした。

207 :デフォルトの名無しさん:04/10/22 19:17:28
>>205
eclipse の使い方は Eclipse スレで聞いてくれ。

【Java/C/PHP/他】統合開発環境Eclipse M14
http://pc5.2ch.net/test/read.cgi/tech/1093787515/l50

208 :デフォルトの名無しさん:04/10/22 19:31:36
>>206
とりあえず getter 定義して使え、でいいのかな?

209 :デフォルトの名無しさん:04/10/22 19:36:30
>>206
無茶言わず引数にしろ。
素で引き渡すのが嫌ならそれ用のBeanでも作れ。

210 :デフォルトの名無しさん:04/10/22 20:15:10
なぜにBean・・・w
普通に構造体みたいにクラスでも作ればいいと思うのだが・・・

211 :デフォルトの名無しさん:04/10/22 20:41:50
>>210
釣れますか?

212 :デフォルトの名無しさん:04/10/22 20:48:34
>>206
1000行くらいあるなら200行くらいに分けて階層構造にでもしろ

213 :デフォルトの名無しさん:04/10/22 20:54:05
どんなクラスなのか見てみたい。

214 :デフォルトの名無しさん:04/10/22 21:02:00
>>206
・多かろうが何だろうが引数にして全部渡す
・Mapか何かにでも突っ込む
・専用のBean作る
・アクセサメソッド作って自分自身を引数に渡す
・氏ね

215 :デフォルトの名無しさん:04/10/22 21:16:27
>>206
>>214の最後のコメントは気にするな。強く生きろ。

216 :デフォルトの名無しさん:04/10/22 21:19:14
強く氏ね

217 :206:04/10/22 21:22:17
>>213
classAから新しいウィンドウとしてclassBを作って
classBで起こった結果をclassAに反映させたいのです。
引数にして代入しなおせばいいんですが、何かいい方法ないかと質問しました。

Beanっての分からないので調べてきます・・・

218 :デフォルトの名無しさん:04/10/22 21:22:30
強く生きれば強く氏ねる

219 :デフォルトの名無しさん:04/10/22 21:25:09
時計の針を、1秒ごとにチックタックではなくなめらかに動かしたい場合、
どうすればいいのでしょうか?
今は針描画専用の内部クラス(Threadを継承)を定義し、
public void run(){
 while(ture){ 針描画処理 }
}
というふうにrun()を実装して
そのインスタンスのstart()を呼んでいるのですが、
CPU使用率が常に100%になってしまいます。
動作そのものは期待どうりなんですが・・・。

220 :デフォルトの名無しさん:04/10/22 21:27:32
>>206
お前全然わかってないじゃんかよ。
ちゃんと勉強してないからそうなる。
多分人のソースをコピペだけして来たんだろう。
newも値が変わるので駄目でした。だって。
勉強して一週間目の奴が言うような内容だな。
本とか読んでもインスタンスの話なんか最初の方に出てくるだろうが。

221 :デフォルトの名無しさん:04/10/22 21:28:20
>>219
今は針描画専用の内部クラス(Threadを継承)を定義し、
public void run(){
 while(ture){ 針描画処理 }
}
というふうにrun()を実装して
そのインスタンスのstart()を呼べばいいと思うよ。

222 :デフォルトの名無しさん:04/10/22 21:31:43
>>217
>>206と書いてることが違うじゃないか


223 :デフォルトの名無しさん:04/10/22 21:38:45
Timerでも使えば

224 :デフォルトの名無しさん:04/10/22 21:41:40
>>219
1/30秒ずつくらいの処理にすればいいんじゃない?

225 :デフォルトの名無しさん:04/10/22 21:58:18
>>219
たぶん秒でとってるでしょ
ミリ秒も取ってきて適当に処理

それとsleepもいれて


226 :デフォルトの名無しさん:04/10/22 22:07:09
Timerクラスは使ったことありませんでした。
Timerクラスやsleepメソッドで針描画処理の頻度を落とせる、ということですね。
試してみます。ありがとうございました

227 :デフォルトの名無しさん:04/10/22 22:19:48
NTPサーバと通信して時刻合わせをするようなものを書きたいと思ってるのですが、
Javaにシステムの時刻をセットするようなメソッドorライブラリみたいなのは無いでしょうか。
SystemクラスやJakarta Commonsあたりを探ったり、ググってみたりしてもいまいち見つからず…。

228 :デフォルトの名無しさん:04/10/22 22:31:13
Javaでシステム時刻設定なんてできるのかな?

Windowsだと
Runtime.getRuntime().exec("time 22:30:59.99");
とかしてtimeコマンドを実行するとかすればできるかも


229 :227:04/10/22 22:39:33
今作ってるのが、Windowsでの動作前提プログラム(JNI使ってたりするんで)なので、>>228さんの方法が簡単っちゃー簡単ですが
一応、勉強も兼ねてPure Javaでなんとかならないかなーと思っていました。

とりあえず、今のところは>>228さんので実装してみます。
ありがとうございました。

230 :デフォルトの名無しさん:04/10/22 23:44:34
すいません、JTableのコンポーネントのサイズを大きくしたいのですが
JTable tb = new JTable(5,5);
tb.setSize(500,500);
tb.repaint();
などやっても変わりません、なぜでしょうか?
また、表示する文字列によって列幅を変えたいのですが、情報が見つかりません、
レンダーをいじくるらしいのですが、さっぱりです。
どなたか教えてください。ちなみに、GUIはほとんどいじった事ありません。
よろしくおねがいします。

231 :デフォルトの名無しさん:04/10/22 23:49:24
>>228
それいいな。

232 :デフォルトの名無しさん:04/10/23 00:18:40
>>230
Swingというかレイアウトマネージャ勉強したら?

233 :デフォルトの名無しさん:04/10/23 00:35:43
>>230
志村!レイアウト!レイアウト!

234 :デフォルトの名無しさん:04/10/23 01:09:10
Javaで、一番下に出る棒のようなスペース、俗にいうステイタスバーは実現
できるんでしょうか?そういうコンポーネントはないようなのですが。
どなたか、よろしくです。

235 :デフォルトの名無しさん:04/10/23 01:17:47
>>230
> また、表示する文字列によって列幅を変えたいのですが、情報が見つかりません、
TableColumn column = table.getColumnModel().getColumn(columnIndex);
とかして
column.setPreferredWidth(好きな幅);
とかでサイズ指定すれば出来るかも。

236 :デフォルトの名無しさん:04/10/23 01:26:50
>>234
うむ。V2Cとソフトでは実現しとる。
「V2C」でググッて起動してみろ。びびるぞ。
どうやってやるかは知らん。
>>230
setPreferredSizeあたりをいじれば大概なんでもできる。

237 :デフォルトの名無しさん:04/10/23 01:30:19
>>234
ステータスバーは JPanel とか、
必要なら好きな javax.swing.border.Border の実装クラスとかを使って
比較的簡単に実現できるが、
Swing には JStatusBar みたいなコンポーネントは無かったような。

238 :デフォルトの名無しさん:04/10/23 01:56:12
>>236
漏れ、このコメントV2Cで見てまつ。
2chビューアの中で一番しっくり来たのがコレ。
GUIの勉強にもなる。デコンパイルしてソース見ろとまでは言わないが、
Swingの表現力とパフォーマンスについて認識を改めた一品。
>>234
BorderLayoutのSouthにステータスバーにしたいコンポーネントをはっつければOKでしょ。

239 :デフォルトの名無しさん:04/10/23 02:09:04
デコンパイルってどうやるの?

240 :デフォルトの名無しさん:04/10/23 02:22:38
java decompiler とかでぐぐるとデコンパイラが見つかると思うから、それ使えば?

241 :デフォルトの名無しさん:04/10/23 02:40:53
>>239
jadが有名、GUIのフロントエンドもいくつかある
Eclipseを使ってるのならjadを使うプラグインがある

これだけ情報あれば検索で見つけられるはずからがんばれ

242 :デフォルトの名無しさん:04/10/23 02:43:56
 なんか、ちょっと前の本とかSwingでマックのルックアンドフィールとか使ってたりする
んだけど、今、はそのクラス自体ないようなのです。
 J2SDK1.4.0とかでもできるの?
 

243 :デフォルトの名無しさん:04/10/23 02:44:37
>>236
>>237
>>238
どもです。早速やってみます

244 :デフォルトの名無しさん:04/10/23 02:58:27
JavaScriptでWebページ内のFormの値を取得して、それをアプレット
に渡して、アプレットからファイル出力させるにはどうすればいいの?
いろいろ試したけど、JavaScriptかアプレットどちらかのセキュリティ権限に
引っかかって、うまくいきませんでした。無理って事?

245 :デフォルトの名無しさん:04/10/23 03:04:25
クライアント側にファイル出力するのは基本的に無理。

246 :デフォルトの名無しさん:04/10/23 03:08:06
>>240-241
jadプラグインでぐぐってきます。ども。

247 :デフォルトの名無しさん:04/10/23 03:19:12
JFrameクラスで
setResizableを下方向のみ許可することはできますか?

248 :デフォルトの名無しさん:04/10/23 03:39:22
http://ex7.2ch.net/test/read.cgi/base/1098460250/97

249 :デフォルトの名無しさん:04/10/23 04:40:00
setTextメソッドで("<html>a<br>b<br>c") と指定した場合

JTextAreaクラスなら文字列がそのまま表示されるけど
JLabelクラスならhtmlで解釈されるから改行されますよね

他にJavaでhtmlを使ってテーブルを表示する方法ってありませんか?

250 :デフォルトの名無しさん:04/10/23 06:15:38
>>249
PrintWriter

251 :デフォルトの名無しさん:04/10/23 09:38:06
>>249
JEditPaneとJTextPane

252 :r ◆r/etvCKR2A :04/10/23 09:58:09
StringTokenizerとか、String#splitとか
文字列を分割するための道具が、Javaには幾つか準備されているようですが、
エスケープが扱える物って、なんかあるでしょうか。

たとえば
1. 文字列を空白文字で区切る
2. 空白文字が連続した時は、一個の空白であると見なす
3. 大文字は小文字に変換する
4. 連続した空白、大文字を表現したい時は、"で囲む
5. "自体を表現する時は\でエスケープする
6. \自体を表現する時は\でエスケープする

などというルールを実装するには、普通どうやるのだろう。

とりあえず、一文字ずつ、状態遷移しながらパースするコードを書いてみますた。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1076074304_21/Parse.java
ルールが変わるたびに、マルコフ的な状態遷移を考えて、
新しくたくさんのコードを書いて...ってのが激めんどくさいので、
どうにか簡単に表現できると嬉しいんだが。
みなさんどうやってるのです?

253 :デフォルトの名無しさん:04/10/23 10:08:08
>>252
>一文字ずつ、状態遷移しながらパースするコードを書いてみますた。
その条件だとそれしかないと思われ
つかどうしてもそれがめんどいならJavaCC使うのが楽と思われ
でもよく考えたらJavaCCの資料探して勉強するほうがめんどくさいと思われ

254 :デフォルトの名無しさん:04/10/23 10:30:35
まずエスケープ文字でトークン化して、調整すればいいと思うけど?

new StringTokenizer(s, " ¥¥¥n¥t¥r", true);

255 :デフォルトの名無しさん:04/10/23 10:43:00
Javaプログラミング難しいよ〜
どうすれば上達しますか?
2週間後テストなんですけどやばいかも・・・

256 :デフォルトの名無しさん:04/10/23 10:45:42
実際にアプリケーション作ってみろ
そうすればどこがわからないかがはっきりする

257 :デフォルトの名無しさん:04/10/23 10:47:05
>>255
1.人に聞く
2.本を読む
3.自分でやってみる

これだけやれば完璧!


258 :デフォルトの名無しさん:04/10/23 10:52:59
>>256-257
どうもありがとうございます。
質問なんですが、さっき本を読んでて思ったのですが、
論理輪である縦線2つとか特殊な記号はどうやって出すんですか?
キーボード見てもありません・・・

259 :デフォルトの名無しさん:04/10/23 10:58:55
これをコピペして使え→||


260 :デフォルトの名無しさん:04/10/23 10:59:42
sqrtって「スクルト」って呼ぶんですか?

261 :デフォルトの名無しさん:04/10/23 11:05:44
>>259
ありがとうございます。
できれば表示の仕方を教えてもらいたいのですが・・・

262 :デフォルトの名無しさん:04/10/23 11:09:24
System.out.println("||");


263 :デフォルトの名無しさん:04/10/23 11:09:49
>>261
Javaの質問じゃないし。PC初心者板とか行って聞いた方が早そう。

264 :デフォルトの名無しさん:04/10/23 11:09:54
>>261
キーボードの種類は?

265 :デフォルトの名無しさん:04/10/23 11:12:00
>>261
・右クリックして「貼り付け」を選択

または

・Ctrl + Insert


266 :デフォルトの名無しさん:04/10/23 11:12:28
>>258
何年前のキーボードを使ってるのですか?
プロの人の中には、作家が同じ万年筆をいつまでも
愛用するように、手に馴染んだキーボードをいつまでも変えないで
変換コネクタを用いて未だに20年前のパソコンのキーボードを
使ってる人がいるみたいですが、アナタもその部類ですか?


267 :デフォルトの名無しさん:04/10/23 11:13:54
>>264
普通のキーボードです、とか
PCショップで何千円で買ったキーボードです、とか言われそうな予感。

268 :デフォルトの名無しさん:04/10/23 11:18:14
>>264
静電容量方式です・・・


269 :デフォルトの名無しさん:04/10/23 11:37:55
>>262-267
いろいろすいません。
僕が聞きたかったのはキーボードのどれを押せば
縦線が表示できるのか、です。
キーボードは267さんの言うように普通のです・・・


270 :デフォルトの名無しさん:04/10/23 11:40:29
>>269
キーボードの右上の方、BackSpaceキーの左にある
 \ と書かれたキーを、Shiftキーと一緒に押すと | がでます。
それを2回押すと論理和の記号 || が出ます。


271 :261:04/10/23 11:45:22
>>264
電脳直結式のキーボードです。
私は電脳手術(攻性防壁付き)を行い、脳を電脳化してますので
脳波で直接入力する事が可能なのです。
キーボードの機種は、東レ0420式です。

272 :261:04/10/23 11:47:58
音声認識をつかっています・・・

273 :デフォルトの名無しさん:04/10/23 11:55:28
>>270
どうもありがとうございます!
それをやるとバックスペースの左のボタンの左上が表示されるんですよね?
そこを見ると縦線の真ん中が切れてますよ。

>>271-272
なりすましはやめてください・・・

274 :デフォルトの名無しさん:04/10/23 12:00:09
>>273
なりすましはやめてください!

>>270
やってみたら||となってしまって
コンパイルが通りません・・・

275 :デフォルトの名無しさん:04/10/23 12:01:01
>>273
>そこを見ると縦線の真ん中が切れてますよ。

ただの印刷ミスだ。気にするな。


276 :デフォルトの名無しさん:04/10/23 12:01:58
わけがわかんなくなってきたなw

277 :デフォルトの名無しさん:04/10/23 12:02:56
>>273
> そこを見ると縦線の真ん中が切れてますよ。
DOS時代は 0 に斜め線が入ってたり、| が真ん中で切れてたりしたんだよ。

278 : ◆9Ce54OonTI :04/10/23 12:03:21
>>273-274は偽物です!
証拠にトリップをつけますので、しつれいします。

>>270
>>274とおなじ状態になってしまいます・・・

279 :デフォルトの名無しさん:04/10/23 12:05:03
本物の261です。
しばらく質問するのは控えようと思います・・・
いろいろ教えてくれた方々、ありがとうございました!!

280 :デフォルトの名無しさん:04/10/23 12:05:04


    Java関係ねーよ



281 :261:04/10/23 12:09:35
記念カキコ♥

282 :デフォルトの名無しさん:04/10/23 12:09:53
>>279
プログラミングを控えた方が早いな。

283 :デフォルトの名無しさん:04/10/23 12:13:31
人が真面目に質問してるのに、茶化すような回答するのは
どうかと思います。
今回の件で、2ちゃんねるのキモオタプログラマーどもの
実態が分かりました。
やっぱり正規のプログラミングサイトとメーリングサイトに
行きます。ありがとうございました。さよなら。

284 :デフォルトの名無しさん:04/10/23 12:15:06
本物の糞261が常時ageていることに
騙りも気づいたか

285 :デフォルトの名無しさん:04/10/23 12:17:10
>>276
下げてないヤツが(ry

286 :デフォルトの名無しさん:04/10/23 12:20:36
261ですけど、友達もわからないと言っていたので
わからないのが普通だと思います・・・

287 :デフォルトの名無しさん:04/10/23 12:21:03
かぶりage

288 :デフォルトの名無しさん:04/10/23 12:24:38
261ですけど、かぶりageってなんですか?

289 :デフォルトの名無しさん:04/10/23 12:29:55
261です。
実は釣りでした。

290 :r ◆r/etvCKR2A :04/10/23 12:36:57
>>253
ん、JavaCCでググって観たが、確かに超めんどくさそうだ。

>>254
エスケープ文字でトークン化か...
一文字ずつやるのとほぼ同じ状態遷移が必要になるな....

まあいいや。一文字ずつやろうっと。
ありがとね。

291 :デフォルトの名無しさん:04/10/23 12:56:21
友達が分からんと言ってたから分からんのが普通ってのがすごい。
||だろ? ||なんだろ? ||は全然違う...

292 :デフォルトの名無しさん:04/10/23 13:00:17
>>291
でも、押したら||が出たんですよ・・・

293 :デフォルトの名無しさん:04/10/23 13:01:08
ネタじゃなかったのか
どこかで全く同じ質問と回答をみたきがする・・・

294 :デフォルトの名無しさん:04/10/23 13:05:28
半角。

295 :デフォルトの名無しさん:04/10/23 13:07:10
>>294
すいません、板違いなのは承知していますが、
半角板は違うんじゃ・・・

296 :デフォルトの名無しさん:04/10/23 13:28:10
>>252 >>290
java.util.regex.Patternでできるよ。


297 :デフォルトの名無しさん:04/10/23 13:30:46
>>295
とりあえずageるのをやめてからにしてくれ。

298 :デフォルトの名無しさん:04/10/23 13:47:19
>260
脳内では好きなように読んでくれればいい
「スクルド」と無理矢理読んでハァハァするのも自由だ
が、人と話をするときは「すくえあるーと」と言っとけ。

299 :r ◆r/etvCKR2A :04/10/23 15:22:34
>>296
パターンによる検索が出来るだけかと思っていたが、そうではないのかな。
""で囲まれてる部分とそうでない部分をわけたりするのって
結局、一文字づつの時とほぼ同じ状態遷移が必要にならないか?



300 :296:04/10/23 15:50:25
>>299
>パターンによる検索が出来るだけかと思っていたが、そうではないのかな。
そう

>結局、一文字づつの時とほぼ同じ状態遷移が必要にならないか?
その処理を自分で書くか、ライブラリに任せるかの違い。

//4. 連続した空白、大文字を表現したい場合は、"で囲む。(参考)
Pattern tokenPattern4 = Pattern.compile("((\"[^\"]*\")|(\\S+))");

//5. 6. ",\を表現するときは\でエスケープする。→(簡単のために読み替え)→ 7. \の次の文字はただの文字とみなす。
Pattern tokenPattern7 = Pattern.compile("\\G(\\s*)((\"((\\\\.)|([^\"]))*\")|([^\\s\"]+))(($)|(\\s+))");

String target = "a bc CC えお \" pp k k\" \" \\\" uK あいう \\\\ \\山 \" xy";
Matcher m = tokenPattern7.matcher(target);
while (m.find()) {
System.out.println(m.group(2));
}


301 :デフォルトの名無しさん:04/10/23 15:59:53
ヽ(`Д´)ノウワァァン
いま「AWT/Swing コンポーネント階層図」っての作ってるんだけどさ、abstract でも final でもない
普通のクラスって何て呼べばいいんだよ? しっくり来る名前が見つからないよー。

これじゃ凡例が書けない。今のところ、
 □ … インスタンスを生成できるクラス
 □ … 抽象クラス
こんな風にしてるだが。うーん。

302 :デフォルトの名無しさん:04/10/23 16:02:22
「普通のクラス」

303 :デフォルトの名無しさん:04/10/23 16:07:53
ふう....FAか。

304 :300:04/10/23 16:12:34
しかし正規表現は慣れるとパーサーを書くスキルが無くなってしまうという諸刃の剣。

俺がそうだ_| ̄|○


305 :r ◆r/etvCKR2A :04/10/23 16:21:31
>>300,304
正規表現のorって、こんな風に使うんだな。
つか、tokenPattern7の方のが全然わかんねー!
ガンガって理解します。
つか、ありがと。

そっか、こんな風に使えるんだな。
すこしPerlで正規表現を触った事はあるんだが、
正直、ここまで出来るもんだとは思わなかった。

まあ、今のご時世正規表現の使えない環境なんて珍しいんだし、
パーサー書かなくっても困らないんじゃないの?ほとんど。
んじゃまた

306 :デフォルトの名無しさん:04/10/23 16:32:03
javaの開発手法はウォーターフールですかスパイラルですか?

307 :デフォルトの名無しさん:04/10/23 16:35:44
いえ、プロトタイピングモデルかRADの方が一般的です。

308 :デフォルトの名無しさん:04/10/23 16:43:55
>>306
プロトタイプとウォーターフォールは同列に並べられない気がするが

309 :デフォルトの名無しさん:04/10/23 16:55:16
Oracle10gApServerの質問ってどこですればいいですか?

310 :デフォルトの名無しさん:04/10/23 17:15:51
>>309
サーバサイドJAVA質問スレッドにいってください。

311 :デフォルトの名無しさん:04/10/23 17:18:38
一応質問ないようです。
10gASでFrameをshowする個所があるのですが、java.awt.HeadlessExceptionがThrowされます。

Frameを使用しているのは、Imageを生成して印刷を行いたいからです。

javaでImageを生成するためにはFrameをshowしてImageを実際に画面に出さないと
だめだとなんとなく思っています。

Headlessな環境でImageを生成して印刷する方法を教えてください

312 :デフォルトの名無しさん:04/10/23 17:33:30
>>311
Image作るのにFrameが必要なんてことはない
BufferedImage勉強してみろ

313 :デフォルトの名無しさん:04/10/23 17:40:00
>310
サーバサイドJAVA質問スレッド
見つかりません??

314 :デフォルトの名無しさん:04/10/23 17:50:22
カタカナ→ひらがな変換可能なフリーなライブラリってありますか?

315 :デフォルトの名無しさん:04/10/23 18:01:14
1. IBM ICU4J
2. いがぴょん いがLIB


316 :デフォルトの名無しさん:04/10/23 18:05:55
じゅん for JAVA って結局なんなんですか!!
検索でいつも引っかかるけど意味分かりません!!
うがー。

317 :デフォルトの名無しさん:04/10/23 18:07:15
>>311
おそらくjava.awt.ComponentクラスのcreateImage()からしかイメージが
作成できないとお考えのようですが、
javax.swint.ImageIOクラスで、ファイルやネットからのダウンロード
ソースでImageは作成できます。
それでImageを作ればFramwをshowする必要はありません。


318 :デフォルトの名無しさん:04/10/23 18:19:54
>312
>317
ありがとうございました。


ネットからダウンロードしたイメージとローカルHDDにあるイメージを使用しています。
このイメージが完全にロードされてから描画したいので、MediaTrackerを使っていますが、
MediaTrackerの引数にComponetが必要です。

さらに、そのイメージを加工する必要があります。

加工の内容は具体的には、
1.4枚のイメージを並べる。
□□
□□
2.中心を切り取ってあたらしいイメージを作成する

です。
この処理をオフスクリーンで出来ればいいのですが・・・

多分どちらも出来るのでしょうね。
勉強してみます。



319 :デフォルトの名無しさん:04/10/23 18:28:19
>>318
IoamgeIOほんとうに目を通したの?
ぜんぜんいってることおかしいよ

320 :デフォルトの名無しさん:04/10/23 18:34:03
> このイメージが完全にロードされてから描画したいので、MediaTrackerを使っていますが、
javax.imageio.ImageIO#read(URL) とかを使えば読み込み完了したイメージが得られたような?

321 :デフォルトの名無しさん:04/10/23 18:39:20
>319
どうもすいません・・・

ImageIOのreadで BufferedImageを取得
BufferedImageのcreateGraphics() でGraphics2Dを取得
Graphics2Dを使ってイメージの加工
でしょうか?

>320
ありがとうございます。

322 :デフォルトの名無しさん:04/10/23 19:21:44
インターネットエクスプローラの,ツールのsunのjavaコンソールを
おしても,コンソールが表示されません。

検索して調べてコントロールパネルのjava-pluginやインターネットオプション
の設定など,ほとんど対処方法はやりつくしているはずなのになぜかjavaコンソールが表示されません。

どなたか,原因がわかる方教えて頂けないでしょうか。

323 :244:04/10/23 20:07:02
>>244
できました、みなさんのアドバイスが役に立ちました。
ありがとうございました。
どうやったかは、あえて教えません。

324 :デフォルトの名無しさん:04/10/23 21:03:42
public class Inttest {
  public static void main(String[] args) {
    String s="あいうえお";
    s=s.replaceAll(".",".");
    System.out.println(s);
  }
}
このようにすると、実行結果が
.....
となってしまいます
なぜですか

325 :デフォルトの名無しさん:04/10/23 21:38:24
>324
APIドキュメントをもう一度よく見てみよう。
それから「正規表現」について勉強しなされ。

326 :デフォルトの名無しさん:04/10/23 21:45:54
>>324
replaceAll()は、その第一引数を正規表現形式で書かれたテキストだ
と強制的に見なしてしまう。
正規表現での . は、任意の文字を表わすとあり、
つまり上の書き方だと、ほぼ全ての文字を . に変換するとの事になる。


327 :324:04/10/23 22:08:48
>>324-325
s=s.replaceAll(".",".");
->s=s.replaceAll("\\.",".");
としてうまくいきました
ありがとうございました

328 :デフォルトの名無しさん:04/10/24 02:14:27
Java から JDBC で DB に接続するのに
DB を UTF-8 で作っておくほうが、文字化け等のトラブル少ないでしょうか?
それとも DB のマシンのネイティブのほうが問題少ないでしょうか?

329 :デフォルトの名無しさん:04/10/24 02:20:01
DBをUTF-8にしておけば、Java-DB間で文字化けが発生することはない。よってトラブルが少ないと言える。
※仮に文字化けが起こってもJava側で対処できる。
プレゼンテーション層もUTF-8にするともっとトラブルは少なくなるはず。

ただしUnicodeですべての問題が解決されるわけではない。


330 :デフォルトの名無しさん:04/10/24 12:44:59
ここに書くのは適切でないかもしれませんが、
JAVAでゲームを作って見たのですが、
当方、Windows持ってないのでこれがWindowsで動くのかわかりません。
もし、Windowsを持っている金持ちの方で暇な方がいれば
動くかどうかやってみてくれませんか?

http://fukuoka.cool.ne.jp/dream_theater/ciao/numberplace.html

331 :デフォルトの名無しさん:04/10/24 13:40:47
文字化けなんてみるの久しぶり

332 :デフォルトの名無しさん:04/10/24 14:09:30
class a {
public static void main(String args[]) {
boolean b = Boolean.getBoolean("true");
System.out.println(b);
}
}
の結果がfalseになるのはなぜでしょうか?
教えてください

333 : ◆7CWqH7Oesg :04/10/24 14:16:07
現場でJavaってる人に聞きたいが、率直なところJavaの需要多い?

今やってないからよくわからんが、Javaはなかなか浸透してないようで・・

334 :デフォルトの名無しさん:04/10/24 14:16:09
>>332
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Boolean.html#getBoolean(java.lang.String)
> 引数によって指定されたシステムプロパティが存在し、
> それが文字列 "true" に等しい場合にだけ、true を返します。

java -Dtrue=true a とかやれば true と表示されると思われ。

335 :デフォルトの名無しさん:04/10/24 14:20:38
>>333
うちに来る仕事の大半がJava。
まぁ、もともとそっちよりの会社だからだと思うけど。

336 :デフォルトの名無しさん:04/10/24 14:26:40
>>334
できました。ありがとうございます。
しかし根本的には理解してないですけど。

337 :デフォルトの名無しさん:04/10/24 14:52:17
>>336
できましたって…… orz
根本的に理解してないと自覚してるならリンク先ちゃんと読めよ。

boolean b = Boolean.getBoolean("true");

boolean b;
try{
 b = new Boolean(System.getProperty("true")).booleanValue();
}catch(Exception e){
 b = false;
}
とほぼ同等。

338 :デフォルトの名無しさん:04/10/24 15:14:10
配列の最後の要素を求める時何で
A[A.length-1]のように配列の要素数から1を引くのか教えてください

339 :デフォルトの名無しさん:04/10/24 15:24:35
>>338
配列 A の先頭から 1個目の要素には A[0] でアクセスできる。
配列 A の先頭から 2個目の要素には A[1] でアクセスできる。

一般化すると、配列 A の先頭から n個目の要素には A[n-1] でアクセスできる。

よって、配列 A の先頭から A.length個目の要素には A[A.length-1] でアクセスできる。

340 :デフォルトの名無しさん:04/10/24 15:30:03
>>337
まったくです。
しかし、現在独習javaを片手にやっている初心者なんでシステムプロパティの
意味もわかりません。どういう意味でしょう?

341 :デフォルトの名無しさん:04/10/24 15:35:03
>>340
システムプロパティは環境変数とかWindowsのレジストリとかみたいなもの。

っつーか、面倒くさがらずに自分で調べろ。
検索するなり、Sun のドキュメントみるなり手段はいくつもある。

342 :デフォルトの名無しさん:04/10/24 15:36:12
>>341
Windows のレジストリは違うような……

343 :デフォルトの名無しさん:04/10/24 15:44:22
>>332
ところで、

boolean b = Boolean.valueOf("true");

と間違えているわけではないよね。


344 :332:04/10/24 15:56:34
Boolean.valueOfはBoolean型
Boolean.getGooleanはboolean型を返すんですよね。
一応勘違いはしてないんですが。


345 :デフォルトの名無しさん:04/10/24 15:57:08
>>343
> boolean b = Boolean.valueOf("true");
コンパイルエラーです。
boolean b = Boolean.valueOf("true").booleanValue();
とかしないとだめね。

たぶん、>>332
boolean b;
if("true".equals(string)) b = true;
else if("false".equals(string)) b = false;
else throw new IllegalArgumentException();
みたいな事がやりたいのではないかと推測。

346 :332:04/10/24 16:17:54
boolean b = Boolean.valueOf("true").booleanValue();
はできたんですが
boolean b = Boolean.getBoolean("true");
ができないのが気になっただけなんです。
それより
"true".equals
みたいな使い方もできるんですね。

347 :デフォルトの名無しさん:04/10/24 16:33:26
>>346
結局、
boolean b = Boolean.getBoolean("true");
が何をするのか分かったのか?

348 :デフォルトの名無しさん:04/10/24 16:36:33
このへんわからないままJ2SE5でコンパイルとおってまぁいいやとなるやつ大量生産な予感

349 :332:04/10/24 17:05:13
全然わかりません。
System.getProperty("true")が存在しないからってことでしょうか?

350 :デフォルトの名無しさん:04/10/24 17:34:10
すいません、質問です。
javaで、簡単なアプリをつくりたいと思うんだけど、java2SDKだけでGUIのプログラム、つくれますか?
今までコンソール画面で動くプログラムしか作ったことないんです

351 :デフォルトの名無しさん:04/10/24 17:36:46
>>332
違うでしょ。

System.getProperty(String key)で取得した値が、「true」だった場合
、戻り値としてtrueが返ってくるということ。
ちなみに、取得した値の大文字と小文字を判断しないはずです。


352 :デフォルトの名無しさん:04/10/24 17:39:29
つくれます

353 :デフォルトの名無しさん:04/10/24 17:40:35
>>350
Java の Swing ライブラリっていうやつを使うんだよ。

354 :332:04/10/24 18:33:38
>>351
つまり初期設定ではSystem.getProperty("true")の戻り値が
trueではないということですよね?
調べたのですがgetPropertyがよくわからないです。

355 :デフォルトの名無しさん:04/10/24 18:40:37
> 調べたのですがgetPropertyがよくわからないです。
もっと きちんと調べろ。

356 :デフォルトの名無しさん:04/10/24 18:58:33
>>353 レスありがとうございます。swingライブラリですか。
>>352 レスどうもありがとうございます。

357 :デフォルトの名無しさん:04/10/24 19:14:22
Vector型に格納しているEmployee型配列があります。
これをランダムに並べ替えられた状態で
Employee型を取り出したいのですが、
どのような方法がありますでしょうか?

employee = new Employee[v.size()];
v.copyInto(emplyee);

for (int i=0; i<employee.length; i++) {
  System.out.println(employee.getName());
  //こうやって順番に取り出すと
  //格納した順番に出力される。
  //ランダムに過不足なく全部出力したい。
}

358 :332:04/10/24 19:25:08
ところで
Boolean.getBoolean()
ってどういう場合に使用するのですか

359 :デフォルトの名無しさん:04/10/24 19:29:48
>>357
Collections.shuffle

360 :デフォルトの名無しさん:04/10/24 21:05:01
すいません質問です。
javaの統合開発環境についてなんですが、どれがどのように良いのでしょう。
できれば違いなんかも教えてもらいたいです。
よろしくお願いします。

361 :242:04/10/24 21:12:13
>>242
誰か教えてください。勘違いなら勘違いで結構ですので。


362 :デフォルトの名無しさん:04/10/24 21:13:23
>>357
質問とは関係ないがVector使うのやめれ。時代はArrayList


363 :デフォルトの名無しさん:04/10/24 21:15:40
>>361
無い。MacのJREでなら使える。逆にMacでWindowsのL&Fは使えない。


364 :デフォルトの名無しさん:04/10/24 21:16:42
>>358
そんなものは使わない。使う場面に遭遇することは無いだろう。忘れていい。


365 :242:04/10/24 21:20:45
>>363
なるほど、そういう事だったんですね。。
ちょっと興味心でマックのLook&Feelにしたかったのですが、残念。
でも、すっきりしました。ありがとうございます。


366 :332:04/10/24 21:20:56
>>364
なるほど。ありがとうございます。

367 :デフォルトの名無しさん:04/10/24 21:28:13
>>358
システムプロパティから boolean の値を読み込むときに使う。
使うかどうかは人による。

368 :デフォルトの名無しさん:04/10/24 21:35:11
jarファイルから実行するアプリを作っています。
その時OutOfMemoryが出るので初期ヒープメモリーを増やして実行したいのですが、
jarの場合はどうやってオプション付けます?
MFの中かな?

369 :351:04/10/24 21:45:35
>>332
ちょっと、長いですがご参考になれば。

>つまり初期設定ではSystem.getProperty("true")の戻り値が
>trueではないということですよね?
そうです。初期設定ではシステムプロパティに「true」というプロパティが
登録されていないので、falseが返ってくるはずです。
初期設定で登録されているプロパティの一覧は、APIの「System.getProperties()」に記述されています。
例えば、「System.getProperty("java.version")」を表示するとJREのバージョンが表示されます。
また、アプリケーション(厳密にはJVM起動時かな?)起動時に、パラメータを渡すことで
独自のプロパティを設定することもできるんです。

>Boolean.getBoolean()ってどういう場合に使用するのですか
独自にプロパティを設定して、アプリケーション実行中に、getBoolean()で
値を取得し、動的に制御を行うとかかな?私は、Boolean.getBoolean()を使用
したことがないんですけどね。。。
そういうのはpropertiesファイルにまとめて・・・。ってな感じで。このへんは
勉強していって身につけて下さい。

こんなサンプルを作ってみたので、参考にして下さい。
システムプロパティに簡単な使用方法です。
まず、以下のソースをコピペして、コンパイルしてください。
public class Sample {
public static void main(String args[]) {
// フルーツは?
System.out.println("私の好きなフルーツは" + System.getProperty("fruit") + "です");
}
}
次の手順で、実行してみて下さい。
@「java Sample」で実行して下さい。getPropertyの部分に「null」が表示されるはずです。
A「java -Dfruit=banana Sample」で実行して下さい。getPropertyの部分に「banana」が表示
されるはずです。

370 :デフォルトの名無しさん:04/10/24 23:00:22
>>368
jar ファイルの中で指定できたっけか?

起動用スクリプトとか書いて
javaw -Xmx必要な量 -jar hoge.jar
とかしないとダメなような気がするんだけど。

371 :ゆうき ◆MU2000.LWc :04/10/24 23:17:59
ジャバを初めて勉強してる者ですが、質問です。
http://ww22.tiki.ne.jp/~y-shirakawa/tmp/tamatest1.html
いろいろ調べましたが、限界です。
もし、お時間のある方、おたすけください orz..

372 :デフォルトの名無しさん:04/10/24 23:33:10
69行目のforの始まり括弧が無い。

あとメソッド名は小文字ではじめような。Move()→move()とか。Ini()→init()とか。


373 :ゆうき ◆MU2000.LWc :04/10/24 23:40:52
>>372
うおーーー。
有難うございました☆
メソッド名のはじめは小文字ですね。分かりました。
GUI関連の勉強したいなら、やっぱり一冊本を買った方がいいでしょうか?

374 :デフォルトの名無しさん:04/10/25 00:14:06
>>370
調べてみましたがそれしかなさそうです。残念・・。

375 :デフォルトの名無しさん:04/10/25 01:19:52
とうぜん位置とイメージを持った玉クラスを作ってほしいものだ

376 :デフォルトの名無しさん:04/10/25 12:15:40
Javaでビット列を解釈するときはどんな風に書くの?

たとえばIPヘッダを解釈するときとか。
CだとIPヘッダと同じフォーマットの構造体をつくってキャストすると
その構造体のフィールドを使って見たり書いたりできると思うけど。


377 :デフォルトの名無しさん:04/10/25 12:34:48
>>376
同じようにできる。

378 :デフォルトの名無しさん:04/10/25 13:40:01
>CだとIPヘッダと同じフォーマットの構造体をつくってキャストすると
>その構造体のフィールドを使って見たり書いたりできると思うけど。

パディング考慮しないで大丈夫なの?



379 :デフォルトの名無しさん:04/10/25 13:47:59
>378
その辺は大概#pragmaで何とかなるでしょ。それがC。

380 :デフォルトの名無しさん:04/10/25 14:41:21
あー、#pragmaか。
で、>>376の質問は、たとえば、パディングの問題が解決しているとして、

typedef struct color {
unsigned char red;
unsigned char green;
unsigned char blue;
unsigned char alpha;
} Color;

typedef unsigned int color32_t;

color32_t color_code = /*なんか4バイト読み込む*/;
Color color = *((Color*)&color_code);
/*以下red,green,blue,alphaを個別アクセス*/

みたいなことが出来るかということだと認識しているのだが、
Javaでは「同じように」は出来ないよね。
地道に8ビットずつシフトするとかしないと。


381 :デフォルトの名無しさん:04/10/25 17:11:50
質問よろしいでしょうか。
Javaの開発環境を整えるにあたって、J2SEをいれようと思うのですが、
ttp://java.sun.com/j2se/1.4.2/ja/download.html
こちらにあるSDKとJREは両方入れる必要があるのでしょうか。
なお、開発はEclipseを使用する予定です。

382 :デフォルトの名無しさん:04/10/25 17:20:34
SDKはJREを含んでます。
JREは、実行環境であり
SDKは、開発環境+実行環境なのです。

383 :デフォルトの名無しさん:04/10/25 17:48:22
>>380
DataInputStream が使えるならちょっとだけ楽にはなるけどね。

384 :デフォルトの名無しさん:04/10/25 18:01:21
誰か、Apache Beehive と Eclipse Pollinate を試したヤシいる?
いたら聞きたいことがあるんだけど・・・・

385 :デフォルトの名無しさん:04/10/25 18:09:57
こんにちは
JPanelをextendsして、内部にJTextBox等を配置したコントロールを作成しています。
これをJBuilderで配置するとモトがパネルだけにコンテナとして動いてしまい、
他のコントロールを自由に配置できてしまいます。

作成したコントロールにこれ以上配置させないようにするにはどのように
すればよいのでしょうか。

よろしくお願いいたします。

386 :デフォルトの名無しさん:04/10/25 18:19:34
>>285
JBuilderのGUIエディタで、そのコントロールに配置できないように
するとの事ですか?


387 :デフォルトの名無しさん:04/10/25 18:21:40
>386
そうですそうです。
そのコントロールの上に他のコントロールを配置できないようにしたいのです。


388 :デフォルトの名無しさん:04/10/25 18:23:16
それはJBuilderの問題になってしまうので、
不可能かと。。。。

389 :デフォルトの名無しさん:04/10/25 18:25:55
GUIエディタ上では、他コンポーネントが追加されてても
実際には追加されてないようにするには、各add()メソッドを
オーバーライドして、そのままreturnするようにすれば良いのでは。

390 :デフォルトの名無しさん:04/10/25 18:47:08
あとで質問してもいいですか?

391 :デフォルトの名無しさん:04/10/25 19:07:08
>388

JLabel(Containerより継承)的な動きを求めているのですが、
JBuilder特有の問題なのでしょうか・・・
その辺の切り分けが自分でも出来ていないのです。

>389

アドバイスありがとうございます。
早速やってみました。
確かに追加はされないのですが、生成されたコントロールが行方不明に
なるようなイメージとなってしまうので、あまり良くないような気がしました。

JLabelのように元をたどるとContainerのコントロールって、どうやって
いるのでしょうか。
なんとなく、UIまわりかなぁとか思っているのですが、いまいち追いきれません。

392 :デフォルトの名無しさん:04/10/25 20:05:48
一度作ったインスタンスは消去できないんですか?

Dog Poti = new Dog();
Poti = null;
Cat Poti = new Cat();

と書くとコンパイルエラーになります。
2行目で中身がnullになっても
それはガーベッジコレクションの対象になるというだけで
Potiという名前はもう使用できないんでしょうか?

393 :デフォルトの名無しさん:04/10/25 20:15:02
>>392
当たり前だろ。
どうしてもっていうなら、親クラスの参照をお使いなさい。

394 :デフォルトの名無しさん:04/10/25 20:22:28
>>393を晒しあげ

395 :デフォルトの名無しさん:04/10/25 20:27:56
>>392
えっと、一から勉強し直せ。

396 :デフォルトの名無しさん:04/10/25 20:33:53
親クラスの参照を使ってもコンパイルエラーがでます。
どうしたらいいですか?
Animal Poti = new Dog();
Poti = null;
Animal Poti = new Cat();


397 :デフォルトの名無しさん:04/10/25 20:34:04
答えになっていないので、
わかりやすく解説してください。

398 :デフォルトの名無しさん:04/10/25 20:43:18
同じ変数名が使えないだけだ。

int i = 0;
int i = 0;

これがコンパイルできないことぐらいはわかるのか?

399 :デフォルトの名無しさん:04/10/25 20:44:29
同じ名前のローカル変数は使えません。

400 :デフォルトの名無しさん:04/10/25 20:45:46
じゃあ親クラスが云々てのは意味ねーのかよ。
誰だよ間違い教えてるの。

401 :デフォルトの名無しさん:04/10/25 20:45:47
>>396
2回目のAnimalは不要。
それと、親クラスで必要なメソッドが宣言されていないと、
そのままじゃ使えないよ。

402 :デフォルトの名無しさん:04/10/25 20:47:51
>>392
インスタンスが消去できないんじゃなくて、変数名が再宣言できないだけ。

http://www.y-adagio.com/public/standards/tr_javalang2/statements.doc.html#32644
> 局所変数 v の名前は,v の有効範囲内の,直接取り囲むメソッド,コンストラクタ,
> 又は初期化子ブロックの局所変数として再宣言してはならない。
> 再宣言すると,コンパイル時エラーとなる。

403 :デフォルトの名無しさん:04/10/25 20:47:51
>>400
同じ名前で使いたいなら、親クラスの変数を使いまわすしかないと思うが。

404 :デフォルトの名無しさん:04/10/25 20:48:10
例え同名の変数定義でも、クラスインスタンシエートオーバーロード
されるのが普通ですよね?
JAVAって変則的な言語仕様があるみたいですけど
いきなりそれに当たってしまったんですか。。。orz

405 :デフォルトの名無しさん:04/10/25 20:49:37
おいおい、こないだから糞しか来ねーが
どういうわけだ?

406 :デフォルトの名無しさん:04/10/25 21:02:30
>404
>例え同名の変数定義でも、クラスインスタンシエートオーバーロード
>されるのが普通ですよね?

それが普通ってどういう環境なんだ……激しく気になる。
よもや予約語がないも同然のPL/I?

407 :デフォルトの名無しさん:04/10/25 21:02:42
>>404
他にどんな言語を知ってるかしらんが、
スコープに同じ変数名を使えないのはどう考えても普通。

408 :デフォルトの名無しさん:04/10/25 21:22:06
ところで、クラスインスタンシエートオーバーロードって何?

409 :デフォルトの名無しさん:04/10/25 21:24:26
インスタンス初期化子とコンストラクタの違い(どうやって使い分けるのか)について
教えてください。

410 :デフォルトの名無しさん:04/10/25 21:49:46
名前が無いクラスはコンストラクが定義できない(書けない)ので変わりにインスタンス初期化子を使います。

で、良いのかな。

あと名前のあるクラスでも複数のコンストラクタで共通の初期化処理をしたいときに使えるかもしれない。
でも普通は普通のコンストラクタ使いな。多用するもんじゃない。


411 :デフォルトの名無しさん:04/10/25 21:49:59
式y=sqrt(x+4)のyの値を表示するプログラムを作りたいんですが、

x=0のとき、「正解!2」
x≠0のとき、「間違い!(他の数字)」

と表示させたんです。とりあえず、

import java.io.*;

class keisan{

public static void main(String args[]){
double x=0,y;
System.out.println("数値は?");
y = Math.sqrt(x+4);
x = keyInput.calc;
if(x== 0){
System.out.println("正解!"+y);
}
else{
System.out.println("間違い!"+y);
}
}
}

と考えたんですが、

x = keyInput.calc;

のところで、シンボルを解決できませんとエラーがでます。
どうすればいいか教えていただけないでしょうか?


412 :デフォルトの名無しさん:04/10/25 21:50:29
javascript:GoSubmit()
とかがリンク先になってるページに
いけなくなってしまいました・・・。
どっかいじっちゃったのかな・・・。
押しても反応ないんですよね

ダレカ対処法を教えてください。お願いします

413 :デフォルトの名無しさん:04/10/25 21:51:21
あっ本当にプログラムの板みたいですね
板違いだ(;´Д`)すみませんでした

414 :393:04/10/25 22:00:30
>>392
そんな使い方できないのは当たり前だろと言ったつもりなんだが、
激しく釣ってしまったorz
392は、別のクラスのインスタンスの参照に同じ変数が使いたいのかと思って、
親クラスの変数を使いまわすしかないと言ったんだが。
せっかくなので丁寧に書かせていただきます。

クラスに関係なく同一スコープ内で同名の変数は定義できません。
変数にはそのクラスの参照ならいつでも代入できますが、
別のクラスの参照を代入することは出来ません。
その時、その変数が参照を保持しているかどうかは関係ありません。

だからPotiはDogクラスの変数としてならスコープが切れるまで使い続けられますが、
その範囲で同名の変数を定義することは出来ませんし、
Catクラスなどの他のクラスの参照を代入することも出来ません。
Potiという変数をDogクラスとCatクラス両方で使いたいなら、
親クラスの変数を使えば出来なくはないですが、
そのまま使うには、必要なメソッドが親クラスで宣言されていなければなりません。


415 :デフォルトの名無しさん:04/10/25 22:02:28
>>411
calcはメソッドで、()を付け忘れているとか?

416 :デフォルトの名無しさん:04/10/25 22:11:55
そもそもkeyInputが定義されていないとか。
KeyInputだったとか。

417 :デフォルトの名無しさん:04/10/25 22:25:32
java初心者なのですが
pathの設定方法がわかりません。
マシンはWINXPです。

環境変数からC:\jdk1.3.1_02\bin;
を設定してもうまくいきません。
もともとWINに
設定されてたPathは消えてます。

418 :デフォルトの名無しさん:04/10/25 22:26:54
>>417
Windowsも初心者だな。

419 :デフォルトの名無しさん:04/10/25 22:29:52
>>417
バージョンによってというか、インストール先によって必要なパスは変わります。
JDKのインストールディレクトリはどこかわかりませんか?

420 :デフォルトの名無しさん:04/10/25 22:39:59
>>417
>>1を100回読んで、>>1のリンク先も100回読んで、
それでまだわからなかったらまた来い


421 :デフォルトの名無しさん:04/10/25 22:51:31
>んで、>>1のリンク先も100回読んで、

URLを100回読めと


422 :デフォルトの名無しさん:04/10/26 02:07:17
>>411
マルチポストすんなボケ

423 :デフォルトの名無しさん:04/10/26 03:24:22
「クラス」を日本語に訳すと?

型?
種?

424 :デフォルトの名無しさん:04/10/26 04:14:25
型のほうじゃない?

425 :242:04/10/26 09:40:06
antを使おうとしているのですが、以下のようなエラーがでてしまいます。
[javac] BUILD FAILED: file:C:/Program Files/eclipse/workspace/antTest/build.xml:5: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
最初はECLIPSEで使っていてダメだったので、antのバイナリをダウンロードしてきて、ECLIPSEからではない方法でもやって
みましたが、同じエラーが出てしまいます。
そして、JAVA_HOME、ANT_HOMEの環境変数はもちろん設定してあります。
コンパイルしようとしているファイルの存在するディレクトリではjavacは通ります。JDKのextフォルダにantをおいておくとだめという
不都合が報告されているようですが、そこにおいているわけではないですし。
もうお手上げです。
どなたか教えてください。orz

426 :デフォルトの名無しさん:04/10/26 10:03:24
>>425
「ECLIPSEからではない方法」が不明なのだが、
コマンドラインからAntを実行するのなら、実行前にコマンドラインで
set ANT_HOME=(Antインストールディレクトリ)
set JAVA_HOME=(JDKインストールディレクトリ)
set Path=%ANT_HOME%\bin;%Path%
としてから実行してみれ。

まさか JAVA_HOME、ANT_HOME が全角じゃないだろうな?
揚げ足取りでも何でもなく、質問のレベルからそんな恐れも見え隠れする。

427 :デフォルトの名無しさん:04/10/26 11:00:13
ある画像をJLabelに貼ってるappletをhtmlファイルから開くとjavaコンソールで以下のエラーメッセージが
でてきます。例えば,eclipse上でappletを実行すると,正常に画像も読み取られエラーが出ないのですが,
htmlからだとなぜか以下のエラーが出てしまいます。
このコードは,300行くらいのやや複雑なものなのですが,試しに参考書に書いてる例題レベルの
appletをhtmlファイルで開くとなぜかエラーがでません。全く同じ画像を読み込んでいるのにもかかわらず
です。

正常に画像が読み取れ,以下のエラーが出てこないように出来る方法どなたか教えていただけないでしょうか。



java.security.AccessControlException: access denied (java.io.FilePermission .\photo\small.gif read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at photo.read3jpg.init(read3jpg.java:232)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)



428 :デフォルトの名無しさん:04/10/26 11:32:34
アプレットの典型的なパターンだな

429 :デフォルトの名無しさん:04/10/26 11:50:25
質問に答えてる人に質問なんですが、
どうしたらそんなに詳しくなれますか?
また、どんな勉強法をすればいいですか?

430 :デフォルトの名無しさん:04/10/26 11:59:57
>>429
私は詳しくないですが、一般的に言われているのは、

1.まず、言語仕様を(本などを読んで)きっちり覚える。
2.コードをたくさん書く。
3.コードをたくさん読む。
4.言語仕様の変化などに注意しつつ、2-3を繰り返す。

431 :242:04/10/26 12:22:14
>>426
原因がわかりました。JAVA_HOME に C:\j2sdk1.4.2_04\bin とバイナリの
フォルダまで含めていました。初歩的な失敗でしたね。
ご迷惑おかけしました。

432 :デフォルトの名無しさん:04/10/26 12:30:03
どんな問題でも、原因がわかった時、
そのミスはすでに自分にとって初歩的なものになっている。
とか言いますな。

433 :デフォルトの名無しさん:04/10/26 12:30:31
if (Koizumi.Go("Niigata")==true)
{
  Okada.Say("総理が被災地に行っても何の役にも立たない。パフォーマンスだ!");
}
else
{
  Okada.Say("被害者感情を無視した対応だ!");
}

434 :デフォルトの名無しさん:04/10/26 12:39:14
>433
メソッドの最初を大文字にしない
ifの==trueは不要
ついでに岡田も日本には不要

435 :デフォルトの名無しさん:04/10/26 13:22:58
HashMapでIteratorを使って順に要素をたどっていく事はできますか?
また、それらの順序はいつも同じなのでしょうか?
あとiteratorメソッドでIteratorを得る時は、毎回最初の位置へリセットされるのでしょうか?
駄文で申し訳ありませんが、どなたがご回答おねがいします。

436 :デフォルトの名無しさん:04/10/26 13:25:23
>>435
LinkedHashMap使え

437 :デフォルトの名無しさん:04/10/26 13:27:16
> HashMapでIteratorを使って順に要素をたどっていく事はできますか?
values() で値のコレクションを、keySet() でキーのコレクションを得られるので、お好きにどうぞ。

> また、それらの順序はいつも同じなのでしょうか?
順序が同じである保障はない。

> あとiteratorメソッドでIteratorを得る時は、毎回最初の位置へリセットされるのでしょうか?
若干意味不明だが、Collectionのiterator()メソッドはインタフェースに定義された抽象メソッドにすぎないので、
実装依存になる、と答えておこう。

438 :デフォルトの名無しさん:04/10/26 13:28:02
>>434
何をいっとる!
岡田は必要だ

439 :デフォルトの名無しさん:04/10/26 13:29:20
Mapのiteratorは、

aMap.entrySet()で、Map.Entry型のCollectionを得る。
aMap.keySet()で、キーのCollection(Set)を得る。
aMap.values()で、値のCollection(Set)を得る。

などとして得られたCollectionに対してiterator()メソッドを呼び出して得る。


440 :デフォルトの名無しさん:04/10/26 13:48:55
>>432 いやこの場合JAVA_HOMEを設定するのは場当たり的な対症療法
だからその域にも達してない。
425のエラーはコンパイラがみつからんっていうエラーだから、
eclipseから実行しているならantを実行する際build.compilerに
org.eclipse.jdt.core.JDTCompilerAdapterを設定して、かつ
External ToolsのJREタブでRun in the same JRE as the workspace.
にチェックを入れるのが正解。
http://help.eclipse.org/help30/topic/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm

441 :デフォルトの名無しさん:04/10/26 15:40:55
>>438
反面教師な


442 :デフォルトの名無しさん:04/10/26 16:42:10

IBMJDK 1.1.8 for LINUXをダウンロードしようと思ってるんですが、
もうダウンロードできないようで・・・

入手方法ないですか?


443 :ケータイからのアクセス:04/10/26 17:39:27
おいらのパソコンが、JAVAの開発しようと思って、Cドライブのautoexec batっていうファイルいじってたら、MS-DOSでしかパソコンが立ちあがらないようになってしまった….・゚(´Д`)゚・.
だれかMS-DOSでautoexec batの書き替え方教えて…
ちなみにOSは98です…

444 :デフォルトの名無しさん:04/10/26 17:44:34
ばかかこいつ
OS入れなおせ。カスが

445 :デフォルトの名無しさん:04/10/26 17:44:40
>>443
どう見ても板違いじゃ・・・

446 :デフォルトの名無しさん:04/10/26 17:47:19
                 r--=ニ二"`' 、
               r-=!,.i‐:、ヽヽ`'i  .\
                | |`‐r'-‐ヽヽヽ.ir=:、 |
               ',|', |、、.riェ|i:i .|ィ;!l .!
            ! /')、| ` ,!' | /゙rく |
            _/ /_ `、-‐' !',. '゙ `!_
         r‐‐'i‐,、' ノ .ヽ__,._-,..-‐'ニ:i`、_
           / .フノ///   /rl i_,.-'" / '; `ー-: ,,,,___
       ,./  `i゙ ゙ノ  ./" |  i-‐'_,:,'_ _,ゝ   ,.:-‐`=、
      .,:'゙!'ー-´<"-i'"iくr''、i"`i_.',// `'-、   ,:'     i
     ,.:'  ヽ  / .,'、 /_ i_,,,_ .r:、! ./   ,.:'  .,'       |
    ,:'    `-'!'i i r'iヽヽ' |`| .| /  ,:'           .|
   ./       ,.! ,' .| `i'゙i,l''i_,) `゙.,'   ./    、       |
  r'"      / i  | .|ヽl,.:'/ .l  /     ヽ      |
 i゙     ./   |  | .| |:'O   .| ./      |      |
┌‐────┐-‐'i  .l .| |    | ,'         |      |
│ミツルギSE.|   |  ',.| | O  | .i        |      |
├───‐─┴─────────────────────────
| そんなことより議題を進めようか。

└──────────────────────────────‐

447 :デフォルトの名無しさん:04/10/26 18:03:01
>>444
てめーこそ、カスだろ。
人が困ってるのに何て事言いやがる。
てめーのようなキモオタは、ネットでしかでかい口叩けん癖に
現実じゃ人前に出ただけでガクブルなんだろが。
このクズ。

448 :デフォルトの名無しさん:04/10/26 18:22:31
               i、 ノ,.'‐'´,.-'ニ'-‐ 'ッ
               .N .!' / , , -;=‐‐‐<
               !_,,. '_‐,ヽ_'´r''_,ニニ'' `ー,.-
              ノ,ニ-,._,`ーi`.i´ヽー-.、く
            _ /.i,='三_-' .ノヽ!ノ,!、ヽヽ.、ヽ
        ,.-r‐r',ノ'っ'ヾ三='‐'ヽノ'i;ド' '、i,ヽヾ`
        ,1,.!..iン' //.  'ーi'_,,,..   ノ  '_ゝN`
       ./ 7´  ノ       ヽ.,, ,'_,'-‐'"´,. ‐`-,..,,_
       ,iー'  ,ィ'       '"i´ ,ゝ、/'./.,.'.,.'´r',`'"''''ー.、
      io'iー‐ 'i       ,ィ7/.`! ,イ /././ /./, '       .',
      l l   .l     ,.//〃 .,' ,.'/././././././       i
      /`7 ''''  ヽ  ノ////  !/.,'./././././ ,'         !
      !     .i r'´ /i,'.,'/  ./ /.,' ,' ,' ,' ,'./        ,'
      ',     iノ-.、i.i.i.i.i  ./,'.,' ,' ,' ,' ,' ,!'        , '
      i     i';  l !l.l ! ,'.,'.,' ,' ,' ,' ,'.,ヘ,_        ,.'
      |     ,'  .!',',','i ,' ,'.,' ,' ,' ,' i r'ー'‐`=、、   ./
      ';      _,,.!i」,!r'ー'‐ー'‐' ''"`i;    `ヾ'、ノ
┌‐────┐_ , ‐'´./ /              ,./
│ゴ ド ー SE |!r',.  i,__.i             //
├───‐─┴────────────────────―────
| なんで怒ってるのか知らんが
| 助けたきゃ勝手に助ければいいだろ
└─────────────────―────────────‐

449 :デフォルトの名無しさん:04/10/26 18:34:23
443のがキモオタだろw
98ユーザーって昔のエロゲやるために98使ってるんだよwww

450 :デフォルトの名無しさん:04/10/26 18:39:06
Dog Poti と Cat Potiの話ですが
インスタンスを消去することはできないのですか?
消去できないとなると、どんどんインスタンスが増えることになり
メモリがいっぱいになってしまいそうな気がするのですが・・・

451 :デフォルトの名無しさん:04/10/26 18:41:49
>>450
うるせーばか釣りはもうたくさんだハゲ

452 :デフォルトの名無しさん:04/10/26 18:46:10
すみません、ちょっと質問なんですが、
あるフォルダにある.jarファイルを全部クラスパスに通したいとき、

(あるフォルダ)\*.jar

という書き方はできないのですか?


453 :デフォルトの名無しさん:04/10/26 18:48:12
できない。つーか環境は?

454 :デフォルトの名無しさん:04/10/26 19:07:39
J2SE SDK v1.4.2_05 を落としたのはいいけど
プラグインの設定をしたところでエラーになるし
パソコンは何だか重いし・・・
これ、向いてないからいれるなってことでしょうかね?
OSはWindows98 SE なんですけど・・・

455 :デフォルトの名無しさん:04/10/26 19:12:00
未だに98SEってありえない

456 :デフォルトの名無しさん:04/10/26 19:19:22
こんばんは、よろしくお願いします。
マウスを手や、矢印の形に変化させたいのですが、
どのような、classを使うのでしょうか。

457 :デフォルトの名無しさん:04/10/26 19:25:29
クラスじゃなくてメソッドです。
各コンポーネントのsetCursor()を使いませう

458 :452:04/10/26 19:30:43
>>453
レスありがとうございます。
環境はxpにjava5です。
やはり何度試してもできませんでした(涙
不便です。



459 :デフォルトの名無しさん:04/10/26 19:32:19
>>456
java.awt.Cursor#getPrefdefinedCursor(int) とか
java.awt.Toolkit#createCustomCursor(Image,Point,String) とか
を使って望みの形のjava.awt.Cursorのインスタンスを作ってから
java.awt.Component#setCursor(Cursor) する。

460 :デフォルトの名無しさん:04/10/26 19:32:52
>458
どーしよーもないほど多いならextフォルダに入れてしまっては。

461 :デフォルトの名無しさん:04/10/26 19:35:42
>>458
Ant使えば?*.jarできるよ。

462 :デフォルトの名無しさん:04/10/26 19:37:41
>>458
java @setting.txt
こうやるとsetting.txtにコマンドラインの中身書けたようなキガス

463 :デフォルトの名無しさん:04/10/26 19:43:41
>>452
javac -Djava.ext.dirs=JARDIR1;JARDIR2 Hello.java

試してみ

464 :デフォルトの名無しさん:04/10/26 19:48:26
>>460 >>463
拡張クラスはユーザクラスとクラスローディングの優先度が違うし、
シールされたjarの動作も違ってくる。
面倒でもユーザクラスとして使うjarはユーザクラスとして使うしかない。

465 :456:04/10/26 19:48:42
>>457さん
>>459さん
へ。
早々にこんなに詳しく教えていただきありがとうございます。
無事できました。

466 :デフォルトの名無しさん:04/10/26 19:57:52
初心者です。
最近Strutsをはじめました。

画面出力するデータをValueObjectに保存する方法にしているのですが、
このValueObjectをスレッドセーフにするには
Serializableにしないといけないのでしょうか?

467 :デフォルトの名無しさん:04/10/26 20:02:17
>>466
出力用のValueObjectをスレッドセーフにしなければならない、とはどんな設計だろう?
そもそも、HttpSession に入れるのであればスレッドセーフかどうかに関わらずSerializableに
する必要があるし、ServletRequestに入れるのであればスレッドセーフとか考えなくていいと思うけど?


468 :デフォルトの名無しさん:04/10/26 20:02:40
>>466
そのValueObjectをImmutableにすればOK。完璧にスレッドセーフになる。


469 :466:04/10/26 20:20:59
>>467
ServletRequestに入れるのであればスレッドセーフにしなくてもいいのですか?
ServletRequestに入れる前に書き換えられる可能性は考えなくても良いということですか?

>>出力用のValueObjectをスレッドセーフにしなければならない、とはどんな設計だろう?
ValueObjectがスレッドセーフになっていなかったら、
読み出す前に書き換えられる可能性があるのではないかと思ったのですが。
もしかして考え方間違っています?


470 :デフォルトの名無しさん:04/10/26 20:22:05
>>468
それって一般的な方法ですか?


471 :デフォルトの名無しさん:04/10/26 20:24:56
>>470
一般的

472 :468:04/10/26 20:27:22
>>470
一般的もなにも、属性を持つオブジェクトをスレッドセーフにする唯一の方法。

ただし、>>467の言うように、本当にそれらをスレッドセーフにする必要があるのかどうかをまず考えれ


473 :デフォルトの名無しさん:04/10/26 20:27:50
>>469
逆に聞くけど、requestスコープのオブジェクトが他のスレッドから書き換えられる場合ってどんな場合?
ちょっと想像つかない・・・

俺もImmutableってのも有りかもと思った。

474 :466:04/10/26 20:31:57
>>468
調べてみましたがImmutableって内部変数の変更不可って奴ですか?
それだと困るんですが。。。

475 :466:04/10/26 20:36:18
>>473
ActionでValueObject生成して、
値をセットして、
RequestにsetAttributeしようかと思っているのですが。

このやりかただとオブジェクト生成時点からRequestにセットするまでの間は、
書き換える可能性があるのかな?と思っていたのですが。


476 :デフォルトの名無しさん:04/10/26 20:38:10
>>475
Action以外のスレッドに渡す可能性があるなら書き換えられるだろうな

477 :デフォルトの名無しさん:04/10/26 20:39:20
>>475
>値をセットして、

どこから持ってきた値だこの馬鹿野郎


478 :デフォルトの名無しさん:04/10/26 20:41:20
>>474
じゃぁそのValueObjectをスレッドセーフにするのはあきらめれ。
複数スレッドで共有しないようにすればOK。


479 :466:04/10/26 20:41:48
>>477
なんでもいいのですが、
例えば前画面から送られてきた値から算出した値とか、
データベースの検索結果から取り出した値とかですが。

480 :デフォルトの名無しさん:04/10/26 20:52:25
>>475
> このやりかただとオブジェクト生成時点からRequestにセットするまでの間は、
書き換える可能性があるのかな?と思っていたのですが。

プログラム中で他のスレッドに明示的に渡してなければOK。
Actionのexecute()メソッドそのものはスレッドセーフだ。

481 :466:04/10/26 21:10:47
>>480
そうですか。
execute()メソッドの中で定義していれば問題ないんですか。
ValueObjectのインスタンスが使いまわされて、
同時アクセスの際におかしな挙動になるのではないかと心配してたのですが。
余計な心配でしたか。

482 :デフォルトの名無しさん:04/10/26 21:14:34
>>466
ttp://www.jajakarta.org/struts/struts1.1/documentation/ja/target/api/org/apache/struts/action/Action.html

他のリソース(JavaBeans、セッション変数等)へのアクセスは、それらが保護を要求する場合は同期化しなくてはいけません(しかしながら、一般的にリソースクラスは必要に応じて自分自身を保護するように設計すべきです)。

483 :デフォルトの名無しさん:04/10/26 21:22:44
>>482
おっさん、的外してるよ

484 :デフォルトの名無しさん:04/10/26 21:24:21
>>481
> ValueObjectのインスタンスが使いまわされて、
使い回すような設計・実装をしているのか?

485 :466:04/10/26 21:36:20
>>484
execute()が同時アクセスで複数同時に実行されたとき、
ValueObjectのインスタンスがひとつなら値が保障されないのではないですか?
という意味です。
「使いまわす」という表現は間違っていました。

486 :デフォルトの名無しさん:04/10/26 21:40:24
おもしれーな。質問内容の揚げ足とるやつばっかり。それにまじめに答え返して、更に揚げ足取られる(藁Java厨ってこんな奴ばっかなのか?466もちゃんと言葉を選んで聞かねーと答えまでたどりつけねーぞ(藁

487 :デフォルトの名無しさん:04/10/26 21:47:24
おまえモナー

488 :デフォルトの名無しさん:04/10/26 21:49:02
>>486
荒らしは(・∀・)カエレ!
466からは非常にスムーズにQとAが続いてるんだが。
初心者をなめちゃあかんよ。


489 :466:04/10/26 21:51:10
>>486
いやいや、私が素人なんでうまく考えを伝えられないんでしょうがないです。
少しずつでも理解できるようにしたいです。

それまで、皆さんが付き合ってくれるかが一番の問題ですが。

490 :デフォルトの名無しさん:04/10/26 21:54:06
>>485
execute()の中で変数宣言して、newして、Request/Responseにしか渡してないなら
複数スレッドから共有されることはない、
からオブジェクト自身のスレッドセーフ性は考慮しなくても大丈夫。

複数同時にexecute()が実行されたなら、それぞれのリクエスト処理中に別々のObjectが生成されるだけ。


491 :デフォルトの名無しさん:04/10/26 22:02:12
こういう奴が量産されない為にも、初心者はスレッドとスタックの基礎を必ず学んでおいてほしいと思う。

492 :デフォルトの名無しさん:04/10/26 22:11:44
>>485
execute()が同時アクセスで複数同時に実行されたときは、それぞれのスレッド中で別々に処理されるから無問題。


493 :デフォルトの名無しさん:04/10/26 22:15:03
そもそも、元の質問(>>466)にあった
Serializable は synchronized の間違いではないか、とチョットつっこんでみる。

494 :デフォルトの名無しさん:04/10/26 22:20:28
>>491
学んでいる最中だからこそ初心者というのだよ。
466みたいなのは良いんじゃない。素直で向上心ありそうだから。


495 :466:04/10/26 22:45:07
>>490>>492
execute()メソッドで何らかのオブジェクトのインスタンスを生成する場合は
リクエストごとにインスタンスが生成されるということでよいですか?
ということは、execute()でインスタンスを生成するオブジェクトはスレッドセーフを
意識する必要は無いということですか。


VBでCOM+作成したときはクラス変数を持ったDLLをコンポーネントサービスに登録し、
ASPで呼び出していたのですが、
同時アクセスの際にクラス変数が
他のリクエストで呼び出されたときに書き換えられて正常な動作をしなかったので
同じようなことになるのかと思ってました。
先輩にクラス変数は使用するなって言われたもので。


>>494
ありがとうございます。
皆さんの貴重な時間を費やしていただいているので、
せめて「理解しました」という書き込みをしたいと思います。


>>491
時間を見つけて勉強します。

496 :デフォルトの名無しさん:04/10/26 22:58:17
>>495
「クラス変数は使用するな」は正しい。
execute()の中で宣言する変数はクラス変数ではなく、ローカル変数。
The Struts Users Guide の 4.4.1 Action Class Design Guidelines にも
「Only Use Local Variables」とある。
Actionのフィールドとして宣言したクラス変数は複数スレッド間で参照される恐れがあり、
このオブジェクトはスレッドセーフではなくなる。
execute()メソッド内のみで閉じていれば無問題。

497 :ゆうき ◆MU2000.LWc :04/10/26 23:20:42
>>375
勝手に作った玉クラスで画像を入れる変数って、どうやって定義するんですか?
http://ww22.tiki.ne.jp/~y-shirakawa/tmp/tamatest1.html

  orz...

498 :466:04/10/26 23:51:03
>>496
Actionではそうなりますが、
気にしていたのはValueObjectはクラス変数を持たなければならないということです。
今回でいうValueObjectのようにexecute()メソッドでインスタンス化されるオブジェクトは
複数のスレッド間では参照されないということでよいのですね。

MSのアプリではADOのRecordSetかSessionオブジェクトにセットするしかありませんでしたのでValueObjectみたいなものは作成できないと言われた(と思う)もので。
その辺のギャップがいまいち分かりませんでした。


>>491で言われているように根本的な知識が無いのかもしれませんね。
しかし、Webアプリ作っている方々は皆さんその辺を十分理解したうえで作成してるんでしょうか?
私の周りではあまり気にしてないようで聞いても誰も明確な回答をもらえませんでした。

すいません。仕組みを理解しとかないと気が済まない性質で。。。

499 :デフォルトの名無しさん:04/10/26 23:55:11
>497
玉クラスで画像を管理してなかったときはどこにどーやって画像を持ってました?
それを玉クラスに移して、setter/getterなりを備え付ければいいだけですぞ。

500 :デフォルトの名無しさん:04/10/27 00:01:32
>>498
> 気にしていたのはValueObjectはクラス変数を持たなければならないということです。
気にすることはない。

> MSのアプリでは
逆に俺はMSのアプリを知らないので何とも言えないが・・・・

> しかし、Webアプリ作っている方々は皆さんその辺を十分理解したうえで作成してるんでしょうか?
知っておかないとマズイだろう。バグやセキュリティホールの温床になる。


501 :デフォルトの名無しさん:04/10/27 00:03:04
>>498
VBの「クラス変数」ってのはインスタンス変数のことか?
Javaだと、
インスタンスに属する、インスタンスメンバ変数と
クラスに属する、staticメンバ変数(クラス変数)と呼ぶ。

static変数は使用してはいけない。そのクラスのすべてのインスタンスで共有されるから。


VBは奇妙な仕様が多い上に知識のある人間が極端に少ないから、
VBでの知識・経験は忘れた方がいい。
どこまで正しいのか、他の言語でも一般的な事柄なのか判断しにくい。


502 :501:04/10/27 00:06:56
自分で書いて思った。Javaで「クラス変数」という言葉はあまり一般的でないと思う。
使っている人がいないわけじゃないが。

インスタンスに属するもの:インスタンスメンバ、インスタンス変数、インスタンスフィールド
クラスに属するもの:static変数、staticメンバ変数、staticフィールド

あたりが一般的だと思う。


503 :デフォルトの名無しさん:04/10/27 00:23:17
>>502
クラス変数(class variable)はJLSでもバリバリ使ってるし、
Java界隈でも一般的にも使ってると思うが。

「staticメンバ変数」ってのは初めて聞いた。

504 :デフォルトの名無しさん:04/10/27 00:24:41
メンバ〜はC++だね。

505 :466:04/10/27 01:05:21
>>491で書いてることや、
WEBアプリとスレッドセーフなどについての知識が得られる良い書籍はありますか?

506 :デフォルトの名無しさん:04/10/27 02:37:15
外部ファイルの内容の、特定の1行だけを読み込みたくて
LineNumberReaderを使い、以下のようなプログラムを組んでみました。

例えば、5行目を読み込みたいときには
while(5>reader.getLineNumber()) {
  line = reader.readLine();
}
としています。

しかし、これでは1万行目を読み込むようなことがあった場合に
効率が悪いような気がします。
他に方法はあるのでしょうか?

507 :デフォルトの名無しさん:04/10/27 02:46:04
>>506
簡単に思いつくのは
・一行の文字数かバイト数を固定する
・全ての行について(何行かごとでも良いけど)
 その行がファイル先頭から何バイト目から始まるかをどこかに保存しておく
ぐらいかな。

508 :デフォルトの名無しさん:04/10/27 03:02:31
>>506
・解決策1
1万行ぐらい全然たいしたこと無いから気にするな。
・解決策2
FileInputStreamからbyte[]でまとめて取ってきてbyteのまま改行を数える。


509 :デフォルトの名無しさん:04/10/27 03:50:33
java.nio.channels.ServerSocketChannelなど勉強しようと、
ttp://java.sun.com/j2se/1.4.2/docs/guide/nio/example/NBTimeServer.java
ttp://java.sun.com/j2se/1.4.2/docs/guide/nio/example/TimeServer.java
ttp://java.sun.com/j2se/1.4.2/docs/guide/nio/example/TimeQuery.java
を実行しました。
PC1台しかないので、鯖もクエリもlocalhost。

で、クエリの実行結果が
"java.net.ConnectException: Connection refused: connect"なんです。
どうしてなんでしょう・・・
java.net.ServerSocket/Socketのサンプルだとlocalhost同士でも
うまくいくのですが・・・

環境は
OS:Windows XP Professional+SP2
J2SDK:1.4.2_04とJ2SDK1.4.2_06
ファイアウォール切ってます。


510 :デフォルトの名無しさん:04/10/27 03:53:08
>>509
接続拒否されてる

511 :デフォルトの名無しさん:04/10/27 05:35:09
>>509
サンプルをそのままコンパイルしていて、
コマンドライン引数でのポート番号指定をしていないのでは?

そのサンプルは実行するマシンでポート 13 が使われている場合を考慮してか
TimeServer はデフォルトで 8013、NBTimeServer はデフォルトで 8900 を使う。
ところが TimeQuery はデフォルトでポート 13 につなぎに行くようになってる。

512 :491:04/10/27 08:02:34
不適当な発言スマソ・・・

とりあえずこのへんで。
「オペレーティングシステム」清水 謙多郎 (著)
ttp://www.amazon.co.jp/exec/obidos/ASIN/4000078526

JavaやWebアプリなど、特定の言語、実装、処理方式に依存した話ではありませんが、
それゆえにVBやC#など他の処理系についても通じるものがあります。

たまにはこういった基礎を学んでみるのもいいのではないでしょうか。
Javaでの開発に限らず、きっと役に立つはずです。

513 :509:04/10/27 11:05:28
>>510>>511
レスありがとうです。

>>511
ポート番号指定してます。
java -classpath hoge TimeQuery 8900 localhost
な感じです。127.0.0.1で試しても同じでした。
ちなみにtelnetでlocalhostの8900をopenしても失敗します( ´ω`)

なぜjava.netで出来てjava.nioのチャンネルだと出来ないのでしょう・・・

514 :駒図5F:04/10/27 11:22:53
学生証番号を入力すると,学生証番号の最後についているアルファベットを 算出するプログラム
320135→Jでおながいしまつ。

515 :デフォルトの名無しさん:04/10/27 11:27:39
>>514
スレ違いな上に要件が全然足りてないぜ、ベイビー

516 :駒図5F:04/10/27 11:33:21
>>515
教えてくんですみません。
要件とは??
JAVA初心者で学校の課題なのでつが
数字を分解しないといけないのでつか?
直接導出するプログラムは組めませんか?

517 :デフォルトの名無しさん:04/10/27 11:38:36
>>516
おいおい、その前の「スレ違い」って所は完全無視かよ?

518 :駒図5F:04/10/27 11:41:48
え?ここはプログラミングは教えて頂けないんでつか?

519 :デフォルトの名無しさん:04/10/27 11:48:06
プログラミングの仕方なら学校の先生に聞けばぁ?
ここはプログラミングをしてて疑問にぶち当たって調べて、それでもわからなかったら聞くところ。

520 :デフォルトの名無しさん:04/10/27 12:26:24
>>518
問題を全部書きなさい。
すれば即座に回答する

521 :デフォルトの名無しさん:04/10/27 12:31:09
320135がどういう計算でJになるのか、
仕組みが書かれていないから答えようがない、と言っている。

明らかに末尾が1→A、末尾が2→Bとかいう単純なものじゃないだろ?



522 :デフォルトの名無しさん:04/10/27 12:33:08
>514
Java!宿題!
http://pc5.2ch.net/test/read.cgi/tech/1096959843/
今度からはここで聞いた方がよろし。(今からマルチすんなよ)

で、数値「320135」から文字「J」を導く式は?
このままだと何を入力しても
「学生証番号:320135
文字:J」
と出力するプログラムしか書けないんだが。

523 :デフォルトの名無しさん:04/10/27 12:46:24
いや、ですからあの暗号デコード式ですよ。
分からないんですか?

524 :デフォルトの名無しさん:04/10/27 12:49:16
暗号デコード式なんて世の中に掃いて捨てるほどある
それを全部適用して「ああ、これか」と確認しろと?

素直に「宿題が出来ませんでした〜」って教授に怒られてこい。

525 :デフォルトの名無しさん:04/10/27 12:52:03
今世紀最大のなぞだな

320135->J

何かものすごい真理が潜んでいるに違いない

526 :デフォルトの名無しさん:04/10/27 13:16:46
>>525
たいしたことないよ

32bitの対応表があるだけだ


527 :デフォルトの名無しさん:04/10/27 14:08:25
質問 A:
1 + x = 6 の場合の、x の値が分かりません。教えてください。

質問 B:
1 + x = y の場合の、x の値が分かりません。教えてください。

(以下略)

528 :509:04/10/27 15:20:48
自己レスです。

>>513で記載したコマンドライン
java -classpath hoge TimeQuery 8900 localhost
これを
java -classpath hoge TimeQuery 8900 192.168.0.X(自ローカルIPアドレス)
にしたところ、鯖から返信もらえました。

ループバックじゃダメってこと?
ttp://support.microsoft.com/default.aspx?scid=kb;ja;884020
この辺が関係してるのかしら・・・

帰宅したら↑の修正プログラムあてて、再報告したいと思います。

529 :デフォルトの名無しさん:04/10/27 16:17:59
Javascriptの変数をjavaに持ち込むことは可能でしょうか?
可能だった場合、やり方はどのように行えばよいでしょうか。

ぐぐっても全然分からなくて泣きそう(ノД`)

530 :デフォルトの名無しさん:04/10/27 16:23:51
>529
何がしたいのか、いまいちよー分からんが
JavaScriptでAPPLETタグを出力するんではダメなん?
(PARAM属性に渡したい変数の値が入るようにして)

531 :駒図5F:04/10/27 16:23:57
>>523は漏れでないでつよ。
マルチスマソ。

532 :デフォルトの名無しさん:04/10/27 16:27:52
>>529

クライアントサイドなのかサーバーサイドなのかわからん。

533 :497@学校:04/10/27 16:53:19
>>499
Image型の変数にgetImage(getCodeBase(), "tama1.gif");で画像入れてました。
はい。答えになってません。

で、それを他のクラスでやっちゃいけないのですか?
コンパイルは通るのに、実行のとき、メインのクラスすらないってステータスバーに出ます。

534 :497@学校:04/10/27 17:00:51
Image クラス型オブジェクトとして取得 して、
Graphics クラス型オブジェクトにセット です。

Graphics クラス型オブジェクトにセットというのが、無いのでしょうか?
でも、玉クラスで管理してなかったときと、同じ方法でやってると思うのですが・・。


535 :529:04/10/27 17:41:51
すんません、クライアント側で宣言したjavascript内での変数を
サーバー側にあるjavaにある変数に渡したいって事だったんです。
説明不足でホントごめん・・・

536 :デフォルトの名無しさん:04/10/27 17:47:09
>>535
Formで渡せばいいじゃない

537 :デフォルトの名無しさん:04/10/27 17:47:46
>534
ttp://rerere.zive.net/res/up/source/up3994.zip
解凍したら手を加えたTama3.javaが出てくる。
一応手元で動作は確認済み。
注意点はソースの中のコメントに##の目印つけて書いておいたから
とりあえず読んで。

てゆーか、みんなJavaの入門書ちゃんと読もうよ……
オブジェクト指向全般理解しろとは言わないが、クラスとか継承とか
最低限その辺りは理解してからやってくれ……
(別スレでも明らかにその辺が分かってない香具師が奇怪なコードを書いてたし……)

538 :デフォルトの名無しさん:04/10/27 17:54:16
すいません、staticメソッド内で作った
ローカル(?)クラスのスコープはどうなるんでしょうか?

class Test{

  static void method(){
    Dog Poti = new Dog();
  }


ここで別のクラスからmethodを2回呼び出すとどうなりますか?

539 :デフォルトの名無しさん:04/10/27 17:56:37
>>538
単語の使い方がめちゃくちゃだす

540 :デフォルトの名無しさん:04/10/27 17:56:37
>>538
各呼び出し毎に生成される。

541 :デフォルトの名無しさん:04/10/27 17:58:45
上書きされて消されるなら構わないんですが
毎回毎回インスタンスが作成されたとして
ちゃんとガーベッジコレクションでメモリは解放されるんでしょうか?

542 :デフォルトの名無しさん:04/10/27 18:08:06
メソッド呼び出し中に上書きされて消されたらまずいだろ。
毎回インスタンスが作成されて、きちんとGCで解放される。

543 :デフォルトの名無しさん:04/10/27 18:13:40
>>538
ローカル変数とローカルクラスとは違う。
あと変数とインスタンスも違う。

ローカルクラスってのはこーゆー奴ね。
class Test {
  static void method(){
    class Dog {} //ローカルクラス
  }
}

544 :デフォルトの名無しさん:04/10/27 22:55:32
内部クラスのpublic/privateの違いは、
他のクラスからClassA.ClassBみたいなアクセスを許すかどうかの違いですよね?
ではprivate内部クラスのメンバはpublic/privateによってどうかわるのでしょうか・・・

あと、内部クラスのstaticの有無の違いもわかりません・・・

どうも内部クラスはうまく想像できないみたいです。
設計図(クラス)の中にさらにべつの設計図の小冊子がはさまってるようなもんでしょうか。

545 :デフォルトの名無しさん:04/10/27 22:58:14
>>544
ここみてみて
ttp://milkyway.merseine.nu/Java/Java999.html
わからんかったらまたきて

546 :デフォルトの名無しさん:04/10/27 23:27:18
>>447
困る困らない以前に
Windows板か初心者板の話題だろ

Javaと関係ない。

547 :デフォルトの名無しさん:04/10/27 23:46:54
以下の文が何をするのか教えて下さい

int offset = ( (x < 0) ? -x : 0) + ( (y < 0) ? -y : 0) * width;

548 :ゆうき ◆MU2000.LWc :04/10/27 23:58:05
>>537
ありがとうございます。
やっぱり画像関連はメインのクラスでやるしかないんですね。
これで単純なゲームなら作れそうです。

549 :デフォルトの名無しさん:04/10/28 00:05:21
>>547
3項演算子

550 :547:04/10/28 00:06:52
>>549
3項演算子 なのはわかってるんだけど…
これって何処で途切れてるの??わかりやすく言い換えてくれませんか?

551 :デフォルトの名無しさん:04/10/28 00:07:46
>>547
xが負なら-xを、そうでないなら0を求めて、
yについても同様にして求めた値にwidthを掛けたものを加え、その値をoffsetに代入する。

a ? b : c;は以下に同じ。
if(a){
  b;
}
else{
  c;
}

552 :デフォルトの名無しさん:04/10/28 00:16:21
同じではなかった・・orz
3項演算子は評価して値を返すのか。

553 :550:04/10/28 00:16:52
>> 551

サンクスこ。

554 :デフォルトの名無しさん:04/10/28 01:08:06
あの〜ホントに初心者でパソコン音痴の女なんですが
ちょっと質問させて下さい!!
ネットにあったHelloWorldっていうソースをメモ帳でコピペして、
それをコマンドプロンプトでコンパイルしようとしたら

エラー:HelloWorld.javaを読み込めません。
エラー1個

っていうふうになっちゃうんです(涙)
学校の宿題であさってまでにやらなきゃいけないんでとても焦ってます
できたら教えてもらえないでしょうか☆お願いします!


555 :デフォルトの名無しさん:04/10/28 01:10:45
こんな感じのSPAMがよく来る

556 :q:04/10/28 01:26:18
1. Collection に、データがたくさん入ってます。
 データは、Hogeクラスのサブクラスのインスタンスです。
2. そのCollectionから、データを一個探します。
 検索にはFugaクラスのサブクラスのインスタンスを使います。

このとき
Fuga findKey = ...;
for( Iterator it = Collection.iterator; it.hasNext(); )
    if( findKey.isEqualsTo( (Hoge)it.next() ) )
        return true;
return false;
と検索用のコードを書き、抽象メソッドFuga#isEqualsTo( Hoge hoge )を
boolean FugaSub1#isEqualsTo( Hoge hoge ) {
    return hoge instanceof hogeSub1 && ((hogeSub1)hoge).foo() == fugaSub1.member;
}
などのように実装しました。


俺ってinstanceofが嫌いなんです。
で、このような、コレクションからオブジェクトを検索するような方法が
全うなのかそうでないのかを教えてもらいたいのです。
もしもさ、もしも、きみなら、どんな風に書く?

557 :r/556:04/10/28 01:29:46
>>556
訂正
boolean FugaSub1#isEqualsTo( Hoge hoge ) {
    return ( hoge instanceof HogeSub1 ) &&((HogeSub1)hoge).foo() == this.member;
}
かな。

558 :デフォルトの名無しさん:04/10/28 01:30:12
BorderLayoutにJScrollPaneを載せてみたんですが
最初スクロールバーが出てる状態で、最大化するとスクロールバーが消えました。
また元の大きさに戻すとスクロールバーが出たんですが
マウスホイールが効かなくなってしまいました。なぜでしょうか?

559 :デフォルトの名無しさん:04/10/28 01:59:06
>>556
そのListだかにHogeオブジェクトしか入ってないなら
Genericsで解決しそうな気がするよ

>>558
スクロールバーが消えるのがいやなら
JScrollPane#setVerticalScrollBarPolicy(int policy)
でScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYSを指定で

マウスホイールの方はもう少しヒントがないとわからんちん
勘で答えるとsetSizeで変なことやってるとか
フォーカスが変なことになってるとか、かな

560 :デフォルトの名無しさん:04/10/28 02:25:32
Javaの入門書でオススメは何ですか?
知識ゼロからでも理解できて、最終的に自分でJavaプログラムを組めるようになるやつがいいでつ。

561 :509:04/10/28 02:34:47
>>528の修正プログラムあてたけどダメでした。
不貞寝してやるわ。

562 :509:04/10/28 03:00:41
>>560
本買う前に、この辺見てみなさい。
ttp://www5c.biglobe.ne.jp/~ecb/java/java00.html
ttp://www.mars.dti.ne.jp/~torao/program/


563 :デフォルトの名無しさん:04/10/28 06:11:05
これから Java を学ぼうと思ってるんですが、Java の将来性ってどんなもんでしょう?
なんかもうすぐ消えるとの噂も聞きますが…

将来性がどうとかで学ぶのを辞める気はありませんけど、一応知っておきたいので…

564 :デフォルトの名無しさん:04/10/28 06:16:54
2chでそんなこと聞いても偏った答えしか返ってこないんじゃない?

565 :デフォルトの名無しさん:04/10/28 09:45:43
>>563
確かに、JAVAはもう駄目だろうね。
みんなもう分かってきてる。
今じゃもう完全にサーバサイド向けだって開き直ってしまったけど、
そのサーバサイドでも、意外と開発工数が掛かり効率が悪い事が
現場じゃ知られてきてしまったから、だんだん外の言語にシフトしつつある。
招来性は暗いね。

566 :デフォルトの名無しさん:04/10/28 09:48:36
> 招来性は暗いね。
なんで こんなトコロで誤変換してんだろ?

567 :デフォルトの名無しさん:04/10/28 11:13:39
>>563
一言で言えば、帯に短したすきに長しなんだよな。
JAVAって。
Webアプリケーション開発でも開発時間が思ったほど短縮できないから
意外と使われてなかったり、倦厭されてたりする。
何時の間にか自然消滅してる可能性は高いね。
これからJAVAを学習しても、せいぜいオブジェクト指向の理解にしか
役立たなかったて事になるかも。。。


568 :デフォルトの名無しさん:04/10/28 11:26:24
つーか、JAVAの将来性が無いなんて、いろんな所で言われてるじゃん。

569 :デフォルトの名無しさん:04/10/28 11:37:18
SEもマも将来性なんて無いんだから、言語なんて何やってたって同じだろ

570 :デフォルトの名無しさん:04/10/28 11:40:28
一番将来性がなさそうなのは>>563でFA?

571 :デフォルトの名無しさん:04/10/28 11:45:40
このスレのJavaの達人さんはどんな仕事をしてるんですか?

572 :563:04/10/28 11:51:15
>>570
しょぼーん(´・ω・`)

573 :デフォルトの名無しさん:04/10/28 11:53:52
Webアプリの開発メイン。
しかしJAVAで開発する事は少ない。
自分は、元々SUNのデザインが気に入らなかったのでいいが。。。


574 :デフォルトの名無しさん:04/10/28 11:58:15
>>573
すごいですね〜。
僕みたいな素人には何の仕事か分からないけどw

575 :デフォルトの名無しさん:04/10/28 13:19:32
Javaの起動オプションの-Dline.separator=設定がわからん。
-Dline.separator=\nとかやっても\nが表示されて改行されない。
おまえら、おしえれ



576 :デフォルトの名無しさん:04/10/28 18:33:53
UNIXなら
$ java -Dline.separator=[Ctrl-V][Ctrl-J]
でどう?


577 :デフォルトの名無しさん:04/10/28 19:04:21
アメリカでJAVAを使っているのですが、日本語が見れなくてかわりに 
□□□ と表示されます。誰か直し方知ってましたら教えてください。
初心者なのでできればわかりやすくお願いします

578 :デフォルトの名無しさん:04/10/28 19:06:29
>>577
日本でVAIOでも買って使え

579 :デフォルトの名無しさん:04/10/28 19:09:51
>>565
具体的に何がくる?
転職の参考にするからオシエレ

580 :デフォルトの名無しさん:04/10/28 19:12:56
>>579
死滅スレからの出張に手を出すのやめれ


581 :579:04/10/28 19:14:45
スマンコ

582 :デフォルトの名無しさん:04/10/28 19:16:10
>>579
信長

583 :デフォルトの名無しさん:04/10/28 19:27:28
>>578
え? 修復不可能?


584 :デフォルトの名無しさん:04/10/28 19:42:33
>>583
>初心者なのでできればわかりやすくお願いします

585 :デフォルトの名無しさん:04/10/28 19:54:25
>>584
まぁそういわれれば(笑)
質問スレなんだからいちいち初心者おちょくんなよ。



586 :デフォルトの名無しさん:04/10/28 20:58:39
>>577
コンパネの「地域と言語のオプション」から日本語入れてもだめ?

587 :デフォルトの名無しさん:04/10/28 21:25:28
//Enshuu43.java
class Enshuu43{
public static void main(String[]args){
int a=1;
int b=2;
int c=3;
System.out.println("a+b+c="+a+b+c);
}
}
のプログラムを実行すると
表示がa+b+c=6
にならないのはなぜ?

588 :デフォルトの名無しさん:04/10/28 21:27:57
>>587
"a+b+c="+a+b+c は ((("a+b+c="+a)+b)+c) と同じ。

589 :587:04/10/28 21:31:02
>>588
即レス サンクス

590 :デフォルトの名無しさん:04/10/28 22:06:42
アプレットの実行中に、appletviewerの再読込みと同じような動作をさせるには
どのようにすればいいのでしょうか?
「ボタンを押すとアプレットが再読込みされる」
というものを作りたいと思っています。

591 :デフォルトの名無しさん:04/10/28 22:30:28
>>590 getAppletContext().showDocument()で開きなおしじゃだめなん?

592 :デフォルトの名無しさん:04/10/28 23:01:37
>>587
面白い題材だね。

593 :デフォルトの名無しさん:04/10/28 23:18:47
java.exeとjavaw.exeの違いはなんですか?

594 :デフォルトの名無しさん:04/10/28 23:20:33
>593
AWTかSwingでアプリケーション作って(アプレットじゃあかんですよ)
それぞれで実行してみ。すぐ分かる。

595 :デフォルトの名無しさん:04/10/28 23:24:53
javawはコンソールを使わないjava。

596 :デフォルトの名無しさん:04/10/29 06:40:57
Object[]からHoge[]にキャストするにはどうすればいいんですか?

597 :デフォルトの名無しさん:04/10/29 06:48:12
(Hoge[])array
ただし、array は Hoge もしくはサブクラスの配列のインスタンスを持っている必要がある。

598 :r/556:04/10/29 07:18:18
>>559
Genericsは関係ないのでは

599 :デフォルトの名無しさん:04/10/29 11:53:56
超初心者です。javaのジャも知りません。
このスレは初心者歓迎らしいので質問させていただきます。

あるホームページでExecutable Jar Fileとjavaバーチャルマシンというものを
ダウンロードしました。このマシンでファイルが実行できる(半導体材料の物性値,移動度の
キャリヤ濃度依存を様子がパラメータを変えつつ対数グラフで観察できる)のですが
このファイルに書かれている数式やプログラムが見たいときはどうすればいいのでしょうか。
メモ帳でみても漢字ばかりのものになってしまいます。
 

600 :デフォルトの名無しさん:04/10/29 12:02:22
>>599
プログラム知らないなら見ても理解できないと思うが?

601 :デフォルトの名無しさん:04/10/29 12:03:33
>599
必ずできますが基本的に無理です

602 :デフォルトの名無しさん:04/10/29 12:05:38
>>599
ダウンロード元のホームページの作者に聞けよ。

603 :575:04/10/29 12:14:41
>>576
すまん、Win

604 :デフォルトの名無しさん:04/10/29 12:50:47
>600 プログラムというよりは数式が知りたいので。
   それがわかればigorで作れると思います。 


605 :デフォルトの名無しさん:04/10/29 13:04:57
>>604
だからお前さんにゃプログラムから数式を読みとることができねーだろって。
ここは初心者歓迎かもしれんが、ド素人はお断りだ。


606 :デフォルトの名無しさん:04/10/29 13:11:27
>>605
何を言ってるんだよ。
プログラム読めば数式くらい読み取れるに決まってるだろ。
>>599は、あかでみっくな人と見た。
んなくだらない野次入れる前に質問に素直に答えたらどうだ?
分からないのなら分からないって素直に言えばいいだろ。
ここはお前さんのみじめな現実の憂さ晴らしをする為に
ストレス解消スレッドじゃないんだよ。
他人を中傷したいだけなら外のスレッドに行ってくれ。


607 :デフォルトの名無しさん:04/10/29 13:15:59
>>606
jad や jode みたいなデコンパイラ使え。
デコンパイラの使い方やどこでダウンロードできるかは google 使って自分で探せ。

608 :デフォルトの名無しさん:04/10/29 13:19:33
>607
ありがとうございます。調べてみます。
 

609 :デフォルトの名無しさん:04/10/29 13:23:28
>>606
>>605>>599がJavaを知らないから、数式を読みとれないと言いたいのでは?

610 :デフォルトの名無しさん:04/10/29 13:28:43
>>606
なんでお前は教えてあげなかったの?

611 :606:04/10/29 13:34:14
うるさい。黙れ。クズどもが。
俺は天才だ。

612 :デフォルトの名無しさん:04/10/29 14:36:58
というお話だったのサ。AA略

613 :デフォルトの名無しさん:04/10/29 14:59:49
みんな仲がいいな。夫婦漫才みたいだ。
このスレ気に入ったよ。

614 :デフォルトの名無しさん:04/10/29 15:02:35
>607
DJ java decompiler を使ってできました。ありがとうございました。
 普通に数式わかりました。
 

615 :デフォルトの名無しさん:04/10/29 15:07:18
JTextField を継承して OriginalTextFieldを作成しています。

JComponent > JTextComponent > JTextField > OriginalTextField

こういう継承でJTextComponentのgetPreferredSize()を取得するには
どのようにすればよいのでしょうか。

super.super.getPreferredSize();

という方法ではうまくいかないようです。

どなたかお教え下さい。
宜しくお願いいたします。


616 :デフォルトの名無しさん:04/10/29 15:24:18
JTextFieldとJTextComponentとJComponentの
getPreferredSize()は同じものなので、
普通にsuper.getPreferredSize()とするだけでいいです。
JAVAでは、スーパークラスより上を遡ってのメソッド呼び出しは
できません。

617 :606:04/10/29 15:25:05
もう一度言う。
俺は天才だ。

618 :デフォルトの名無しさん:04/10/29 15:33:25
> 616

やっぱりスーパークラスより上は無理なんですね。

JDK1.4ですがそれぞれ実装は違うんですよ。
一個上ではcolumnsの計算が追加されています。
(そこだけ変えようと考えていました)

とりあえず出来ないことが判ればOKです。
ありがとうございました。

619 :デフォルトの名無しさん:04/10/29 16:01:25
>>618
columsの計算とはなんですか?

620 :デフォルトの名無しさん:04/10/29 17:36:56
>619

文字数でサイズを計算する処理です。
JTextFieldの計算だと、LookAndFeelのせいか、文字数より若干切れることが
あるので、自分で実装しようとしてました。

621 :デフォルトの名無しさん:04/10/29 18:21:02
文字数でサイズって……
FontMetrics.stringWidth()か、
SwingUtilities.computeStringWidth()
あたりを使うんじゃあ?


622 :デフォルトの名無しさん:04/10/29 18:56:04
>>620
それは、もしかしてJTextFieldの先頭部分の文字が少し切れてしまう
(左側の部分が表示されない)という事ですか?


623 :デフォルトの名無しさん:04/10/29 19:29:38
よくあるGUIで
上下の矢印(スクロールバーの矢印のやつ)があってそれをおすと
隣のラベルかなんかの中の数字が増えたり減ったりするやつ作りたいんですが
あれはどうやればいいんですか?リストでやろうとしたけど選択されないからイベントが拾えなかったです

624 :デフォルトの名無しさん:04/10/29 19:37:36
>>623
javax.swing.JSpinnerを使いましょう。
ttp://java.sun.com/j2se/1.4/ja/docs/ja/guide/swing/1.4/spinner.html
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/JSpinner.html

625 :デフォルトの名無しさん:04/10/29 19:41:44
うっひょぉ!そんながあったとは!ありがつお!

626 :デフォルトの名無しさん:04/10/29 21:23:48
直接関係ないと思うんだけど、
FormタグSubmitで作られたボタンを感知・Pushしたり出来る?

627 :デフォルトの名無しさん:04/10/29 22:00:26
無理

628 :デフォルトの名無しさん:04/10/29 22:42:20
>>626
アプレットの話?
JavaScriptでイベントとらえられるなら
LiveConnectでアプレット側に伝えられる気がするけど

629 :デフォルトの名無しさん:04/10/30 04:45:50
Java2SDKをインストしたけど、どうやってプログラムを
実行したらいいかわかりません。
助けてください・・・・ウィンドウズxpを使ってます。

630 :デフォルトの名無しさん:04/10/30 05:33:58
アプレットでキーボードからの入力を受け付けようとしているのですが、
アプレット上にGUIのボタンがあるとそっちにフォーカスが合ってしまい、
キーボードからの入力が受け付けられません。
ボタンにフォーカスが合わないようにする方法はあるのでしょうか?

631 :デフォルトの名無しさん:04/10/30 05:35:22
http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&q=Java+%E5%AE%9F%E8%A1%8C

本を買うことをお勧めします。
http://www.amazon.co.jp/exec/obidos/tg/browse/-/515820/ref=br_dp_b_1_lf/249-8880142-9850719


632 :デフォルトの名無しさん:04/10/30 06:15:33
Javaのおすすめの入門書教えろ。

633 :デフォルトの名無しさん:04/10/30 06:40:32
http://java.sun.com/docs/books/tutorial/download/tutorial.zip

634 :デフォルトの名無しさん:04/10/30 14:55:28
木の走査法について
          ┌― C
           |
   ┌― B―┤
   |      |
   |     └― D
   |
A―┤
    |
    |     ┌― F
    |      |
   └― E―┤
           |
          └― G

という木があったとします。
これを、前順走査法に近い形で、
A→B→C→A→B→D→A→E→F→A→E→G
という形で走査したいのですが
うまく走査する方法ありますでしょうか。(できれば再帰を使って・・・。)
クラスの形はcompsiteパターンに似た形で以下のようになってます。(次レス)

635 :デフォルトの名無しさん:04/10/30 14:57:08
class Tree{
 /** Nodeの子となる要素 */
 List child_;
 /** Nodeの一要素 */
 Hoge bean_;
 Tree( Hoge bean ){
   bean_ = bean;
 }
 void addNode( Tree top, Tree tree ){
   if( tree.getChild() != null ){
     /* topから走査し、bean_の中をみて木のどこにいれるか判定 */
     Iterator it = top.getChild().iterator();
     while( it.hasNext() ){
       Tree node = (Tree)it.next();
       if( node.getBean().get().equals(tree.getBean().get()) ){
         node.addChild( tree );
       }// これを木の最下層まで・・
     }
   }else{
     tree.addChild( tree );
   }
 }
}
続く・・

636 :デフォルトの名無しさん:04/10/30 14:57:44
 List getChild(){
   return child_;
 }
 Hoge getBean(){
   return bean_;
 }
 void addChild( Tree tree ){
   if( child_ == null ){
     child_ = new ArrayList();
   }
   chiild_.add( tree );
 }
}
ここまで。
で以下のように使用
class Test{
 void public static void main( String[] args ){
   Tree top = new Tree(null);
   Hoge bean1 = new Hoge();
   bean1.set("A");
   Tree node1 = new Tree( bean1 );
   top.addNode( node );
   Hoge bean2 = new Hoge();
   bean2.set("B");
   Tree node2 = new Tree( bean2 );
   top.addNode( node2 );
 }



637 :r:04/10/30 15:11:48
何のコードだ?
addNodeの引数は幾つだ。
Nodeって何だ。TreeがNodeなのか?


638 :r:04/10/30 15:14:48
addNodeで、
tree.getChild() が null のとき、
tree に tree 自身を addChildするのはなんで?

639 :634:04/10/30 15:14:48
>637
木のクラスです。
addNodeの引数は2つでした。
class Testの以下を訂正します。
誤:addNode( node );
正:addNode( root, node );


640 :634:04/10/30 15:22:02
さらに訂正。
// これを木の最下層まで・・
の1行上
誤:node.addChild( tree );
正:node.addNode( top, tree );
ですた。



641 :634:04/10/30 15:25:32
すいません。。
またまた修正。。

>638でおっしゃられてる部分。
tree.addChildではなく、
単に
addChildです。

誤:tree.addChild(tree);
正:addChild(tree);



642 :634:04/10/30 15:27:08
修正した部分整理して再度貼り付けます。
 void addNode( Tree top, Tree tree ){
   if( tree.getChild() != null ){
     /* topから走査し、bean_の中をみて木のどこにいれるか判定 */
     Iterator it = top.getChild().iterator();
     while( it.hasNext() ){
       Tree node = (Tree)it.next();
       if( node.getBean().get().equals(tree.getBean().get()) ){
         node.addNode( top, tree );
       }// これを木の最下層まで・・
     }
   }else{
     addChild( tree );
   }
 }


643 :デフォルトの名無しさん:04/10/30 15:40:54
内部演算だけでもJTree使ったほうが楽じゃないか?

644 :634:04/10/30 15:49:17
>643
画面とは関係のないところなので、どうでしょう。。
swing使ったこと無いのでなんともいえないのですが
何か楽なことがあるのでしょうか。

645 :デフォルトの名無しさん:04/10/30 15:52:55
>>644
A→B→C→A→B→D→A→E→F→A→E→G
と、一度読んだノードを再度読むのは何故ですか?

646 :デフォルトの名無しさん:04/10/30 15:54:24
>>644
すでにかれたコードなので自分で実装するよりバグが少ないだろうし安心感がある
といいたいところだが、再発明好きなら自分で実装するのもいいだろうね

実際のところ>>645のいうとおり、そういう変なアクセスの仕方はあまりしないのだけれども

647 :デフォルトの名無しさん:04/10/30 15:55:46
>>644
テストするときに画面に出力して確実なチェックが入れれる
とか?

648 :634:04/10/30 15:59:06
>645
業務的な仕様です・・。

>646-647
木構造自体はもう>634のコードでできているようなので
今回はJTreeは見送ります。また今度機会があったら調べてみます。

649 :デフォルトの名無しさん:04/10/30 16:16:36
>>586
初心者で申し訳ないんだけど、JAVA Plug-in 1.4.2 ってのを使ってて、
コンパネには言語と環境という設定は見当たらないです。
不便に感じるのはゲームは日本語見れない時くらいなんだけど、
日本語化のやり方知ってたら教えてください。

650 :r:04/10/30 16:17:19
だめだ!
俺がお手本の、完璧なTreeを書いてやろうと思っていたんだが
全然できなかった。

なので、とりあえず、
1. Treeに、次のようなコードを加える
void scan( Scanner scanner ) {
scanner.action( this );
for( Iterator it = list_.iterator(); it.hasNext() && scanner.isAlive(); )
((Node)it.next()).scan( scanner );
}
2. Treeに、リーフなのかどうかがわかるようなisLeafを追加する
3. 抽象クラス Scanner をつくる
abstract public class Scanner {
boolean isAlive = true;
abstract public void action( Tree tree );
}
4. Scannerを半端に実装する
public class XXXXScanner extends Scanner {
private HashSet set = new HashSet();
public void action( Tree tree ) {
if( tree.isLeaf() ) {
if( ! set.isContain(tree) ) {
leaf.add( tree );
realAction( tree );
alive = false;
}
else
realAction( tree );
}
abstract protected action( Tree tree );
}

651 :デフォルトの名無しさん:04/10/30 16:23:39
JTreeで実装したほうが楽
というだけで使うメリットあるだろうて
ルートからのパスも問題なく取得できるしな


652 :r:04/10/30 16:24:46
ほら。
コンパイルして試さないと、なんか変なコードになってしまっている。
全くコンパイル通る気配もないような。


まあ、何となく意図はわかったろ。
要は
1.Treeの全ノードを訪れるようなScannerをつくる、
2. それのサブクラスXXXXScannerは既に訪れたLeafには働きかけないようにする。
3. scanが終わったら、同じXXXXScannerを使って再scanする。
4. 全Leafを走査するまで、3を繰り返す
(つまり、XXXXScannerに、全Leafを走査したかどうかを調べる機能も必要だな)

653 :r:04/10/30 16:28:30
とかおもったけど、それだと
A-B-C
A-B-D
A-B-E-F
A-B-F-G
って言う順番になっちゃうな。

ええっと、どういう順番に走査してるんだ?
そのルールを教えてくれ
>>634

654 :デフォルトの名無しさん:04/10/30 16:31:09
>>634
下記のメソッドで、A→B→C→A→B→D→A→E→F→A→E→G
の順で走査(ここではbeanの中身をprintlnで表示する)する事になる。。。

void searchNode(Tree tree, List ancesList) {
  List childList=tree.getChild();
  if(childList==null) {
    for(int i=0; i<ancesList.size(); ++i) {
      Tree obj=ancesList.get(i);
      System.out.println(obj.getBead());
    }
  } else {
    List crtAncesList=new ArrayList(ancesList);
    crtAncesList.add(tree);
    for(int i=0; i<childList.size(); ++i) {
      Tree obj=childList.get(i);
      searchNode(obj, crtAncesList);
    }
  }
}


655 :r:04/10/30 16:33:32
おっと!何となくわかったぞ。

1. Leafに到達するまで走査する(ただし、何のアクションもしない)
2. Leafに到達したら、ルートノードまで、逆順にたどる
 このとき、たどったノードを全部記録する
3. 記憶されたノードに、順に操作を適用する。

こんな風にしたいのか。そかそか。

656 :r:04/10/30 16:36:42
とか、のんびり考えてたら
>>643から回答が。


657 :634:04/10/30 16:42:40
レスされた内容に対して考えるとレスがおそくなりますな・・。

>654
二つ目の引数のListには何を渡すのですか?

>655
そうです。そんな感じ。

>656
結局JTreeになりますか。。もう木構造自体は出来ているので
これをJTreeに書き直すのは時間がかかりそう。。


658 :デフォルトの名無しさん:04/10/30 16:47:08
>>657
最初の呼び出しは、
searchNode(top, new ArrayList());
で。


659 :634:04/10/30 17:12:52
>654
おお!やっとわかった!!
そういうことですか!

うわすげぇな。こんなのぱっとかけちゃうもんなのか。。

みなさんありがとうです。



660 :デフォルトの名無しさん:04/10/30 17:51:13
初めまして。
Apache 2.0.52+Tomcat 5.0.28にてJSPに挑戦しています。
下記のエラーが出て困っております。

例外

org.apache.jasper.JasperException: JSPのクラスをコンパイルできません
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97)
スタックトレースは以下省略

原因

Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
org.apache.tools.ant.taskdefs.compilers.CompilerAdapterFactory.getCompiler(CompilerAdapterFactory.java:106)
スタックトレースは以下省略

過去ログにありそうなものでしたので、探したのですが見つけられませんでした。

開発環境と運用環境を別に用意していまして、
運用環境では実行できるのですが開発環境で上記のようになります。

JAVA_HOME、CLASSPATHなどが怪しそうですが
運用環境ではその二つはなにも設定していないのに動作しています。
開発環境でなぜ動かないのかわかりません。

見落としている設定項目等思い当たることがありましたらご教授願います。

661 :デフォルトの名無しさん:04/10/30 17:57:41
>>660
tools.jarにクラスパスとおしてね。javacの本体はその中に入ってるから。
もしくはJAVA_HOMEがJDKを指してれば自動的に探してくれると思うよ。

662 :デフォルトの名無しさん :04/10/30 18:01:38
InputEventのgetModifiers()とgetModifiersEx()の違いは何ですか?JavaDocにはgetModifiers()の説明がないし分かりません。
戻り値となる定数もDOWNがつくかつかないかで数は一緒のようですし。

663 :デフォルトの名無しさん:04/10/30 18:09:49
>>662
getModifiersEx()はJava1.4から。
getModifiers()は互換性を守るために残されてるんじゃないかな
1.4以上がターゲットならEx使えば良いかと

664 :663:04/10/30 18:22:15
具体的な違いでいうと、マウスのどのボタンが押されたかの
検出ができるようになったんだっけ? > Ex
うろおぼえですまそ
まあ気にせずEx使おうよ>>662

665 :デフォルトの名無しさん :04/10/30 18:26:05
>>663 >>664
どうもありがとう。
JavaDocのInputEventの最初の方になんか書いてありましたね。
まあExのほうを使えば大丈夫なんですね。

666 :660:04/10/30 18:26:28
>>661
即レスありがとうございます。
ご指摘の通り、環境変数でtools.jarにCLASSPATHを通しましたが治りませんでした。

しかしtools.jarをMonitor Tomcatのダイアログで設定できる
CLASSPATHにtools.jarへのパスを追加したら治りました。

なぜ動かなかったのか原因不明ですが解決しました。
ありがとうございました。

667 :665:04/10/30 18:29:01
>>665
間違った。
MouseEventのところに書いてあったか。

668 :デフォルトの名無しさん:04/10/30 19:06:20
>>657
JTreeなんて1日で理解できるし
すべてのツリーのパス取得とかもさくっとできる

なにより標準APIなので後から追う場合(特に業務なら他人が見ることも多いだろうから)わかりやすい

デメリットはあんまないな


669 :デフォルトの名無しさん:04/10/30 19:36:25
JTree ってGUIコンポーネントだから
「木構造」を扱うってだけの理由で使うのはアレだと思われ。

670 :デフォルトの名無しさん:04/10/30 20:07:23
>>649
俺も初心者だけど・・・
JAVA Plug-in 1.4.2?JREのこと?
日本語入力できてるんだから、MS-IME入ってるんだよね?
「地域と言語のオプション」あると思うんだけどなあ。
そこにUnicode対応でないプログラムに使用する言語が設定できるから
そこを日本語にしてみてほしい。
あとはわかんないや。

671 :デフォルトの名無しさん:04/10/30 21:12:56
>>669
ほとんどの部分はJTreeそのものではないのでさほど問題にならない
TreeNodeとかTreePathとかな

モデルとビューが分離してるからこそ使いやすいというか


672 :デフォルトの名無しさん:04/10/30 21:51:51
>>666
見つけられなかったんだろうと思いますが、
こちらにTomcatについてのドキュメントの日本語版があります。ぜひ読んで下さい。
ttp://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/

「セットアップ」:ここに、環境変数JAVA_HOMEをセットせよ、とある。
ttp://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/setup.html

「クラスローダ」:ここに、Tomcatの起動スクリプトは環境変数CLASSPATHを無視する、とある。
http://www.jajakarta.org/tomcat/tomcat5.0/ja/docs/tomcat-docs/class-loader-howto.html

673 :デフォルトの名無しさん:04/10/31 00:01:21
なんでコレクションクラスにTreeがないんだろうね

674 :デフォルトの名無しさん:04/10/31 00:02:00
無視かよ!
ただのつっこみです。

675 :デフォルトの名無しさん:04/10/31 01:13:02
Exceptionをキャッチした時に

try{
なんかの処理
}catch(-----Exception e){
System.out.println(place + "で" + e + "が投げられました");
}

みたいなのをやりたいんですが、place(場所を保持している)みたいなのを
実現するにはどのような方法がありますでしょうか?
探してみたんですが、ピンポイントの情報が見つかりませんでした。
どなたか教えてください。よろしくおねがいします。

676 :デフォルトの名無しさん:04/10/31 01:13:24
定数として配列使いたいのですが
class X{
final public static int[] A = {0, 1, 2};
}

しかし、これって順番変えようと思えば変えられるんですね。
確実に変えられないようにするアイデアありますか。

677 :デフォルトの名無しさん:04/10/31 01:23:46
>>675
e.getStackTrace() して getLineNumber() とか

678 :デフォルトの名無しさん:04/10/31 01:24:54
JTreeを使えっていっちゃわずにTreeModelを使えって言っておけば
Viewと関係ないModelだけの話になるからGUIとは無関係と言い張れる。


679 :675:04/10/31 01:46:18
>>677
StackTraceElementのメソッドを使えば、クラス名からメソッド名までなんでも
わかるんですね。APIのリファレンスみたらわかりました。
こりゃすごい。早速使ってみます。

680 :デフォルトの名無しさん:04/10/31 02:17:00
javaの解説サイトにある、javaからmysqlのデータベースの内容を表示させるプログラムを落としてきて、
記述通りにデータベースを登録してから実行したんですが、解説HPではデータベースに登録されていた名前とふりがなが表示されているのですが、
私のパソコンでは
SQLState: 28000
VendorError: 1045
と表示されます。
どなたか原因を教えてもらえないでしょうか?

681 :デフォルトの名無しさん:04/10/31 02:25:55
age

682 :デフォルトの名無しさん:04/10/31 03:50:09
>>676
Javaでは配列を不変にすることは無理。

対処法1.
メソッドにして毎回配列を返す。毎回配列をnewしてもいいし
内部でstaticに配列を持っておいて毎回cloneしてもいい。

対処法2.
リストで我慢する。リストならCollections.unmodifiableListで不変にできる。
5.0以降ならGenericsがあるんでリストで問題なかろう。

対処法3.
Enumで置き換えられないか検討する。

683 :デフォルトの名無しさん:04/10/31 17:34:09
C++ではライブラリを公開するときにlibファイルとヘッダを配布すれば良かったのですが、
Javaではヘッダに相当する物がないので、
ソースファイルを丸ごと公開するしか無いのでしょうか?

684 :r:04/10/31 17:38:15
>>683
クラスファイルとJavaDocで充分

685 :デフォルトの名無しさん:04/10/31 17:38:45
>>682

ありがとうございます。

実は、私の件では、よくよく考えるとPublicな定数にするまでもないことでした。

設計をよく見直してそれでも配列を定数にする必要があるか考えるようにするほうがよかった


686 :デフォルトの名無しさん:04/10/31 18:01:32
センター試験(1/15 AM9:30)までの日/時間/分/秒
のカウントダウンを置きたいのですが
調べてもその日付けまでのカウントダウンまでしか出てきません。
コードを貼っていただけないでしょうか。

687 :デフォルトの名無しさん:04/10/31 18:09:45
それより勉強したほうがいいんじゃないかい?

688 :デフォルトの名無しさん:04/10/31 18:09:53
足せよ。ばか

689 :デフォルトの名無しさん:04/10/31 18:39:15
Vectorはスレッドセーフ、ArrayListは非スレッドセーフと聞きますが
これはつまりVectorのインスタンスに2スレッドが同時にアクセスすることは無いが
ArrayListのインスタンスには2スレッドが同時にアクセスし得る、ということですか?
Vectorクラスのインスタンスメソッドには全部synchronized修飾子が付いてるけど
ArrayListはそうじゃないからsynchronized(arrayList){}でくくれってことですか?

690 :デフォルトの名無しさん:04/10/31 18:42:54
PERT図を図示したいんですけど、Swingのどれを使えばいいですか?
いいサンプル、またはアイデアがあったら教えてください。
ぐぐって1つ出てきたんですが、キャッシュにも残ってないし。
そのPERT図をPNGなどの画像に出力する方法もできれば・・・

691 :デフォルトの名無しさん:04/10/31 19:02:24
>>689
Vectorもスレッドセーフじゃないから安心してArrayListを使え。
Vectorがスレッドセーフだと言ってる奴はただの馬鹿

692 :デフォルトの名無しさん:04/10/31 19:28:06
>>691
コレクション操作が複数のスレッドから同時にアクセスされたら
おかしくなるのは当たり前

そういうことがないのが前提でもマルチスレッドだとArrayListは
同期化のコードがないと動作が保障されない

この差がVectorがスレッドセーフといってる部分だと思う
スレッドが異なれば変数の内容も異なる

SwingでVectorを多用しているのも別スレッドからのアクセスの容易さ
というのが多少は関係しているかと
Swingはスレッドが必ず作られて動くわけで

実際はSwingは1.1のオプションだったからというのが原因だと思うけどな


693 :r:04/10/31 19:40:28
>>692
なんか、むかし
「クイックソートでは、ソートされない事がある、信用できないソートだ」
って主張してた人がいたのを思い出した。

694 :691:04/10/31 20:47:14
>>692


695 :691:04/10/31 21:12:34
>>692
>コレクション操作が複数のスレッドから同時にアクセスされたらおかしくなるのは当たり前

そんなものを「スレッドセーフ」と呼ぶのは詐欺以外の何者でもない。

java.util.Vector
>Vector is synchronized.

java.util.regex.Pattern
>Instances of this class are immutable and are safe for use by multiple concurrent threads.

この違いは大きい


696 :デフォルトの名無しさん:04/10/31 21:51:12
synchronizedの動作がわかっていれば>>692のいうことで十分わかるだろう。

おかしくなるというのはよくロック周りの話で、残高照会して実際に引き出す処理
と順次処理を排他制御せずに使用すると崩れるという意味ではないかな。
実際Vectorは同時にアクセスしてもそれぞれのメソッドでおかしくなることはない。

スレッドによる変数の不一致の同期化と排他制御という根本的にはまったく別の機構が
ともにsynchronizedという文を使うから紛らわしいのでは。


697 :デフォルトの名無しさん:04/10/31 21:57:21
スレッドセーフではあるんでないかい?
ただ、実際に使う場合にはもっと大きな範囲で排他をかけないといけない、
というだけで。


698 :デフォルトの名無しさん:04/10/31 23:09:48
>692 「複数のスレッドから同時にアクセス」と「同期化」
>696 「スレッドによる変数の不一致の同期化」と「排他制御」
なにやら2つの問題が絡んでいるんですね・・・
Vectorは「同時アクセス禁止」=「排他制御」だけサポートしていて
「同期化」はサポートしておらず、
ArrayListはどちらも自分でやらなければならない・・・ということかな・・・

違いがいまいちわからない俺はあの質問をするには幼すぎたようです
ありがとうございました

699 :デフォルトの名無しさん:04/10/31 23:10:53
>Vectorは「同時アクセス禁止」=「排他制御」だけサポートしていて
>「同期化」はサポートしておらず、
あ、逆か・・・?

700 :デフォルトの名無しさん:04/10/31 23:19:14
Vector は同期をとります。

701 :デフォルトの名無しさん:04/10/31 23:28:22
>>698
その質問には意味がある。一番簡単な答えは
・Vectorはスレッドセーフではない。
・だから複数スレッドで共有されるVectorに対するひとまとまりの操作はsyncronizedブロックで囲まなければならない。
・それならArrayListを使っても同じ。Vectorを使う意味は無い。

もっと詳しく知りたい場合はここがよくまとまってる。
http://www-6.ibm.com/jp/developerworks/java/040409/j_j-jtp09263.html


個人的に一番重要だと思うのはここの部分
>明確なドキュメントが無いと、読み手はクラスのスレッド・セーフに関して誤った推測をしてしまうかもしれないのです。
>つまり、読み手はスレッド・セーフではないのにスレッド・セーフであると推測するかもしれませんし(これはかなりまずいことです!)


702 :デフォルトの名無しさん:04/10/31 23:30:46
簡単に言えば、例えば複数スレッドからaddしたとき
Vectorだとちゃんとaddしたぶん足されるが
ArrayListだとaddしたはずのものがされないことがある
ってことだ。

703 :デフォルトの名無しさん:04/10/31 23:48:39
>702
安全なのはadd(Object)だけでadd(int,Object)もremoveもsetもgetも安全ではないよ


704 :デフォルトの名無しさん:04/10/31 23:52:00
>>703
ソース読んだことある?

705 :703:04/10/31 23:56:56
>704
ちょっと言葉が足りなかった。
「ArrayIndexOutOfBoundsExceptionの発生を避ける方法が無い」ことも
「安全ではない」ことにする。


706 :703:04/11/01 00:00:27
ソース読んだことは無いよ。読まなくてもそのぐらいわかる。


707 :デフォルトの名無しさん:04/11/01 00:04:54
ソース飲んだことならあるぜ

708 :デフォルトの名無しさん:04/11/01 00:13:05
ンースなら

709 :デフォルトの名無しさん:04/11/01 00:23:07
ソースなら飲んだことならあるぜ?

710 :デフォルトの名無しさん:04/11/01 00:32:52
ソース飲んで大丈夫か?

711 :デフォルトの名無しさん:04/11/01 00:35:05
>>711
ウスターシャ風ソースではないと思われ。

712 :デフォルトの名無しさん:04/11/01 00:40:30
藤○隊長率いる我ら探検隊は、ついに711に再帰の神秘を目撃した!!

713 :デフォルトの名無しさん:04/11/01 00:55:58
ホワイトソース(のようなもの)なら飲んだことならあるぜ?

714 :デフォルトの名無しさん:04/11/01 00:58:38
ヨーグルトのことだな

715 :r:04/11/01 00:58:55
>>713
ハァハァ

716 :デフォルトの名無しさん:04/11/01 01:02:09
シチューじゃね?

717 :r:04/11/01 01:04:24
size() で取得した値が、それを用いて操作を行うときには、
もはや有効でないかもしれない、って事か。
なるほどね

718 :デフォルトの名無しさん:04/11/01 01:28:38
つまりVectorについてスレッドセーフではないとかスレッドセーフであるとか
どちらも正しい意見なんだよ

まぁSwingがArrayListだったらスレッド理解してないやつが苦しむと思うので
あれはあれでいいし、ひとつのListに同時に書き込むことがななく、
複数のスレッドから参照だけされることが保障できれば別に使おうがいいんじゃね?

同じ問題がStringBuilderとStringBufferでもあるが、VectorやStringBufferは
必ずだめということにはならないわけさ

どのみち理解しないままマルチスレッドで動かせばはまるのは一緒だが


719 :デフォルトの名無しさん:04/11/01 01:47:35
>>718
>どちらも正しい意見なんだよ
そりゃ言葉の定義の仕方によってはそういう見方もできる。

>>701を読んで、「完全なスレッドセーフでない」ものを「スレッドセーフである」と勘違いして
使うことがどれだけ危険か考えれ。

それが理解できれば「このクラスのインスタンスはスレッドセーフである」なんて
そう軽々しくは言えないはず。


720 :デフォルトの名無しさん:04/11/01 02:06:26
ServiceUIのprintDialog(GraphicsConfiguration gc, int x, int y,
PrintService[] services, PrintService defaultService,
DocFlavor flavor, PrintRequestAttributeSet attributes)

のflavorにDocFlavor flavor = DocFlavor.STRING.TEXT_PLAIN;
したのをいれるとダイアログが表示されないんですけど何故でしょう?


721 :720:04/11/01 02:14:57
自己解決しました

722 : :04/11/01 04:39:42
プロパティファイルをUnicodeではなく、sjisコードで読み込み、出力を
行う方法ってありますか?

723 :デフォルトの名無しさん:04/11/01 04:47:14
>>722
> プロパティファイルをUnicodeではなく、sjisコードで読み込み、出力を

ttp://d.hatena.ne.jp/zwfk/20041020#1098262200


724 :デフォルトの名無しさん:04/11/01 06:58:27
質問です。
javaからmysqlに文字列を登録したいのですが、プログラム中で文字列を指定するやり方しかわかりません。
下記プログラムで、String型のhakoに、文字列をいれ、
それを登録したいのですが、これだと+hako+と登録されてしまいます。
String hako;
hako="suzuki";
String sql_str = "INSERT INTO list (name,memo) VALUES (\'+hako+\',\'2nd tryial\')";
どうしたらいいのかどなたか教えていただけませんか?

725 :デフォルトの名無しさん:04/11/01 07:10:00
String name = "suzuki";
String memo = "2nd tryial";

String sql_str = "INSERT INTO list (name,memo) VALUES (?, ?)";
PreparedStatement ps = conn.prepareStatement(sql_str);
ps.setString(1, name);
ps.setString(2, memo);
ps.executeUpdate();


726 :デフォルトの名無しさん:04/11/01 07:54:23
>>724
> String hako;
> hako="suzuki";
> String sql_str = "INSERT INTO list (name,memo) VALUES (\'+hako+\',\'2nd tryial\')";
> どうしたらいいのかどなたか教えていただけませんか?

String sql_str = "INSERT INTO list (name,memo) VALUES (\'"+hako+"\',\'2nd tryial\')";


727 :724:04/11/01 08:01:49
>>725
回答ありがとうございます。
教えていただいたものに変換したら
java.sql.SQLException: Access denied for user:'root@localhost'(Using password: YES)
というエラーが出るようになってしまいました。
原因分かりますでしょうか??ユーザがrootでこのエラーが出たのは初めてで...

728 :724:04/11/01 08:08:05
>>726
ほんとですか!?そんな簡単なことで...
>>725
>727に書いたエラーはプログラムのせいではないみたいですね...失礼しました。
なぜかいきなり出来なくなってしまった...

729 :デフォルトの名無しさん:04/11/01 08:12:17
hako = "',''); DELETE ALL_DB; select ('";


730 :724:04/11/01 08:14:59
>>729
どういう意味なんでしょうか...?

731 :デフォルトの名無しさん:04/11/01 09:08:49
当方、現在C++を学んでいるのですが、
JAVAはネットワーク周りの制御に優れていると聞いたのですが、
学ぶべきでしょうか?

JAVAはAIにいいと聞くのですが、実際のところ如何でしょうか。
ロボットのAIはJAVAで書かれる事はありますか?

732 :デフォルトの名無しさん:04/11/01 09:39:57
>JAVAはAIにいいと聞くのですが、実際のところ如何でしょうか。
使ったことないけどPrologじゃないの?

733 :デフォルトの名無しさん:04/11/01 11:28:13
>>732
PrologがAI向きだなんていつの時代の話だよ・・・

734 :デフォルトの名無しさん:04/11/01 11:40:22
やっぱLISP…なのか?

735 :デフォルトの名無しさん:04/11/01 11:50:12
lainでもLISPだったしね

736 :デフォルトの名無しさん:04/11/01 11:58:32
今までIDE上、OS上、共に正常に動作していたのに、IDEのデバッグ実行でしか動作せず、
OS上で単独実行では窓が開きません。ただ、強制終了ではなくタスクマネージャを見るとプロセスには載っています。
考えられる原因はあるでしょうか?

737 :デフォルトの名無しさん:04/11/01 12:07:04
ちなみにCPU使用率も正常です。0除算などで止まってるのではないです。
パネルorフレームの初期化でまずってるのでしょうか。。

738 :デフォルトの名無しさん:04/11/01 12:15:46
プリンタで印刷する為のかなり大きいBufferedImageを作って
Graphics2D.setFontとdrawStringで文字を描くのですが
そのままフォントをい11ポイント等にしても非常に小さく描画されてしまいます
これをdrawStringが任意のDPIで文字を描けるようにしたいのです
AffineTransform.setToScaleでdrawStringのDPIを拡大できるのは分かったのですが
元のDPIの分からず倍率も指定できないので手詰っています
何かやり方ないでしょうか?

739 :デフォルトの名無しさん:04/11/01 13:44:01
>>736 とりあえず環境と簡単なソース晒したら?

740 :738:04/11/01 14:52:04
自己レスですが英語サイト検索してたら英文能力的に確信は無いけど
Graphics2Dはデフォが72DPIらしいのでとりあえずはイケそうです

741 :デフォルトの名無しさん:04/11/01 15:18:02
JTextPaneを使ってるのですが、select()でテキストの一部を選択しても
その部分の背景色が変わりません。
しかし、マウスドラッグで選択するアクション(JTextPaneに始めからついてる
アクション)だと背景色が変わります。
そして、その後だとselect()で背景色が変わるのです。
最初からselectで背景色が変わるようにするにはどうすればいいのでしょうか?


742 :デフォルトの名無しさん:04/11/01 15:26:39
servletからPrintWriterを使ってString型の文字列を出力し、csvファイルを作成しようとしています。
//ヘッダー部書き出し
PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(response.getOutputStream(),"Shift_JIS")));
response.setContentType("application/octet-stream-Dummy;charset=Shift_JIS");
response.setHeader("Content-Disposition","inline;filename=excep.csv");

out.write("タイトル" + "," + "<script>");
上記のように文字列にタグが含まれていると上手くcsvとして開きません。
PrintWriterを使ってタグを文字列として出力することはできないのでしょうか?

よろしくお願いします。

743 :デフォルトの名無しさん:04/11/01 15:58:45
ログって DEBUG 全部が出力されるとパフォーマンスに響くけど、
INFO だけだといざ ERROR が出たとき情報不足。
そこで、DEBUG などのログを出力せずにキューに溜めておき、
ERROR が出たときに、さかのぼって過去のログも吐けるようなシステム無いでしょうか?
作ろうかと思いましたが、誰かはもう作ってそうな気がして。

744 :690:04/11/01 17:07:58
スレ違いや情報不足なら言ってください。
>>690

745 :デフォルトの名無しさん:04/11/01 17:13:19
>>744
Java2D勉強して自前で描画・・・のほうが楽かも
Swingならレイヤー勉強してみそ


746 :690:04/11/01 17:42:51
そんな大ごとになるんですか?
レイヤー、マターリ調べてみます。

747 :デフォルトの名無しさん:04/11/01 17:46:15
>>693
そりゃ、stable,unstableの話を勘違いしてるんだろうな。
新解釈に( ̄ー ̄)ニヤリ

748 :デフォルトの名無しさん:04/11/01 17:52:03
>>746
Swingどうのこうのよりも、各ノードの位置決めのアルゴリズムの方が面倒なんじゃないかなぁ?
とりあえず、図に使うコンポーネント単位でJComponent派生して独自コンポーネント作っておいて
論理的に作図(配置レイアウト)しておいてそれをドカっと書いて(置いて)いくようにすれば
いいんでないの?それとデータモデルとレイアウトは分けておいたほうがいいな。

という一般的なことしか言えんですなぁ・・・
ちょっと問題が大きすぎてばくぜんとしか答えられない。

749 :690:04/11/01 18:44:33
>>748
どうもありがとうございます。
各ノードに前のノードNOと後に続くノードNOを保持させる予定です。
Tree構造も考えたんですが、PERT図だと複数の親を持つこともあるのでだめ。
GUIは初めてなのであたふたしています。
シミュレーションをしようと思って、ついでだから図も出力できたらいいなと思って質問しました。

その前に風邪を治さないと。あわわわ。

750 :デフォルトの名無しさん:04/11/01 19:17:45
JavaでCSV処理するのって、どうやるのがいいですか?
ぐぐれば、CSVのライブラリいろいろ見つかるけど、定番、っていうのはどれですか?

751 :デフォルトの名無しさん:04/11/01 19:46:05
>>749
実は私も同じように、Javaでグラフ(XYグラフではなく、グラフ理論のグラフ)、
特に有向非巡回グラフを描画する方法について調べていたところで
そのためにいろいろとライブラリを漁っていました。
今のところ見つかったのは以下のとおりです。

・OpenJGraph
http://openjgraph.sourceforge.net/
Swingベースのライブラリ。APIが非常にシンプルで、導入しやすい。
ノードのレイアウトやファイル(XML形式)への出力なども提供されている。
UIのカスタマイズ(ポップアップメニューなど)ができないのが問題。
ソースを修正すればできますが、ライセンスがLGPLなので・・・。
あと、開発が2年ほど止まっています。

・GEF
http://gef.tigris.org/
これもSwingベースのライブラリ。EclipseのGEFとは別物なので注意。
非常に多機能ですが、APIが複雑で、まだ使いこなせていません(;つд`)。
UMLツールのArgoUMLが、これを使っています。

他の方が言うように自前でjava2d使って書いてもいいですが、
>>748の指摘のとおりノードの位置決めが面倒なので、
こういった既存のライブラリを使った方が楽だと思います。

他に、こういったライブラリをご存知の方がいたら、教えてもらえると助かります。

752 :デフォルトの名無しさん:04/11/01 21:03:52
JDBCで引数で指定したSELECT文を実行し、結果を表示するプログラムを作りました
DBはMySQL 4.1.7です

select文を実行し、列の型がBLOBの時、次のように文字化けします
???????????????????EXCEL????????????
日本語文字列が入っているのですが、半角は正しく表示されているようです

コードは下のようにしてます
コメントアウトしたほうでも、同じ結果でした

case Types.BLOB:
/*
  String itext;
  BufferedReader br = new BufferedReader(new InputStreamReader(rs.getBlob(i).getBinaryStream(), "EUC_JP"));
  while ((itext=br.readLine()) != null){
    System.out.println(itext);
  }
*/
  byte[] b=new byte[1024];
  InputStream is=rs.getBlob(i).getBinaryStream();
  while(is.read(b) != 0){
    System.out.write(b, 0, b.length);
  }

どうすれば、正しく表示されるようになりますか?


753 :デフォルトの名無しさん:04/11/01 21:17:19
>>752
http://www.google.com/search?hl=ja&q=Java+MySQL+JDBC+%E6%97%A5%E6%9C%AC%E8%AA%9E+%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91&lr=lang_ja

754 :デフォルトの名無しさん:04/11/01 21:33:12
public void drawText(
Graphics g,
Font f,
String str,
int x,
int y,
int width) {
int len = str.length();
char[] data = new char[len];
str.getChars(0, len, data, 0);
int fontHeight = f.getHeight();
int startIdx = 0;
int endIdx = 0;
while (len > 0) {
endIdx = f.getLineBreak(str, startIdx, len, width);
g.drawChars(data, x, y, startIdx, endIdx - startIdx);
y = y + fontHeight;
len = len - (endIdx - startIdx);
startIdx = endIdx;
}
}
渡したString str を改行含めて表現するにはどうしたらよいでしょうか?

755 :デフォルトの名無しさん:04/11/01 22:56:19
>>752
そのBLOBのところには本当に文字が"euc-jp"で入っているのか?
DBの文字コードとは関係ないぞ。


756 :752:04/11/01 23:09:52
>>755

DBの文字コードはEUCですが、明日確認して見ます。
今、環境がないので。

でもperl CGIでWEBに出力するときはEUCになっているので、多分EUCだと思います。

あと、問題解決とは関係ないですが、writeする長さをis.read()の戻り値にしないとダメですね。

753のググルは見たけど、解決の手がかりは見つかりませんでした。

757 :デフォルトの名無しさん:04/11/01 23:15:13
>>756
euc-jpとsjisとjisとutf-8とutf-16beとutf-16leで試して全部だめだったら
DBに入れる時点で化けてるからあきらめれ。

あとReaderで包まずに、InputStreamから1byteずつ取り出して除いたらどうなってるかわかるだろ。


758 :デフォルトの名無しさん:04/11/01 23:35:18
二次元配列に格納された要素を、他の二次元以上の
多次元配列に配列から配列へ要素を代入することはできますか。

759 :デフォルトの名無しさん:04/11/01 23:41:57
>758
ループのネスト、隠し味にSystem.arraycopy()を使えばお望み通りに。

760 :758:04/11/01 23:50:17
>>759
レスありがとうございます。
やってみます。

761 :デフォルトの名無しさん:04/11/02 00:14:23
スレ違いな話題かもしんないけど、

個人的に「AWT/Swing コンポーネントクラス階層図」っての作ったのね。
だけどそこには堂々とネットで拾ってきた Duke の画像が入ってる。

やっぱりこのまま公開するのってまずい? 侵害?

762 :デフォルトの名無しさん:04/11/02 00:20:15
>>738
BufferedImageへの描画自体にはDPI関係ないような...
>>741
repaint();がいるんじゃないだろうか、とか
>>742
見たことないMIME型だけど、あやしくない?
あとIEはMIME型無視して自動判定とかするんじゃなかったっけ

763 :デフォルトの名無しさん:04/11/02 00:53:32
>>752
MySQL4.1は日本語周りがかなりやばい

JDBCでも同じで、今のままのドライバとかだと
executeUpdateとexecuteQueryとでnamesとcharactersetをかえないといけないようだ

4.0にもどせばすんなりいくかと

764 :デフォルトの名無しさん:04/11/02 00:56:14
>>763
よく読め。BLOBだぞ

765 :デフォルトの名無しさん:04/11/02 03:22:36
Binary Large OBject だっけ?

766 :デフォルトの名無しさん:04/11/02 03:29:22
>>761
まずいと思う。あんまし有名にならなきゃ問題にならんかもしれないけど。

767 :デフォルトの名無しさん:04/11/02 03:30:29
>>761
Dukeに目線でも入れとけばいいんちゃう?
と無責任なことを言ってみる

768 :デフォルトの名無しさん:04/11/02 03:46:50
>>767
それって下手すると
当社の製品のイメージキャラクターを猥褻物のように扱って、
当社の製品のイメージ低下を云々とか言われる可能性が。

769 :デフォルトの名無しさん:04/11/02 03:59:06
っつか、Dukeの目ってどこにあんだろ?

770 :デフォルトの名無しさん:04/11/02 04:31:40
>>761
Sunに問い合わせて見るとか。

そういえば、Javacoなら幾らでも使えるらしいが、さて・・・
ってか思いっきしかぶってるな。

771 :デフォルトの名無しさん:04/11/02 04:35:53
>>769
指だと思ってたあれは指じゃなくて目だったりして...

772 :デフォルトの名無しさん:04/11/02 07:47:49
づけって著作権侵害だろ

Dukeというオリジナルをちょっといじったものでも著作権侵害になるんだよ
というか、この手の法律はもまいらの専門だろ

773 :デフォルトの名無しさん:04/11/02 08:14:59
・・・専門
一気にこの発言自体の信頼性を低下させる言葉になってるな。

774 :デフォルトの名無しさん:04/11/02 08:24:30
オリジナルに手を加えるのは改ざんなんとかにひっかかるんだぉ

775 :sage:04/11/02 10:10:38
はじめまして JAVA入門編を勉強している初心者です 
++演算子について質問させてください

1:class Test1{
2:public static void main(String[] args){
3:for(int i=0;i<5;++i){
4:System.out.print( i );
5:}
6:}
7:}
ーーーーーーーーーーーーーーーーーーーーーーーーーーー
1:class Test2{
2:public static void main(String[] args){
3:for(int i=0;i<5;i++){
4:System.out.print( i );
5:}
6:}
7:}

各3行目を「++i」と「i++」にしてみましたが
結果はどちらも「01234」になりました

「前置演算子は式が評価される前に1足される」と理解していたのですが
この場合はなぜ結果が同じなのでしょうか?

776 :デフォルトの名無しさん:04/11/02 10:19:13
>>775
4 行目を実行してから評価されるから。
http://www.y-adagio.com/public/standards/tr_javalang/14.doc.htm#45370

777 :デフォルトの名無しさん:04/11/02 10:36:18
はじめまして。初心者です。
長方形の縦の長さと横の長さを入力して、周りの長さを求めるようなプログラムを書いています。

メインの方で
「(縦の長さと横の長さの読み込み)

/* 円のオブジェクト生成 */
Square square = new Square(tate,yoko);」

を書いて、計算をするクラスの方で
「class Square {


double (tate,yoko);

/*コンストラクタ (オブジェクト生成時(new)に実行される*/
Square (double tate,yoko) {
this.(tate,yoko) = (tate,yoko);

(以下計算式)

を書いたのですが、コンパイル時に「<identifier>がありません」というエラーが頻発します。
このエラーメッセージは、どういう意味なのでしょうか?
おそらく、二つの因数を下のSquareクラスに持ってくるとこで間違えている気がするのですが。。

初歩の初歩で躓いててだめぽなのですが、教えて頂けると助かります。

778 :デフォルトの名無しさん:04/11/02 10:37:19
>>775
++iとかi++という式が評価された値は使ってないから。

779 :デフォルトの名無しさん:04/11/02 10:56:43
>>777
Square (double tate,yoko) {

Square (double tate, double yoko) {
とすればOK


780 :777:04/11/02 11:24:27
出来ました!
ありがとうございます。

781 :デフォルトの名無しさん:04/11/02 12:08:51
SAXの仕様について質問です

SAXHandler.characters(char[] ch, int start, int length) throws SAXException {


このメソッドは、改行コードがあるたびに呼び出される、
そういう仕様になっているものなのでしょうか。

それとも、パーサ毎に呼び出されるタイミングは異なったりしますか。

782 :デフォルトの名無しさん:04/11/02 12:11:18
>>775
混乱していると思うが、君の文に出てくる「評価」とは
Javaの「1文」の中での評価順番だ。
for の終了判定は、i++ もしくは ++i が行われた後に行われる。
よって終了判定の評価文中ではどちらの場合も同じiの値によって評価される。

783 :U ◆CZtFsGiu0c :04/11/02 12:22:51
>>781
JAXPにはSAXHandlerというクラスはないのですが、それは何に含まれているクラス
ですか? ContentHandlerインタフェースやその実装クラスと混同していませんか?

784 :775:04/11/02 13:03:27
>>776
>>778
>>783
for文の理解が不足していました
アドバイスありがとうございました

785 :775:04/11/02 13:06:07

すみません間違いです
>>776
>>778
>>782
ありがとうございました


786 :デフォルトの名無しさん:04/11/02 13:18:17
>>784
for文の理解じゃないところが不足していたわけだが。

787 :デフォルトの名無しさん:04/11/02 14:56:57
PrinterJob のpageDialogを任意の場所に表示させる事は可能ですか?
可能ならやり方を教えて下さい。

788 :デフォルトの名無しさん:04/11/02 16:54:11
すみません、質問です。

import(javax.servlet.jsp.tagext.IterationTag) しているクラスの元ファイル(*.jar)ってどうやってわかるのでしょうか。


よろしくお願いします。



お詫び
間違ってプログラマーのJAVA質問に書いちまった…
マルチポストと疑われるといやだなぁ。

789 :デフォルトの名無しさん:04/11/02 17:02:16
importはソース中で名前が省略できるだけだが。
クラスの場所は、クラスのFQNに「.class」をつけたリソースを取得して、そのパスを見てみればわかる。

790 :デフォルトの名無しさん:04/11/02 17:07:36
ArrayListでremoveを使って大量にインスタンスを消したときって、バグりませんか?
これJavaのバグだと思うんですが。。。

1.500個ほどの要素を含んだArrayListのオブジェクトを作る

2.removeメソッドで要素をいくつか消してみる。

3.次にArrayListのオブジェクトをfor文などを使って1から最後まで表示する

4.データが歯抜けになってる(一部の要素が無い)

5.次に3と同じ事をしてみると大丈夫(復活している)。

791 :デフォルトの名無しさん:04/11/02 17:13:42
質問なんですが、

ArrayList lst = new ArrayList();
Object obj = new Object();
lst.add(obj);

のようにArrayListに加えた某オブジェクトのインスタンスがあったとして、その後

lst.remove(i);

のようにArrayListから取り除くと、そのときオブジェクトも自動的に解放されますか?

792 :788:04/11/02 17:15:26
>>789
返信ありがとうございます。

ただ書いてあることがわかりませんでした。
1)FQNって何でしょう
2)リソースを取得して、そのパスを見てみればわかる。


というか、私の質問の書き方がいけなかったのです。
最終的に何が知りたかったかというと、PGの中で javax.servlet.jsp.tagext.IterationTag を
使っているのですが、クラスパスが通っていなくてコンパイルエラーしていました。
で、クラスパスを通すためのファイル(ディレクトリだと反応しません)が知りたかったのです。
まことに申し訳ないです。


で、原始的な方法で自己解決いたしました。

秀丸のgrepで javax.servlet.jsp.tagext を検索
引っかかったjarファイルをクラスライブラリに登録

無事コンパイルできました。

ヘタレですみませんでした。

793 :U ◆CZtFsGiu0c :04/11/02 17:24:45
>>791
リストから削除したオブジェクトが他から参照されていなければ、ガベージコレク
ションの対象になる。

794 :デフォルトの名無しさん:04/11/02 17:26:31
>>791
あなたのすぐ上のレスでArrayListの質問をしてるものです。

objが残るかということでしょうか。
もしobjが局所的な変数で扱われているなら、参照を抜けた時に
ガーベッジコレクションに入ると思いますよ。
もちろんこの場合も参照がなくなりますので消えるんじゃないでしょうか。

795 :デフォルトの名無しさん:04/11/02 17:27:32
>>793
書くのが遅かったので同じ内容書いてしまいました。すいません。

796 :791:04/11/02 17:57:34
>>793、794
ありがとうございます。ガベージコレクションな言語を使うのが初めてで混乱してます。

|class TEST{
| private ArayList lst;
| private Object o;
| public AAA(){
|  lst = new ArrayList();
|  hoge();
|  hage();
|  sage();
| }
| public void hoge(){
|  Object obj1 = new Object();
|  lst.add(obj1);
|  Object obj2 = new Object();
|  lst.add(obj2);
|  Object obj3 = new Object();
|  lst.add(obj3);
| }
| public void hage(){
|  o=lst.get(1);
| }
| public void sage(){
|  for (int i=0;i<3;i++){
|  lst.remove(i);
| }
|}

って感じですと、obj1とobj3はsage()で解放され、obj2はTESTクラスのデストラクタが
呼ばれるまで解放されない、ということでよろしいでしょうか?

797 :デフォルトの名無しさん:04/11/02 18:20:19
|  for (int i=0;i<3;i++){
|  lst.remove(i);

lst.remove(0)とした瞬間に、いままでlst.elementAt(1)だったものがlst.elementAt(0)になってるということは理解してますか?

798 :デフォルトの名無しさん:04/11/02 18:22:39
Listだから、elementAtじゃなくてgetか。

799 :U ◆CZtFsGiu0c :04/11/02 18:28:33
>>796
Javaにデストラクタはないけど、大体その理解でいいと思う。

800 :デフォルトの名無しさん:04/11/02 18:36:35
>>790みたいなわかりやすい挙動って「おまえのバグだろゴルァ」なわけだが。

801 :791:04/11/02 18:56:22
>>797
あ、理解してます。typoだと思ってください。

>>799
サンクス。ガベージコレクションのルール、わかってきました。
デストラクタがない、というのも感覚的には理解したつもりです。
ちょっと気持ち悪いけど。

802 :デフォルトの名無しさん:04/11/02 19:39:16
>>800
冷静になるとその通りですね。
切羽詰るとJavaのバグだって思いたくなる人間なんですよ。私は。
本当はあの部分は複雑なんですが、しかし時間をかけて処理を辿っても
間違っているようには思えないんです。
1時間考えても分かりませんでした。自分で書いたコードなのに・・・

803 :デフォルトの名無しさん:04/11/02 19:46:54
>>802
スレッドとか使ってます?

804 :デフォルトの名無しさん:04/11/02 19:55:11
>>803
それかもしれませんね。別のところからスレッドが来ていたこと
忘れてました。ありがとうございました!

805 :U ◆CZtFsGiu0c :04/11/02 20:45:09
>>801
気持ちはわかる。俺も最初気持ち悪かったけど、慣れるとホントらくちん。

806 :デフォルトの名無しさん:04/11/02 20:48:52
//WhileSample.java
class WhileSample{
public void main(String[]args){
int counter=1;
while(counter<=10){
System.out.println("みなさん、こんにちは:"+counter+"回目");
counter=counter+1;
}
}
}
のプログラムを実行したら
Exception in thread "main" java.lang.NoSuchMethodError:main
ってエラー・・・
原因がさっぱりわかりません

807 :デフォルトの名無しさん:04/11/02 20:50:30
>>806
static


808 :デフォルトの名無しさん:04/11/02 20:51:53
>>806

public void main(String[] args){
}
ではなく
public static void main(String[] args){
}
です。mainメソッドはクラスメソッド(static)でないといけません。

809 :806:04/11/02 20:52:59
>>807
あはは
ぼけてました
ありがとう

810 :752:04/11/02 21:04:54
すいません、解決しました。

metaData.getColumnTypeName()ではBLOBと表示されるが
metaData.getColumnType()では
Types.BLOBではなく
Types.LONGVARBINARYが返ってきていたので
switchで正しく分岐していなかったのが原因でした。

BufferedReader br = new BufferedReader(new InputStreamReader(rs.getBlob(i).getBinaryStream(), "EUC_JP"));
とか
BufferedReader br = new BufferedReader(new InputStreamReader(rs.getBinaryStream(i), "EUC-JP"));
で上手くいきました


811 :デフォルトの名無しさん:04/11/02 21:29:00
String[] s = {"/bin/sh", "-c", "telnet localhost"};

外部コマンドを呼び出したいとき、"telnet localhost"と書かずに、例えば
host.get(0)がlocalhostでtelnet host.get(0)みたいに記述して実行したいのですが、
何かうまい方法はないでしょうか?当然"telnet host.get(0)"ではうまくいかないので
困っています。

812 :デフォルトの名無しさん:04/11/02 21:51:29
String[] s = {"/bin/sh", "-c", (String) host.get(0)};

813 :デフォルトの名無しさん:04/11/02 22:50:49
あの、RMIってコネクションを張った後だったらNATとかファイヤーウォールの上
越えられるの(HTTPSとかHTTP使って)?そういう機能ある?
誰かエロイ人教えてけろ orz

814 :デフォルトの名無しさん:04/11/02 23:20:40
787のPrinterJob.pageDialog(PageFormat)のダイアログは任意の場所は無理ですか?

815 :デフォルトの名無しさん:04/11/02 23:32:37
>>813
小柳RMI子

816 :デフォルトの名無しさん:04/11/02 23:47:43
http://java.sun.com/j2se/1.5.0/ja/download.html
↑からJ2SEのダウンロードをしようとしたら、僕の環境ではswsdlcuat.central.sun.com
の名前解決ができずに落とせません。
ほっとけばその内に解決するのでしょうが、今欲しい、直ぐ欲しい、
なので代替方法かswsdlcuat.central.sun.comのIPアドレスを教えてください。

817 :デフォルトの名無しさん:04/11/02 23:50:07
127.0.0.1

818 :デフォルトの名無しさん:04/11/02 23:59:18
>>816
英語の案内から落としてくればOK。バイナリはおんなじ。

819 :& ◆Z7wvpm7/W6 :04/11/03 00:03:04
>>818
ありがとう。
NetBeansはいらないし、英語サイトは同じものかどうかわからないしで躊躇してました。

820 :デフォルトの名無しさん:04/11/03 01:09:27
かなり初歩的な質問で申し訳ないんですが・・・
fqnというのはなんの事なんでしょうか?
検索しても意外と見つからなかったので・・・

821 :デフォルトの名無しさん:04/11/03 01:14:37
>>802
>1時間考えても分かりませんでした。

このボケ、1時間程度で何言ってんの?

822 :デフォルトの名無しさん:04/11/03 01:14:58
>>804
すぐ上でArrayListとVecotrの話がでてるっちゅーに

823 :デフォルトの名無しさん:04/11/03 01:15:46
>>820
FQN=Fully Quantified Name
要するに Object じゃなくてパッケージ名を含めた java.lang.Object みたいな名前。

824 :デフォルトの名無しさん:04/11/03 01:15:55
こういうのをみるとVectorのほうがおこちゃまにはやさしいという気がする

825 :デフォルトの名無しさん:04/11/03 01:16:28
>>820
Fully Qualified Name

826 :820:04/11/03 01:25:09
ああ、なるほど!
ありがとうございました!

827 :デフォルトの名無しさん:04/11/03 01:36:17
>>813
RMI over IIOP ってもんがある。そしてIIOPのHTTPトンネルって実装もあるから
理論的にはできそうな気がするが、やったことないのでどんな問題があるのかも
分からん。つか、コネクション張った後ってファイアウォールとか居たらそもそも
コネクションの確立はできんだろ。

828 :デフォルトの名無しさん:04/11/03 02:13:10
>>813
ファイヤウォール越えたいならSOAPでも使っとけ。

829 :デフォルトの名無しさん:04/11/03 03:07:45
FQNが検索で出てこないというのも問題だと思うけどね。
FQN+Javaでぐぐれば一番最初の検索結果のタイトルにFullyQualifiedNameと書いてあるわけだし、日本語ページに限っても最初の一覧に「完全限定名(fqn)」という記述はあるわけだし。

830 :デフォルトの名無しさん:04/11/03 07:05:32
SDKとREはなにが違うんですか?

831 :デフォルトの名無しさん:04/11/03 08:38:30
Enumerationの連結リストと、自前で作った連結リストどっちが早い?

832 :デフォルトの名無しさん:04/11/03 09:38:45
> Enumerationの連結リスト


833 :デフォルトの名無しさん:04/11/03 09:50:11
public class Simple {
public void method(){}
}

class Si {
Simple s = new Simple();
s.method();
}

コンパイルエラーとなります。
どうしてでしょうか?

834 :デフォルトの名無しさん:04/11/03 09:56:17
>>833
> s.method();
式文はメソッド、コンストラクタ、静的初期化子、インスタンス初期化子以外の場所で使えない。

835 :デフォルトの名無しさん:04/11/03 09:58:01
>>830
SDKは、すーぱーだいなみっくきらーで
REは、れいんぼーえなじー
なのです。

>>833
萌えが足りません。


836 :833:04/11/03 10:05:07
>>834
ありがとうございました!

837 :デフォルトの名無しさん:04/11/03 10:15:39
iアプリにてなんですが、
panel型のcomponentActionで複数Labelのテキストを変更すると
どうしても描画に差が出てしまします。
どうしたらよいでしょうか?
Canvas型のlockのようなものはないのでしょうか?

838 :デフォルトの名無しさん:04/11/03 10:38:44
Java って、C の enum みたいなものってないの?

final int A = 0;
final int B = 1;
final int C = 2;

なんて書いていくのは、激しく面倒くさいんだけど。


839 :デフォルトの名無しさん:04/11/03 10:41:25
あります

840 :デフォルトの名無しさん:04/11/03 11:00:57
>>838
JDK5.0以降で追加された。

841 :838:04/11/03 11:10:50
>>840
へー。ありがとう。


842 :デフォルトの名無しさん:04/11/03 11:28:21
1.0 -> Java
1.2 -> Java2 1.2
1.3 -> Java2 1.3
1.4 -> Java2 1.4
1.5 -> Java5 1.5
でよいのだろうか。

843 :デフォルトの名無しさん:04/11/03 11:38:54
>>842
> 1.5 -> Java5 1.5
Java2のまま。

あと、1.1 が抜けてる。

844 :デフォルトの名無しさん:04/11/03 12:41:00
現在Java5.0のJDKがダウンロードできないのですけど、どうなったのでしょうか?

845 :デフォルトの名無しさん:04/11/03 12:55:53
>>814
無理じゃない?使ったこと無いからわからんけど
javax.print.ServiceUIのprintDialogなら可能そう

846 :デフォルトの名無しさん:04/11/03 14:28:41
javaってCみたいにprintf("%4d", &a)とかいう感じの
列を設定しての右詰ってできますか?

847 :デフォルトの名無しさん:04/11/03 14:43:11
>>846
1.5で追加された。

848 :デフォルトの名無しさん:04/11/03 15:11:46
System.out.printf("%4d", a);

849 :デフォルトの名無しさん:04/11/03 16:51:01
 あの、今Permissionクラスについて調べていて、リモートからダウンロードした
クラスのクラスローダーによる実行に制限をかけようと思っています。
 なんですが、可能とするパーミッションを設定するという仕様のせいで(不可能な
パーミッションを設定するほうが使いやすい場合もある気がするのだが)、すごいたくさん
パーミッションを設定しなくてはいけないようなのです。
 そこで、どなたか何をするか分からないクラスを実行させるのにパーミッション
を設定した事があるという方がいたら、ソースをどこかへアップしていただけないで
しょうか?参考にしたいので。クレクレ房と言われてしまいそうですが、よろしくおねがいします。

ttp://www.ipa.go.jp/security/awareness/vendor/programming/a03_01_main.html
ちなみに上のような処理を禁止したいと思っています。

どのパーミッションを設定したかだけで結構ですので。orz



850 :デフォルトの名無しさん:04/11/03 17:16:22
>>849
クレクレ房

851 :デフォルトの名無しさん:04/11/03 18:36:33
syncronized Dopyu sikosiko(Stick myStick) {
   myStick = _sakura.getSakura();
   return myStick.getSeisi();
}

852 :デフォルトの名無しさん:04/11/03 18:49:02
>>851
二行目でぬるぽ

853 :デフォルトの名無しさん:04/11/03 18:59:03
タイマータスククラス(とういかクラスの扱いそのもの?)について質問です。

10秒毎にタスクを実行し、また自分自身でスケジューリングするプログラムを作成中です。

一応動いてはいるのですが、一番下の部分が怪しいです。
毎回newする必要はないと思うのです。

sTimer.schedule(this, d);
でもシンタックスエラーにはなりませんが、エラーとなり動作はしません。

毎回newしても良いものなんでしょうか?
そうでなければ、自分自身のクラスを指定するにはどうしたらよいのでしょうか?


854 :853:04/11/03 18:59:59
class tTask extends TimerTask { //タイマータスククラス
Timer sTimer;

//コンストラクタ
public tTask(Timer sTimer) {
this.sTimer = sTimer;
}

public void run() {
//処理実行

//次回のスケジュールをセット
setTimer();
}

public void setTimer() {
//新スケジュールセットメソッド
Date d = new Date();
long nTime = ; //現在の時刻
this.cancel(); //スケジュールキャンセル
d.setTime(d.getTime() + 10 * 60 * 1000); //10秒後(ホントはここは動的に変化する)
sTimer.schedule(new tTask(sTimer), d); //タイマーをセット
~~~~~~~~~~~~~~~~~~~~~~~~
}
}

855 :デフォルトの名無しさん:04/11/03 20:30:27
自分自身を指定するにはthisを使います。
なおタイマーを動作させるコード (run メソッドを呼ぶところ) はちゃんと書いてますか?

856 : ◆wGnlzRYJz. :04/11/03 22:49:54
ぬるぽするとガッされるのはお約束だそうですが、
何故叩かれるのがお約束になったのですか?
もしご存知の方がいらっしゃったらおしえてください。

857 :デフォルトの名無しさん:04/11/04 00:39:53
ttp://www.asahi-net.or.jp/~nk9i-onk/nullpo/textbook/text1.html

858 :デフォルトの名無しさん:04/11/04 01:16:12
>ポインターの参照先の変数がNullだったときに発生する例外のこと。
>CPUの負荷などによって再現性なくこの例外が発生することがある。

誰か突っ込んでやれよ

859 :デフォルトの名無しさん:04/11/04 01:17:31
漏れがつっこんでやる!

Nullじゃない、nullだ!!

860 :デフォルトの名無しさん:04/11/04 01:37:12
null や true や false って
予約語なんですか?

861 :デフォルトの名無しさん:04/11/04 01:40:32
>>860
Javaの予約語は47種類+null,true,falseの3つで合計50個

862 :デフォルトの名無しさん:04/11/04 01:43:54
>再現性なくこの例外が発生することがある。
プログラムの作りがヘタレなだけだと思う。

863 :デフォルトの名無しさん:04/11/04 01:48:14
切りがいいな。

864 :デフォルトの名無しさん:04/11/04 07:13:22
> Javaの予約語は47種類
47種類なのはJLS1st。
JLS2ndではstrictが増えて48。
今はassertやenumが増えてるからもっと多い。

865 :デフォルトの名無しさん:04/11/04 07:14:47
>>860
http://www.y-adagio.com/public/standards/tr_javalang2/lexical.doc.html#229308
> true及びfalseはキーワードと考えることができるが,
> 文法的に厳密に考えて論理値リテラル(3.10.3)とする。
> 同様に,nullもキーワードと考えることができるが,
> 文法的に厳密に考えてnullリテラル(3.10.7)とする。

866 :デフォルトの名無しさん:04/11/04 09:57:47
質問です
Javaでマルチスレッドで処理するのと
シングルスレッドで処理するのでは
一般的にどちらが処理速度が速いですか?

867 :デフォルトの名無しさん:04/11/04 10:03:58
>>866
処理内容による。

868 :853:04/11/04 12:20:04
>>855

ご返答ありがとうございます。

タイマーの生成はmain関数から行ってます。

Timer sTimer = new Timer();
new tTask(sTimer).setTimer();//タイマーセット

runメソッドはタイマーで自動で起動されるので呼んでいません。
そこも書く必要があるのでしょうか。

869 : :04/11/04 12:49:32
WindowsXP
Tomcatのバージョンは5.5.4
jdkのバージョンは1.4.2_06

Tomcatのstartup.batをクリックすると、

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
Using CATALINA_BASE: C:\jakarta-tomcat-5.5.4
Using CATALINA_HOME: C:\jakarta-tomcat-5.5.4
Using CATALINA_TMPDIR: C:\jakarta-tomcat-5.5.4\temp
Using JAVA_HOME: C:\j2sdk1.4.2_06

までDOSプロンプトでメッセージが出たところで、
「'-Djava.endorsed.dirs='が見つかりません。名前を正しく入力したかどうかを確認してから、やり直してください。〜」
というエラーメッセージが出て、Tomcatを立ち上げる事ができません。
どこらへんに問題があるのでしょうか?


870 :デフォルトの名無しさん:04/11/04 13:02:16
> The JAVA_HOME environment variable is not defined correctly
環境変数JAVA_HOMEが正しくないと怒られているようだが。

871 :デフォルトの名無しさん:04/11/04 13:15:06
>>869
TomcatのReadmeとかリリースノートは見たのか?
バージョン5.5.x はJDK/JRE1.5以降が対応だぞ。
J2SE1.4 JRE以降を使う場合の対応策もドキュメントに書いてある。

個人的には、そんなところでつまづくような奴がalphaバージョンの製品なんて使うな、と言いたい。


872 :デフォルトの名無しさん:04/11/04 13:47:59
>>871
まあまあ落ち着いて。
alphaバージョンが何たるものかもわかってないかもしれないよ。

873 :デフォルトの名無しさん:04/11/04 13:53:23
(`・ω・´)

874 :デフォルトの名無しさん:04/11/04 14:30:52
import java.applet.Applet;
import java.awt.Graphics;

public class abc extends Applet{
public void paint(Graphics g){
g.drawString("あいうえお", 10, 10);
}
}
アプレットです。JDK1.3.0でコンパイルして実行、”あいうえお”が表示されたのですが
JDK1.4.2_04を使ったら表示されませんでした。解決策を教えて下さい。(OS:XP)

875 :874:04/11/04 14:36:42
>>874に追加で、IE6.0で表示されなかったのですが、
Netscape 7.1では表示されました。自分のPCの調子が悪いのでしょうか...
どなたか原因を教えて下さいm(_ _)m

876 :デフォルトの名無しさん:04/11/04 15:59:50
よくわからんが、setColorするもんじゃないのか?

877 :デフォルトの名無しさん:04/11/04 16:05:54
JTextPaneに罫線文字を挿入すると縦方向に隙間ができるのですが(Win2k)、
これを発生させないような対処法はありますでしょうか?

方形なjava.awt.Fontが取得できればいいと思ったのですが、Monospacedなどと指定しても
縦方向が長い字形になってしまうようです。

878 :デフォルトの名無しさん:04/11/04 16:10:46
Java3Dの話なのですが

Appearance ap = createAppearance();
Alpha alpha = new Alpha();
Material target = ap.getMaterial();
ColorInterpolator ci = new ColorInterpolator(alpha, target, new Color3f(0.3f, 0.7f, 0.5f), new Color3f(0.8f, 0.5f, 0.1f));
BoundingSphere bounds = new BoundingSphere(new Point3d(), 100.0);
ci.setSchedulingBounds(bounds);
objTrans.addChild(ci);

ColorInterpolatorで物体の色を変化させたいのです。
↑の例は球の色を変化させるプログラムの一部なのですが、
線分の配列(の一部)の色を変化させるにはどうすればいいのでしょうか?

Point3d[] vertex = new Point3d[6];
LineArray geometry = new LineArray(vertex.length, GeometryArray.COORDINATES | GeometryArray.COLOR_3);
geometry.setCoordinates(0, vertex);

配列はこのように定義しています。

879 :デフォルトの名無しさん:04/11/04 16:30:28
質問です。
前回も同じような質問して、原始的な方法で解決したのですが、今回だめだったので書かせてもらいました。

ソースの中で javax.mail.… をインポートしていますが、その元となるファイルがわからないので、
クラスパスに設定しようがありません。
(たとえばservlet.jarだと %CATALINA_HOME%\common\lib\servlet.jar をクラスパスに追加)
どのようなファイル(もしくはクラスパスの場所)なのか教えてください。

OS: Windows2000
Tomcat 5.0
Apache 2.0
J2EE 1.4


なにか書き足りないことがあればご指摘お願いします。

880 :デフォルトの名無しさん:04/11/04 16:32:57
JAVAで異種リストというか異種配列というかどうやって作るんですか?
例えば IAnimalという抽象クラスがあり それから派生した CDog、CCatがあり
C++でいう
IAnimal *p[2]; p[0]=new CDog(); p[1]=new CCat();
みたいな事を行いたいのですが JAVAだとポインタが無いので
やり方がわかりません

881 :デフォルトの名無しさん:04/11/04 16:44:25
Javaには「アドレスべったりな」ポインタはないが、Pascalにあるような
意味でのポインタ(参照という。C++の参照とは意味が若干違う)はある。
というかObjectは全部参照だ。

IAnimal[] animals = new IAnimal[2];
amimals[0] = new Dog();
aminals[1] = new Cat();
でOK。

882 :デフォルトの名無しさん:04/11/04 16:46:41
>>879
クラス名からjarファイルを検索するサービス
http://www.jarhoo.com/

883 :デフォルトの名無しさん:04/11/04 16:49:06
Javaである文字列中の「\」を別の文字に変換しようと
しているんですが、どうも上手くいきません。
もちろん、「\」を引数に入れるときは'\\'や"\\"のように
記述しています。

replace(char oldChar, char newChar)メソッドを使うと
変換されないままになってしまい、replaceAll
(String regex, String replacement)メソッドを使うと、
「java.util.regex.PatternSyntaxException:
Unexpected internal error near index 1\」が出てしまいます。

884 :デフォルトの名無しさん:04/11/04 16:57:25
>>879
%CATALINA_HOME%\common\lib\mail.jar

Tomcatのバージョン(というか配布版の種類)によっては無いので、
無かったらSunのサイトからJavaMailを検索してライブラリをダウンロード。
(5.0系は標準で含まれていなかったような希ガス)


885 :デフォルトの名無しさん:04/11/04 17:01:13
>>878
JAVA3Dのことはよくわからんけど、
ColorInterpolator ci = new ColorInterpolator(alpha, target,
のtargetをvertexにすればいいんでないの?

886 :デフォルトの名無しさん:04/11/04 17:01:32
>>881
さっそくサンクス
abstructクラスをnew出来るんでつね 驚きました。

887 :デフォルトの名無しさん:04/11/04 17:05:12
>>883
もしかして、text.replace('\\', 'A'); としてないですか?
もしそうなら、 text=text.replace('\\', 'A'); こうすればOKです。


888 :デフォルトの名無しさん:04/11/04 17:06:14
要素のクラスと配列それ自身のクラスはそれぞれ別。
ここでnewしているのは配列クラスのほうであって、
abstractクラスであるIAnimalではありません。

889 :883:04/11/04 17:14:06
>>887
ありがとうございました。

何でこんな単純なミスに気付かなかったんだろうか orz
俺がよくやるミスだった。

890 :879:04/11/04 17:23:42
>>882
おお、こんなサイトあるなんて!
感激です。
次回から同じような内容で質問せずに済みそうです。

>>884
そんなあたりまえのところに…
と思ったのですが、書かれているように標準では含まれていないようです。
検索しましたが見つかりませんでした。
これからSunのサイトにいってダウンします。



>>882さん
>>884さん
貴重な情報をありがとうございました!

891 :デフォルトの名無しさん:04/11/04 20:20:04
UDPパケットを受信するために使うクラスって何がありますか?
ServerSocketはTCP専用でしょうか?

892 :デフォルトの名無しさん:04/11/04 20:32:24
質問です。

if(String a は数値か?)
  int b = String a を数値に変換;
else
  int b = 10;

こんなことをしたいのですが、
 String a は数値か?
 String a を数値に変換
の部分はどのように書けばよいのでしょうか?


893 :892:04/11/04 20:35:50
int型だけでなく、double型にも対応させたいです。
よろしくお願いします。

894 :デフォルトの名無しさん:04/11/04 20:54:13
>>892
if(a.matches("[0-9]+")){
  int b = Integer.parseInt(a); ← これは覚えておいて損は無いです。
} else {
  int b = 10;
}

こんなんどうですか?Stringクラスのmatchesメソッドを使ってます

895 :デフォルトの名無しさん:04/11/04 20:59:28
>>893
if(a.matches("[0-9]+")){
  int b = Integer.parseInt(a);
} else if(a.maches("[0-9][0,1].[0-9]+")) {
  double bb = Double.parseDouble(a);
} else {
  int b = 10;
}

試してないので上手くいくかは分かりません。

896 :デフォルトの名無しさん:04/11/04 21:03:25
try {
  int b = Integer.parseInt(a);
} catch(Exception e){
  int b = 10;
}

897 :デフォルトの名無しさん:04/11/04 21:03:54
OOP的にはこうじゃね?違うか?自信無い。

int i;
try{
 i = Integer.parseInt(a)
} catch(NumberFormatException nfe){
 i = 10;
}


898 :デフォルトの名無しさん:04/11/04 21:03:59
>>895
ちょっと訂正。
if(a.maches("[0-9]{0,1}.[0-9]+")) ← [0,1]ではなく{0,1}でした。

899 :デフォルトの名無しさん:04/11/04 21:06:48
>>897
intはいけそうですが、doubleが入らないかもしれません。

900 :デフォルトの名無しさん:04/11/04 21:09:11
>>898
すいません。またまた訂正します。
machesではんく matchesです。いつもこの単語を間違ってしまう。。。

901 :デフォルトの名無しさん:04/11/04 21:13:30
int i;
double d;
try{
 if (a.indexOf(".")>=0){
  d = Double.parseDouble(a);
 } else {
  i = Integer.parseInt(a);
 }
} catch(NumberFormatException nfe){
 i = 10;
}


902 :デフォルトの名無しさん:04/11/04 21:21:46
// 無駄に贅沢してみるバージョン
import java.text.DecimalFormat;
import java.text.ParsePosition;

public class NumberScan
{
public static void main(String[] args)
{
String a = "10.38";
DecimalFormat scanner = new DecimalFormat();
ParsePosition pos = new ParsePosition(0);
Number n = scanner.parse(a, pos);
if(n == null) {
// ガッな処理
System.err.println("数値ちゃうぞゴルァ!!");
}
else {
if(n instanceof Long) {
System.out.println("longの値" + n.longValue() );
}
else if(n instanceof Double) {
System.out.println("doubleの値" + n.doubleValue() );
}
else {
System.out.println("わけわからん値" + a );
}
}
}
}


903 :デフォルトの名無しさん:04/11/04 21:51:47
// 実は俺もなんか作ってたバージョン
import java.text.*;

public class ParseTester{
 public static void main(String[] args){
  String s;
  try{
   s = args[0];
  } catch(Exception e){
   s = "100.01";
  }
  try{
   NumberFormat nf = NumberFormat.getInstance();
   Number n = nf.parse(s);
   if(n instanceof Long){
    System.out.println(n + " is Long !");
   } else if (n instanceof Double){
    System.out.println(n + " is Double !");
   } else {
    System.out.println( "n is " + n.getClass() );
   }
  } catch(ParseException pe){
   System.err.println("解析失敗");
  }
 }
}

904 :デフォルトの名無しさん:04/11/04 21:58:49
>>897
オブジェクト指向であることは全然関係ねーなオイ

905 :デフォルトの名無しさん:04/11/04 22:03:15
perlの正規表現で
/^Cpu: (.*)/
$Cpu = $1;
でCpu:以下を取り出すようなことをJAVAでも行いたいのですが、ご教授頂ければうれしいです。

906 :デフォルトの名無しさん:04/11/04 22:22:52
>905
// VMはバージョン1.4以上を使うこと
import java.util.regex.*;

public class ForwardRef
{
public static void main(String[] args)
{
if(args.length > 0) {
Pattern p = Pattern.compile("^Cpu: (.*)");
Matcher m = p.matcher(args[0]);
if(m.matches() ) {
String inParen = m.group(1); // これがポイント
System.out.println("[" + inParen + "]");
}
}
}
}


907 :デフォルトの名無しさん:04/11/05 00:39:12
ファイルを選択したりするFileDialogクラスみたいに、
ディレクトリを選択できるDirectoryDialogクラス
みたいなものってないんでしょうか。

908 :デフォルトの名無しさん:04/11/05 00:47:08
大阪(西梅田)、新宿(JR駅前)のそれぞれ一等地に
拠点を構え、業績急上昇中!未経験者大募集中!の
ソフトウェア開発会社
グリーンシステムを応援するHPです。
http://www.geocities.jp/grs_hp/

応援するスレはこちら!
http://school4.2ch.net/test/read.cgi/job/1077432387/

最高の会社にするため、みんな頑張ってます!



909 :デフォルトの名無しさん:04/11/05 00:48:08
>>891
DatagramSocket#receive()

910 :デフォルトの名無しさん:04/11/05 01:59:09
int 型の変数1つで 32 ビット消費しますよね?
long 型のサイズは 64 ビットですよね?

じゃあ boolean 型のサイズっていくつなんですか? 1 ビット?
でも実際本当にメモリを確保した場合には 1 バイト分確保されますよね?
(そもそも論理型のサイズって言語仕様で定義されてましたっけ?)

911 :デフォルトの名無しさん:04/11/05 02:35:41
> でも実際本当にメモリを確保した場合には 1 バイト分確保されますよね?
JVM仕様とかを読め。

> (そもそも論理型のサイズって言語仕様で定義されてましたっけ?)
されてない。
っつーか、そもそも int が実メモリ上で必ず32ビットでなければならない、
なんて事は言語仕様では決められてない。

912 :デフォルトの名無しさん:04/11/05 02:41:57
>>907
JFileChooserで、
setFileSelectionMode(JFileChooser.DIRECTORIES_ONRY)
とすれば、ディレクトリだけが表示されるダイアログになる。


913 :デフォルトの名無しさん:04/11/05 08:52:28
public class PemissionClassLoader extends ClassLoader {
private ProtectDomainMaker domainMaker = new ProtectDomainMaker();

protected Class loadClass(String name, boolean resolve)
throws ClassNotFoundException {
Hashtable cache = new Hashtable();
Class cl = null;

cl = findLoadedClass(name);

if (cl == null) {
cl = (Class) cache.get(name);
if (cl == null) {
try {
return findSystemClass(name);
} catch (Throwable e) {
}

try {
cache.put(name, (cl = regClass(name)));
} catch (Exception e) {
System.out.println(e);
}
}
}
if (resolve) {
resolveClass(cl);
}
return cl;
}



914 :デフォルトの名無しさん:04/11/05 08:55:12
上の続き
//ProtectionDomainを設定してdefineClassするメソッド(クラスロードにはあまり関係なし)
private Class regClass(String name) {
ByteArrayOutputStream out = new ByteArrayOutputStream(1024);
File classFile = new File("./hogehoge/" + name + ".class");
FileInputStream classStream = null;
try {
classStream = new FileInputStream(classFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}

byte buff[] = new byte[1024];
int n, m;
int len = 0;
try {
while ((n = classStream.read(buff, 0, 1024)) >= 0) {
out.write(buff, 0, n);
len += n;
}
classStream.close();
} catch (IOException e) {
e.printStackTrace();
}
byte data[] = new byte[len];
data = out.toByteArray();
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}


915 :デフォルトの名無しさん:04/11/05 08:56:03
return defineClass(name, data, 0, len, domainMaker
.getProtectionDomain());
}

//クラスローダーでパーミッション設定をするためのProtectionDomainを生成したりするクラス
public class ProtectDomainMaker {
private Permissions permissions = new Permissions();
private ProtectionDomain protectionDomain;

ProtectDomainMaker(){
setPermissions();
CodeSource cs = new CodeSource(null,null);
protectionDomain = new ProtectionDomain(cs,permissions);
System.setSecurityManager(new SecurityManager());
}

private void setPermissions(){
try{
Permission readPermission = new FilePermission("file:./-","read");
Permission writePermission = new FilePermission("file:./-","write");
permissions.add(readPermission);
permissions.add(writePermission);
}catch(Exception e){
e.printStackTrace();
}
}

public ProtectionDomain getProtectionDomain(){
return protectionDomain;
}
}

916 :デフォルトの名無しさん:04/11/05 08:56:54
☆使う時(だいたいこんな感じ)
//hogehogeフォルダにクラスファイルは持ってきてある
PemissionClassLoader loader = new PermissionClassLoader();
loader.loadClass(hogehoge,true);
ObjectInputStream in = 省略 //regClassでロードするとここでエラーがでる。
Oya man = (Oya) in.readObject(); //オブジェクトそのものはKOクラス
man.doSomething(); としたい。

☆やりたい事
 リモートからダウンロードしたクラスファイルにパーミッションを設定してロードしたい。そして、オブジェクトはシリアライズ
してファイルに保存しておき、後々それを利用する。
 hogehogeフォルダは、メインクラスと同じ場所(classpathに含まれる所)にクラスファイルをおいておくと、パーミッションを設定する暇なく
勝手にロードされてしまうため、それを避けるためにクラスファイルはそこへ置いてある。

☆問題点
1: regClass()でロードされた時にうまく解決されていない。findSystemClassでロードされてしまうと当然の事ながら、パーミッションが
設定されない(その時はちゃんと動く-doSomethingのコールに成功)。
2: リモートからObjectInputStreamでリモートから得たクラス型のオブジェクトを得るのだが、その時にリモートからダウンロードしておいたクラスファイルがローカルに必要らし
い。しかし、リモートにおいておくとちゃんと動くかわりに、起動時に勝手にロードされてしまう(パーミッション設定されず)


駄文を長々とすいません(おまけにインデントがなくなっちゃいました)。2、3日調べてみましたが、お手あげになってしまったのでどなたかご教授下さい。目的が達成できれば他の方法でも構いません。
よろしくおねがいします。






917 :デフォルトの名無しさん:04/11/05 08:57:46
すいません、エラーのでるのはreadObjectのところでした。

918 :コピペ推奨:04/11/05 10:05:48
新宿区・信濃町でカメラ撮影をすると、カルト信者が尾行を始める
http://white.jpg-gif.net/bbsx/18/img/95687.jpg
http://white.jpg-gif.net/bbsx/18/img/101346.jpg
http://white.jpg-gif.net/bbsx/18/img/103468.jpg
http://white.jpg-gif.net/bbsx/18/img/95697.jpg

919 :デフォルトの名無しさん:04/11/05 11:58:39
質問させてください。OSはlinuxです。
現在、commons-logging と Log4j によるログ出力をしようとしてるですが、
ログの内容がコンソールに出力されてしまいます。(shを実行すると画面に、tomcatではcatalina.outに)
log4j.xmlにしていたファイルにもきちんとログははかれてるので認識はされていると思うんですが、
なぜ標準出力にまで出てしまうのかでかなり迷ってます。
どなたかご教授を。

「やった事」
・libにcommons-logging-1.0.2.jarとlog4j-1.2.8.jarを配置。
・クラスパス配下にlog4j.xml配置。(すべてDailyRollingFileAppenderで指定)
・ソースはこんな感じで書いてます
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class LogTest {
Log log = LogFactory.getLog(getClass());

public void logging(){
log.debug("**debug");
log.info("**info");
log.error("**error");
}
}

eclipse上で実行すると上手くいくんですがね...


920 :デフォルトの名無しさん:04/11/05 12:28:37
どんな設定になってるのかが大切なのに、設定ファイルを示さないところが敗因じゃね?

921 :919:04/11/05 12:38:58
>>920
ごもっともです。

てことでlog4j.xmlはこんな感じです。
<?xml version="1.0" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="DEBUGLOG" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Append" value="true" />
<param name="datePattern" value="yyyy-MM-dd" />
<param name="File" value="/home/temp/logs/debug.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %C{1} %L [%p] %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="debug" />
<param name="LevelMax" value="debug" />
</filter>
</appender>
<appender name="INFOLOG" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Append" value="true" />
<param name="datePattern" value="yyyy-MM-dd" />
<param name="File" value="/home/temp/logs/info.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %C{1} %L [%p] %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="info" />
<param name="LevelMax" value="info" />
</filter>
</appender>

922 :919(つづき):04/11/05 12:40:30
<appender name="ERRORLOG" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Append" value="true" />
<param name="datePattern" value="yyyy-MM-dd" />
<param name="File" value="/home/temp/logs/error.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss.SSS} %C{1} %L [%p] %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="error" />
<param name="LevelMax" value="error" />
</filter>
</appender>
<category name="jp.co.test">
<priority value="info" />
<appender-ref ref="DEBUGLOG"/>
<appender-ref ref="INFOLOG"/>
<appender-ref ref="ERRORLOG"/>
<!-- appender-ref ref="STDOUT"/ -->
</category>
<root>
<priority value="info" />
<appender-ref ref="DEBUGLOG"/>
<appender-ref ref="INFOLOG"/>
<appender-ref ref="ERRORLOG"/>
</root>
</log4j:configuration>

923 :デフォルトの名無しさん:04/11/05 12:47:04
二次元配列 array を次のように定義する。

 int array[ ][ ] = { { 1 } , { 2 , 3 , 4 } , { 5 , 6 } };

array の全要素の値を表示するプログラムを作成しなさい。

【条件】

・配列要素の値の表示には、ネストしたfor文(for文の二重ループ)を使用する。また、各for文の継続条件には「length」を使用すること。
・プログラム実行時の画面表示
 
1
234
56

924 :デフォルトの名無しさん:04/11/05 13:09:41
>>923
宿題は宿題スレで。

Java!宿題!
http://pc5.2ch.net/test/read.cgi/tech/1096959843/l50

925 :デフォルトの名無しさん:04/11/05 13:21:10
>>913-916
クラスローダーのレベルだけでそういうようなことやるより、
セキュリティマネージャーとURLClassLoaderの併せ技のほうがたぶん楽。

926 :デフォルトの名無しさん:04/11/05 13:25:40
>>923
ってか「【条件】」書いてある通りに書けばいい罠w

927 :デフォルトの名無しさん:04/11/05 14:04:40
>>926
それができたら宿題スレとこのスレを間違えるわけ無いだろ

928 :デフォルトの名無しさん:04/11/05 14:53:21
アプレット時、jarにするとき何か注意ありますかね?
jarにしたとたん動かなくなる。

testディレクトリに全部詰め込んで、
jar cvf test.jar test

HTMLにアプレットタグ
<applet code=test.class archive="test.jar" width=480 height=480>
</applet>

いったい何が悪いのか・・・・。

929 :デフォルトの名無しさん:04/11/05 15:03:57
cd test
jar cf test.jar *
じゃない?

930 :デフォルトの名無しさん:04/11/05 15:12:04
>>929
ありがとうございます。
解決しました♪

931 :879:04/11/05 17:08:23
また質問させてください。

クラスパスの設定はディレクトリ指定だとだめなのでしょうか?
%CATALINA_HOME%\server\lib

このように書くと配下すべての*.jarファイルにクラスパスが通っていると思っていました。
(書き方が間違っているのかも)
今は一つずつ
%CATALINA_HOME%\common\lib\mail.jar
%CATALINA_HOME%\common\lib\jsp-api.jar
%CATALINA_HOME%\common\lib\tool.jar
%CATALINA_HOME%\common\lib\servlet.jar
な感じで書いているので大丈夫ですが…


環境
OS: Windows2000
Tomcat 5.0
Apache 2.0
J2EE 1.4


932 :デフォルトの名無しさん:04/11/05 17:18:47
>>931
ttp://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/classpath.html

933 :デフォルトの名無しさん:04/11/05 17:18:59
>>931
Jarファイルは、クラスパス上ではディレクトリ相当の扱いとなるので
そのJarファイルを包括するディレクトリをクラスパスに指定しても
ディレクトリとパッケージディレクトリの間に、jarファイル名の
ディレクトリが存在する事になるので、パッケージディレクトリに
アクセスできなくなる。

934 :879:04/11/05 17:55:05
>>932さん
>>933さん
ありがとうございました。

「classpath 設定」とか色々とググっても情報がでないのでこっちに来てしまうのですが、
自分がクレクレ君みたいで恥ずかしいです。
かといって時間が限られているのでじっくり検索している暇も無い…
鬱だ(AA略


またお世話になるかもしれませんが、なるべく迷惑をかけないようにがんばります。

935 :デフォルトの名無しさん:04/11/05 18:01:59
プログラム内で、

int totalMoney = 0;

と記述すると問題なくコンパイルが通るのに、

int totalMoney;
totalMoney = 0;

と書くと、
<identifier> がありません

というエラーが出る。
『宣言と初期化を同時に行うのはあまり好ましくない』とどこかで読んだ気がするのに…。
なぜですか?


936 :デフォルトの名無しさん:04/11/05 18:03:04
ブラウザでJavaが起動しなくなりました。
インターネットオプションの詳細設定でJavaの設定のしてますし、
セキュリティの設定も問題ありません。
MicrosoftVMもSunのものも入っています。
コマンドプロンプトにて「jview」と入力して、正常の表示がされました。
詳細設定で各VMで設定しても、どれも動きませんでした。
他に何か確認すべき事項はありますでしょうか?

OS:WindowsMe
JavaPlug-in:Java2 Runtime Environment,SE 1.4.2_06
ブラウザ:IE6.0

937 :デフォルトの名無しさん:04/11/05 18:15:07
>>935
代入はメソッド定義(とイニシャライザ)にしか書けないけど、
どこに書いてる?


938 :デフォルトの名無しさん:04/11/05 18:54:03
>>925
URLClassLoaderについては以前調べたのですが、パーミッションの設定の
方法などは普通のクラスローダーと変わらないようなので使用を見送っていました。
参考にしたいので、どのような方法があるか教えてください。お願いします。


939 :デフォルトの名無しさん:04/11/05 19:25:14
>>934
Unix でやるならこんな感じで一括設定できるんだけど:

for JAR in /hoge/*.jar; do export CLASSPATH=$CLASSPATH:$JAR; done

Windows だと DO 節での環境変数設定が維持されないんだよねぇ。

FOR %F IN (C:\hoge\*.jar) DO SET "CLASSPATH=%CLASSPATH%;%F"

苦肉の策で環境変数を設定するバッチファイルを自動生成してそれを起動するような
ことをしたことがある。

ECHO @echo off > a.bat
FOR %F IN (C:\hoge\*.jar) DO ECHO SET "CLASSPATH=\%CLASSPATH\%;%F" >> a.bat
CALL a.bat
DEL a.bat

940 :935:04/11/05 19:51:05
>>937
こんな感じです。
某ページのお手本を真似して自分で書いてみようとしたのですが。

public class PiggyBank
{
// PiggyBank クラスのフィールド(データ) の定義
int totalMoney;
totalMoney = 0;

// 貯金箱にお金を入れる
void insertCoin (int money)
{
totalMoney = totalMoney + money;
System.out.println ("貯金箱に" + money + "円入りました");





941 :デフォルトの名無しさん:04/11/05 20:11:59
>>940
ばか!

942 :デフォルトの名無しさん:04/11/05 20:57:13
>>940
メソッドって言葉知ってる?

943 :デフォルトの名無しさん:04/11/05 20:58:50
>>940

>>935で指摘されたとおりの誤りがありますね。
コンストラクタで初期化するのがいいでしょう。

なお、intフィールドは0で初期化されるのが保証されているので、
ほっとくのも可です。他の型もそれぞれ何もしなかったときの初
期値は言語仕様で規定されています。


944 :!940:04/11/05 21:04:22
>>941
無邪気なつっこみに萌え。
>>942
嫌なやつだ。
>>943
素敵です。

945 :942:04/11/05 21:14:45
>>944
そう取ったならごめんよ。
どの程度の知識量か分からない以上、
>>37
>代入はメソッド定義にしか書けないけど、
の「意味」がわかるかどうか知りたかった。

946 :944:04/11/05 21:17:30
>>945
ごめんよごめんよ。
もっとやさしくなることにするよ。

947 :デフォルトの名無しさん:04/11/05 21:28:00
>>945
静的初期化子はメソッドか否か


948 :913-916:04/11/05 21:29:10
 どうやらクラスの解決はされているようで、パーミッションの設定も正しくされているようです
(クラスローダーのインスタンスをフィールドで保持せずに、インスタンス変数としていたせいでしょうか・・・)
 それはさておき、問題はだいぶ狭まりました。後は、ObjectInputStreamのreadObject()の時に
classpathの所にリモートからのクラスファイルを置かずにどうにかならないかという事だけです。
上記のPermissionClassLoaderでクラスファイルが解決されていても、ローカルにクラスファイルがないと
だめなのでしょうか?それとも、loadClassで正しくインスタンスを得る事ができても、クラスが解決されてい
ないのでしょうか。
 どなたかご教授下さい。

949 :913-916:04/11/06 00:25:20
自己解決しました。ObjectInputStreamのresolveObjectをオーバーライドして、
ローカルに見つからない場合、自作クラスローダーを利用してロードさせるように
したらうまくいきました。
みなさんお騒がせしました。

950 :デフォルトの名無しさん:04/11/06 00:29:00
超初心者ですが宜しく。
今、CUIの初心者的なプログラム作ってるんですけど、
プログラム内でCLS操作させるにはどうすればいいんでしょうか・・・。
System.out.print("CLS");???じゃ無いしヽ(´Д`;)

951 :デフォルトの名無しさん:04/11/06 00:30:02
>>950 環境依存しないやり方は存在しないから気にするな。

952 :デフォルトの名無しさん:04/11/06 01:00:34
アプレットに関して質問です。
while(true){
repaint();
}

while(true){
repaint();
Thread.sleep(10);
}
とでは、他のスレッドの処理速度に与える影響は変わるのでしょうか?

953 :デフォルトの名無しさん:04/11/06 01:03:07
>>952
それ以前にAWTスレッドとめちゃ駄目だってば。

954 :デフォルトの名無しさん:04/11/06 01:19:15
すみません、教えてください。

javaのclassをCやC#の構造体のように使うのはメモリを多量消費し
ますか?

955 :デフォルトの名無しさん:04/11/06 01:41:24
>>954
よっぽどのことが無い限り気にしなくていい。

配列やリストにしたときの要素数が10万超えるようだったらまた来い。

956 :デフォルトの名無しさん:04/11/06 01:45:04
万超

957 :デフォルトの名無しさん:04/11/06 02:48:51
満超 える

958 :デフォルトの名無しさん:04/11/06 04:24:26
>>950
MS-DOS〜Win95 で C やってた頃はエスケープシーケンスが使えたんで凝った
CUI アプリ作ってたもんだが、たしか Java からは無理だったかな (そもそも NT
系のコマンドプロンプトでエスケープシーケンス使えたっけか?)。

Windows なら↓で逝けんか? (いま試せる環境がない…)
Runtime.getRuntime().exec("CMD /C CLS");

959 :デフォルトの名無しさん:04/11/06 04:52:46
float型 変数が保持する値を Binary 表示する方法って無いですかね?
int型 だったら Integer.toBinaryString(int) で出来るじゃないですか。
それの float 版とか。

960 :デフォルトの名無しさん:04/11/06 04:57:56
Integer.toBinaryString(Float.floatToIntBits(n));

961 :デフォルトの名無しさん:04/11/06 05:00:10
floatToRawIntBits のがよかったかも。

962 :デフォルトの名無しさん:04/11/06 05:01:03
>>959
今、APIリファレンスで調べただけなんですが、
Float.floatToIntBits(float value)とか
Float.floatToRawIntBits(float value)とかはどうですか?

963 :959:04/11/06 05:11:54
>>960-962
それだ!サンクスコ!

しかし、float ってあんまし2進法で見ても、直感的じゃないんだねぇ。。
って漏れがまだアマちゃんなだけかもしれんけど

964 :デフォルトの名無しさん:04/11/06 05:14:16
1.5.0ソースでた
http://java.sun.com/j2se/1.5.0/source_license.html

965 :デフォルトの名無しさん:04/11/06 06:51:41
IDEは何が一番(・∀・)イイ!!ですか?

966 :デフォルトの名無しさん:04/11/06 06:55:08
Serial ATAかな。
まあ無印IDEも2GB制限とかあるけど味があっていいけどね。

967 :デフォルトの名無しさん:04/11/06 07:10:57
>>966
SCSI はどうなんですか?

冗談はさておき
>>965
私は趣味でJavaやってるだけなので
IDEはほとんど使わないですが意見を述べさせて頂きます。

Eclipse IBMのFree IDE、ちょっとしたプログラムでは邪魔者
NetBeans SunのIDE、GUIエディタとして使うのが一般(?)
JBuilder BorlandのIDE、GUIエディタとしては評価が高い(?)

趣味とかでIDEは必要ないと思いました・・・(使えないだけだろ
嘘が含まれてる可能性が 大 なので後は自分で検索してください

968 :デフォルトの名無しさん:04/11/06 07:17:51
趣味なら、むしろIDE。
特に、サーブレットとかStrutsとか、いろいろライブラリを使うようになったらIDEが必須。
antが使えるならいいけど。
勉強の始めなら、Eclipseだとエラーの修正候補出してくれるので便利。
そこまでやられると勉強にならん、という意見もあるだろうけど。
サーブレット環境の整備は、NetBeansの方がラク。
Tomcatが標準でついてるからね。
金だして買うならJBuilder。かな。

969 :デフォルトの名無しさん:04/11/06 07:26:13
しょうもない質問ですまそ。
String型に保持してる数字を int型にキャストするにはどうするの?
int i = Integer.valueOf(Strings)
ってやってもなんかうまく行かないんだけど…

970 :デフォルトの名無しさん:04/11/06 07:36:34
int i = Integer.parseInt(str);
       or
int r = (new Integer(str)).intValue();

間違ってたらすみません
これからはAPIをチェックしようね

971 :デフォルトの名無しさん:04/11/06 08:00:11
int i = Integer.valueOf(s).intValue();
という方法も。

*:ラップ型のクラス名
+:プリミティブ型の名前
s:static
i:instance

(s/s)*/String.valueOf()はString⇔ラップ型に、
(i)*.+Value()はラップ型をプリミティブ型に、
(s)*.parse+()はStringをプリミティブ型に、
(i/s)*.toString()はラップ型やプリミティブ型をStringに。

972 :デフォルトの名無しさん:04/11/06 08:10:07
>>971
String.valueOf()はString←プリミティブ型も可です。

973 :デフォルトの名無しさん:04/11/06 09:52:57
>>969
> String型に保持してる数字を int型にキャストするにはどうするの?

キャストはできません。

974 :デフォルトの名無しさん:04/11/06 10:50:54
>>973
無駄レス増やさずに教えてやれよ


975 :デフォルトの名無しさん:04/11/06 11:50:34
すいませんjavaを今日から勉強はじめたのですがわからないとこが
あるので教えていただきたいです
プログラミングはCを学校でやっている程度です

public class Sample40{

public static void main(String[] args) {

if(true) System.out.println(true);
if(false) System.out.println(false);

}
}

これなんですがif文のtrue、falseの判断は何でしているのでしょうか?
いままでif(a==true)みたいなのしか見たことがなかったのでわかりません

976 :r:04/11/06 11:59:10
>>975
意味無いんじゃね?
if(false)のほうは"到達不能コード"だと思う。
# eclipseのデフォルトの設定ではコンパイルできない気がする

977 :975:04/11/06 12:07:49
意味ないんですか?汗
if文使う前に上に書いたif文が入ってたからjavaではこういうことするのかと思いました
とくに気にしないでいいことなんですね
ちなみにこのページの下のほうにありました
http://www.atmarkit.co.jp/fjava/rensai3/eclipsejava04/eclipse04_1.html

978 :r:04/11/06 12:47:03
>>976
ああ、そういうコンテキストか。

Cをやっていたんなら、ifについてはそれとの類比で理解すればいい。


979 :デフォルトの名無しさん:04/11/06 12:52:51
わかりましたありがとうございます

980 :デフォルトの名無しさん:04/11/06 12:59:31
>>976
いや、コンパイルは通ります。

>>977
よく読め。それはif文の説明で、条件式がfalseだったらその命令は実行されないという例を示しただけだ。

ちなみにifは一行しかなくても
if (true) {
 System.out.println(true);
}
って書いた方がいいぞ。

981 :デフォルトの名無しさん:04/11/06 13:15:21
プログラムを書いたんですけど
どうやったらコンパイルできるんですか?

982 :デフォルトの名無しさん:04/11/06 13:16:25
javac

983 :デフォルトの名無しさん:04/11/06 13:18:55
じゃばっく

984 :デフォルトの名無しさん:04/11/06 13:24:14
>>980
あぁーなるほど

一行だと括弧なしのほうがスマートに見えるからいつもつけてないです
やっぱつけたほうが追加とかするとき楽ですよね

985 :デフォルトの名無しさん:04/11/06 13:25:13
>>981
>>1を読め

986 :デフォルトの名無しさん:04/11/06 13:30:11
javac = javaco - o

987 :デフォルトの名無しさん:04/11/06 17:16:37
Java2SDKをインストールしたんですけど
オフラインの時には使えません。
どうやって解決すればいいんでしょうか?

988 :デフォルトの名無しさん:04/11/06 17:34:01
>>987
J2SDK 自体がオフラインだから使えないというのは有り得ない。
設定とにらめっこしる

989 :デフォルトの名無しさん:04/11/06 17:41:14
オンラインじゃないと使えない環境なんて、、、あり得ない

990 :デフォルトの名無しさん:04/11/06 17:45:37
>989
インスコしたての窓XPとか事務所XPとかネットワーク版のエロゲ(ry

991 :デフォルトの名無しさん:04/11/06 19:22:38
なんか1にあるリンク先の情報って古くない?


992 :デフォルトの名無しさん:04/11/06 20:03:48
>>991
まあいまどき環境変数でクラスパスを構成してみたりとか、
そもそもwiki立てたやつが立てた数時間後に立て逃げとか、
突っ込みどころはいくつかあるが...
基本は「Wikiなんだから突っ込む前におまえが直せ」だろうな。

993 :デフォルトの名無しさん:04/11/06 20:24:59
Java言語で、GUIアプリケーションを作った時に、どうやって、コマンドプロンプト上ではないところから
起動できるのか。言い換えると、アイコンをクリックしただけで起動出来るようになるのかを誰か
教えていただけますか。お願い致します。

994 :デフォルトの名無しさん:04/11/06 20:29:51
>>993
jar

995 :デフォルトの名無しさん:04/11/06 21:01:22
j2sdk-1_4_2_06-windows-i586-p.exe

このソフトを普通にインストールしたんですけど
オフラインでは起動できませんが仕様ですか?
それと、起動してもわからないことばかりです。
Draw 4 App
MilitaryGame App
Notepad App
SwingSet2 App
この4つの項目を起動できるんですけど
どうやって使用すればいいかわかりません。

詳しく教えてもらえまえんか?

996 :デフォルトの名無しさん:04/11/06 21:01:30
>>993
マニフェストファイルに
Main-Clas:XXXって行を追加してJarに含める。

http://www.javadeveloper.jp/members/general/Article.category_topic_article_tips_issue_008.dhtml



997 :デフォルトの名無しさん:04/11/06 21:13:59
>>995
それってWebstart起動しようとしてないか?
Javaってなんだかしってる?SDKってしってる?

998 :デフォルトの名無しさん:04/11/06 21:29:38
次スレ56
http://pc5.2ch.net/test/read.cgi/tech/1099744085/


999 :デフォルトの名無しさん:04/11/06 21:30:05
>>997
Java Web start アプリケーションマネージャ
というものを起動してますが・・
すべてwiki通りにやったんですけど
どこが間違っているんですか?

1000 :1000:04/11/06 21:32:12
【初心者】Java質問・相談スレッド56【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1099744085/


1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

270 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)