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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下の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
できないよりできたほうがいい。
やったほうがいいかやらないほうがいいか不明確な場合、
やらないでいいことをやる前に避けようとするのはあまり賢くはない。
食わず嫌いができるだけです。
8955: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が無効な状態です。
どこで有効/無効を切り換えるんでしょうか?
教えてください。
14955:04/10/20 23:50:48
>>12
カミサマキタ━━━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━━━!!!!!

解決しました!これなんのおまじないデツカ?
15デフォルトの名無しさん:04/10/20 23:52:14
forルーブはどうなったんだよw
16955: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
そうですか。なるほど。
具象クラスを作ることで実行クラス(?)には修正することもなく修正ミス等がすくなくなってひいては保守性とかも高くなるってことですか。
どうもでした!!
25955:04/10/21 00:14:57
ご迷惑をおかけしたので、ソースを完全公開します。
※コメント一部つぶしてますが。
仕様としては、あるディレクトリにファイルすべてを読み込んで
指定した文字列を部分検索した結果、Hitした場合、そのレコードをすべて出力するPGMです。

以下部分的に公開します。
26955: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
29955: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.ウェブページを開設する
34955:04/10/21 00:21:06
>>28
大いに笑ってください。
神々の方々に恥をさらして、さらに上を目指したいです。
3527: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
晒しなさい
40955: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
45デフォルトの名無しさん:04/10/21 00:29:38
>>40
神なんているわけないだろ
2chなんて引きこもりからニートまでだぞ
晒すならさっさと晒せ
46デフォルトの名無しさん:04/10/21 00:31:13
>>45
>>41がいるじゃないか。
4728:04/10/21 00:31:19
笑ってすまんこ。
ここは初心者が勉強するスレだね。

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

FileNotFoundExceptionはExceptionのサブクラスだから両方書いても重複するね。
ランタイム例外は書かなくてもスローされるから別にいいとしても、
ここで発生する例外はFileNotFoundException,IOExceptionときちんと書いた方がいいと思う。
48955: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書けば
5728:04/10/21 00:42:03
あ、
FileNotFoundExceptionはIOExceptionのサブクラスだから一つでいっか。
58デフォルトの名無しさん:04/10/21 00:42:17
>>50
コメントは「何をしているか」ではなく「何故そうしているか」を
書くとよいとどっかで聞いたことがあります
59デフォルトの名無しさん:04/10/21 00:43:24
コメントはテストだけに書くっていうのも良いとどっかで聞いたことあります。
60955: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
最強株ロボキタ━━━━━━(゚∀゚)━━━━━━ !!
63955: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リファレンスつくるツールじゃないっけ。
66955:04/10/21 00:48:35
>>64
なんで怒ってるの?
67デフォルトの名無しさん:04/10/21 00:48:57
拡張子.javaのままでうpできるアップローダなんてねえよボケ
68デフォルトの名無しさん:04/10/21 00:49:39
なんか台風もう終わっちゃったんですけど。ツマンネ
69955: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
77955:04/10/21 01:02:00
>>76
わくわく。
78デフォルトの名無しさん:04/10/21 01:02:08
lineStrがstaticだからいけないのかな。
7978: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
そんな話はどうだっていいよ。
空気嫁
87955: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
91955:04/10/21 01:15:07
>89
そうなん?それはASMをやってた頃の名残ですね。
92デフォルトの名無しさん:04/10/21 01:17:23
PL/IだろうがASMだろうがCOBOLだろうが変わんねーよ

っていうことはプログラミング初心者じゃないんだな…
93955: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さん。いまの状況は?配列のエラーは消えてるの?
97955: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読め。
101955: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
コメントで「以上」と書いてるんだから
不等号の一つくらいは入れてくれないと困る
117955:04/10/21 01:49:30
皆様。
いろいろとご迷惑をおかけいたしました。
お蔭様で正しく動作するPGMとなったようです。
ですが、私の無知ゆえの潜在BUGは多々あるかと思います。
今後、さらにJAVAの理解を深めた時にでもブラッシュアップしたいと思います。
現在のPGMは、仕様の途中ですのでさらにコーディングを続けたいと思います。
当面の目標はふたつです。
・該当レコードを単に出力→出力内容を編集して出力
・検索キーワードの外部ファイル化

また、皆様のお時間がございましたら、弄んで罵倒してくださいませ。
本日はまことにありがとうございました。
118115:04/10/21 01:50:18
>>116
あのー漏れ、>>105でもあるんだけど・・・
119デフォルトの名無しさん:04/10/21 01:51:23
うんうん、プログラム基本はできていると思いこんでいる初心者は怖いね。
Javaの理解以前の根本的な問題はあると思うよ。
120デフォルトの名無しさん:04/10/21 01:52:01
>>118
で?
121104: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
改良も何も、これを直すのなんか勉強してから一ヶ月程度のヤシでもできるだろ…
124955: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
128デフォルトの名無しさん:04/10/21 02:01:21
>>125
直してる(つもりの)香具師が明らかに初心者(から中級者の間くらい)。
あと半年もすれば恥ずかしく思うようになるだろう
129127: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はどこにいったんだ?
134955: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.*; って必要だったっけ?
142955: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
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なし」だそうです。
昨日はどうもありがとうございました。
先日のPGMにつきましては、Closeという事でお願いします。
これで指定した文字列を変えることで、欲しいレコードを抜けますので。
本当は、このレコードを編集しようかと思いましたが、入力レイアウトが保証
されている訳ではないので編集PGMは機能分割することとしました。
またご相談させていただくやもしれませんがその節はよろしくお願いいたします。
m(__)m
155デフォルトの名無しさん:04/10/21 13:58:00
完璧なソースとやらを見せてくれ。
あ!!!
一つだけお伺いしたいことがありました。すみません!!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にしてみましたが駄目でした
>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
165デフォルトの名無しさん:04/10/21 15:59:59
>>955
String#indexOf
166144:04/10/21 16:19:02
>>150
インタフェースこそ、抽象クラスのメソッドだけ版、つまり特殊版だと思ってました。
重宝するときってどうやって使ってるんですか?

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

再び。
抽象クラスとかインタフェースはソースを読みやすくするもの
って理解でOK?
(他にも利点あるんでしょうが、1つの利点って意味で)
167デフォルトの名無しさん:04/10/21 16:33:41
>>163
スレッドじゃないです
JMenuItemをActionに登録(?)して、そのメニューをsetAcceleratorしてます

さらしてみました。(´・ω・`)
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);

}
171170:04/10/21 18:39:48
訂正です

二行目
× setSize(int,int)
○ reshape(int,int,int,int)
172デフォルトの名無しさん:04/10/21 19:03:33
>>170
setSize()でザイズ設定するのでなく、
setPreferredSize()にしてみてください。
173159: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は何か設定用のユーティリティがあるんだよな……覚えてないが)
178174:04/10/21 20:49:16
>>174
環境変数のトコで名前がPATH、値もbinフォルダに合わせました。
だからまぁ、普通にコマンドプロンプトを開けばできるのです。
ただランチャーから開くと…。
179174:04/10/21 20:49:38
×>>174
>>177
180デフォルトの名無しさん:04/10/21 21:09:30
>178
そーなるとランチャのCreateProcessの使い方がおかしいのかも。
ランチャの乗り換えをお勧めする。
181170:04/10/21 22:06:31
>>172
reshape()からsetPreferredSize()に替えて実行してみましたが、
やはりサイズの変更は反映されませんでした。
あと、手動で内部フレームのサイズを変更しようとしたのですが、それも反映されず、
サイズを変更しようとすると強制的に最大化されてしまいます。
182144: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
抽象クラスっつーよりインターフェイスになってる罠
186174: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であってもよい。)
196192:04/10/22 01:55:04
>>193
>>194
レスありがとうございます。
String#lengthは文字列内の文字数をカウント、
lengthは配列のフィールド数をカウントする
というとこでOKですか?
197192:04/10/22 01:57:15
>>196
ありがとうございました。
198デフォルトの名無しさん:04/10/22 01:59:38
>>196
> String#lengthは文字列内の文字数をカウント、
合成文字やサロゲートペアがあるので String#length() は必ずしも文字数と一致しない。
char の数とは一致するけど。

> lengthは配列のフィールド数をカウントする
配列の要素数ね。
199144:04/10/22 03:05:06
>>183-185>>189
ども。
ちょっとわかってきたってところです。
>>189さんの言うようになることを祈って勉強続けます。
200187: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
強く氏ね
217206: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コマンドを実行するとかすればできるかも
229227: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
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
252r ◆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回押すと論理和の記号 || が出ます。
271261:04/10/23 11:45:22
>>264
電脳直結式のキーボードです。
私は電脳手術(攻性防壁付き)を行い、脳を電脳化してますので
脳波で直接入力する事が可能なのです。
キーボードの機種は、東レ0420式です。
272261: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関係ねーよ

281261: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です。
実は釣りでした。
290r ◆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
脳内では好きなように読んでくれればいい
「スクルド」と無理矢理読んでハァハァするのも自由だ
が、人と話をするときは「すくえあるーと」と言っとけ。
299r ◆r/etvCKR2A :04/10/23 15:22:34
>>296
パターンによる検索が出来るだけかと思っていたが、そうではないのかな。
""で囲まれてる部分とそうでない部分をわけたりするのって
結局、一文字づつの時とほぼ同じ状態遷移が必要にならないか?

300296: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か。
304300:04/10/23 16:12:34
しかし正規表現は慣れるとパーサーを書くスキルが無くなってしまうという諸刃の剣。

俺がそうだ_| ̄|○
305r ◆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コンソールが表示されません。

どなたか,原因がわかる方教えて頂けないでしょうか。
323244: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()は、その第一引数を正規表現形式で書かれたテキストだ
と強制的に見なしてしまう。
正規表現での . は、任意の文字を表わすとあり、
つまり上の書き方だと、ほぼ全ての文字を . に変換するとの事になる。
327324: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");

と間違えているわけではないよね。
344332: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();
みたいな事がやりたいのではないかと推測。
346332: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でコンパイルとおってまぁいいやとなるやつ大量生産な予感
349332: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 ライブラリっていうやつを使うんだよ。
354332: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());
  //こうやって順番に取り出すと
  //格納した順番に出力される。
  //ランダムに過不足なく全部出力したい。
}
358332: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の統合開発環境についてなんですが、どれがどのように良いのでしょう。
できれば違いなんかも教えてもらいたいです。
よろしくお願いします。
361242: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
そんなものは使わない。使う場面に遭遇することは無いだろう。忘れていい。
365242:04/10/24 21:20:45
>>363
なるほど、そういう事だったんですね。。
ちょっと興味心でマックのLook&Feelにしたかったのですが、残念。
でも、すっきりしました。ありがとうございます。
366332: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の中かな?
369351: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
あっ本当にプログラムの板みたいですね
板違いだ(;´Д`)すみませんでした
414393: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
型のほうじゃない?
425242: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を繰り返す。
431242: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()を使いませう
458452: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はユーザクラスとして使うしかない。
465456: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。完璧にスレッドセーフになる。
469466: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
一般的
472468:04/10/26 20:27:22
>>470
一般的もなにも、属性を持つオブジェクトをスレッドセーフにする唯一の方法。

ただし、>>467の言うように、本当にそれらをスレッドセーフにする必要があるのかどうかをまず考えれ
473デフォルトの名無しさん:04/10/26 20:27:50
>>469
逆に聞くけど、requestスコープのオブジェクトが他のスレッドから書き換えられる場合ってどんな場合?
ちょっと想像つかない・・・

俺もImmutableってのも有りかもと思った。
474466:04/10/26 20:31:57
>>468
調べてみましたがImmutableって内部変数の変更不可って奴ですか?
それだと困るんですが。。。
475466: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。
479466:04/10/26 20:41:48
>>477
なんでもいいのですが、
例えば前画面から送られてきた値から算出した値とか、
データベースの検索結果から取り出した値とかですが。
480デフォルトの名無しさん:04/10/26 20:52:25
>>475
> このやりかただとオブジェクト生成時点からRequestにセットするまでの間は、
書き換える可能性があるのかな?と思っていたのですが。

プログラム中で他のスレッドに明示的に渡してなければOK。
Actionのexecute()メソッドそのものはスレッドセーフだ。
481466: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のインスタンスが使いまわされて、
使い回すような設計・実装をしているのか?
485466: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が続いてるんだが。
初心者をなめちゃあかんよ。
489466: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みたいなのは良いんじゃない。素直で向上心ありそうだから。
495466: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...
498466: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での知識・経験は忘れた方がいい。
どこまで正しいのか、他の言語でも一般的な事柄なのか判断しにくい。
502501: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++だね。
505466: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 につなぎに行くようになってる。
512491:04/10/27 08:02:34
不適当な発言スマソ・・・

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

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

たまにはこういった基礎を学んでみるのもいいのではないでしょうか。
Javaでの開発に限らず、きっと役に立つはずです。
513509: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 の値が分かりません。教えてください。

(以下略)
528509: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

クライアントサイドなのかサーバーサイドなのかわからん。
533497@学校:04/10/27 16:53:19
>>499
Image型の変数にgetImage(getCodeBase(), "tama1.gif");で画像入れてました。
はい。答えになってません。

で、それを他のクラスでやっちゃいけないのですか?
コンパイルは通るのに、実行のとき、メインのクラスすらないってステータスバーに出ます。
534497@学校:04/10/27 17:00:51
Image クラス型オブジェクトとして取得 して、
Graphics クラス型オブジェクトにセット です。

Graphics クラス型オブジェクトにセットというのが、無いのでしょうか?
でも、玉クラスで管理してなかったときと、同じ方法でやってると思うのですが・・。
535529: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項演算子
550547: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項演算子は評価して値を返すのか。
553550: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がよく来る
556q: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が嫌いなんです。
で、このような、コレクションからオブジェクトを検索するような方法が
全うなのかそうでないのかを教えてもらいたいのです。
もしもさ、もしも、きみなら、どんな風に書く?
557r/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プログラムを組めるようになるやつがいいでつ。
561509:04/10/28 02:34:47
>>528の修正プログラムあてたけどダメでした。
不貞寝してやるわ。
562509:04/10/28 03:00:41
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の達人さんはどんな仕事をしてるんですか?
572563: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
死滅スレからの出張に手を出すのやめれ
581579: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) と同じ。
589587: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 もしくはサブクラスの配列のインスタンスを持っている必要がある。
598r/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
ダウンロード元のホームページの作者に聞けよ。
603575: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
なんでお前は教えてあげなかったの?
611606: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では、スーパークラスより上を遡ってのメソッド呼び出しは
できません。
617606: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
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デフォルトの名無しさん
>>626
アプレットの話?
JavaScriptでイベントとらえられるなら
LiveConnectでアプレット側に伝えられる気がするけど