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

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下の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/
0002デフォルトの名無しさんNGNG
スレ立て、乙!
0003デフォルトの名無しさんNGNG
2を下さい
0004デフォルトの名無しさんNGNG
前スレの994です。
やっぱりCができないと駄目なんですね・・・
0005デフォルトの名無しさんNGNG
>>1
乙。

>>4
プログラマになるつもり?
学校の課題ならJavaだけでもいい気がするが。
0006デフォルトの名無しさんNGNG
>>4
Cを知らなくても、Javaは理解できる。
Cを知れば、Javaの理解も深まる。
0007デフォルトの名無しさんNGNG
>>4
できないよりできたほうがいい。
やったほうがいいかやらないほうがいいか不明確な場合、
やらないでいいことをやる前に避けようとするのはあまり賢くはない。
食わず嫌いができるだけです。
0008955NGNG
前スレ955です。
う〜ん。
出力直前でSystem.outしてみたんですが、ほしいレコードはみんなきてるんですよね。
なのに、
bw.write(lineStr +"\n"); //出力
で書いてもファイルには出力されてません。。。しょぼーん
0009デフォルトの名無しさんNGNG
>>1
乙

>>4
自分で勉強できなければCを選んでもあまり意味ない。
学校で習っただけではどっちとっても微妙
0010デフォルトの名無しさんNGNG
>>955
ソースをコピペしる。
0011デフォルトの名無しさんNGNG
>>8
ファイルはクローズしてるか?
0012デフォルトの名無しさんNGNG
>>8
bw.close();
の前に
bw.flush();
を入れてみる
0013デフォルトの名無しさんNGNG
いま、JAVAが無効な状態です。
どこで有効/無効を切り換えるんでしょうか?
教えてください。
0014955NGNG
>>12
カミサマキタ━━━(゚∀゚)━( ゚∀)━(  ゚)━(  )━(゚  )━(∀゚ )━(゚∀゚)━━━!!!!!

解決しました!これなんのおまじないデツカ?
0015デフォルトの名無しさんNGNG
forルーブはどうなったんだよw
0016955NGNG
>>15
すみません。ちゃんとブレイクしてたみたいです。
(情けない。。。)
0017デフォルトの名無しさんNGNG
>>16
ソンナ、ワケナイ。
0018デフォルトの名無しさんNGNG
すいませんがポリモルフィズムとやらをわかりやすく解説してください。
要はifとかswitchを使わずに具象クラスを作るってことですか?
0019デフォルトの名無しさんNGNG
>>14
何か嘘くせぇ。自分に都合の悪いことかくしてないか?
close()文が初めからなかったと思うんだが?
close()したらflush()の必要はないはず。
0020デフォルトの名無しさんNGNG
>>18
「生き物」クラスのサブクラスである「人間」クラスがあるとする。
おれが誰かに「生き物を連れてこい」と言われたとき、
「生き物」クラスのインスタンスを連れて行けば当然OKだが、
「人間」クラスのインスタンスを連れて行ってもOKになる。
なぜなら「人間」クラスは「生き物」クラスでもあるからだ。
0021デフォルトの名無しさんNGNG
>>20
はぁ。なんとなくわかったような。
で、それが実際PGする際にどう利点になるんですか?
0022デフォルトの名無しさんNGNG
自分で>>18に書いてるやん。ifとかswitchに頼らなくて済む。
0023デフォルトの名無しさんNGNG
>>21
簡単そうなぬるぽパターン、じゃなかったNull Objectパターンでも読んどけ
http://www.hyuki.com/dp/dpinfo.html#NullObject
0024デフォルトの名無しさんNGNG
>>22
そうですか。なるほど。
具象クラスを作ることで実行クラス(?)には修正することもなく修正ミス等がすくなくなってひいては保守性とかも高くなるってことですか。
どうもでした!!
0025955NGNG
ご迷惑をおかけしたので、ソースを完全公開します。
※コメント一部つぶしてますが。
仕様としては、あるディレクトリにファイルすべてを読み込んで
指定した文字列を部分検索した結果、Hitした場合、そのレコードをすべて出力するPGMです。

以下部分的に公開します。
0026955NGNG
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);
0027デフォルトの名無しさんNGNG
質問です。

swingとかでボタンにカーソル合わせるだけでミニ吹き出しが出て解説が出るのはどうやるんですか?
0028デフォルトの名無しさんNGNG
>>throws FileNotFoundException, Exception {

ちょっとワラタ。例外適当に投げすぎ(w
0029955NGNG
ひぇー!ソースを書こうと思ったけどココ汚すだけになりそう。
もう皆様の興味が引けてしまいましたら、FAにしますが、いかがでしょう?
うぷするよい方法ありましたらお教えくださいませ!!
0030デフォルトの名無しさんNGNG
>>27
JComponent#setToolTipText(String text);
0031デフォルトの名無しさんNGNG
>>27
コンポーネントのsetToolTipText()メソッドを探してみるのじゃ。
0032デフォルトの名無しさんNGNG
upまだー
0033デフォルトの名無しさんNGNG
>>29
1.アップローダを開設する
2.ウェブページを開設する
0034955NGNG
>>28
大いに笑ってください。
神々の方々に恥をさらして、さらに上を目指したいです。
003527NGNG
ありがとう。
0036デフォルトの名無しさんNGNG
>>27
JComponent#setTooltipText(String s)でテキストをセットするか
JComponent#getTooltipText()をオーバーライドして、任意の
Stringを返すようにすればOK
0037デフォルトの名無しさんNGNG
コメントの「コンストラクタ*定義*」が凄く気になる
そこは呼び出してるだけで、定義してないだろうと
0038デフォルトの名無しさんNGNG
俺は2chに晒す用の無料Webスペースを持っている。
0039デフォルトの名無しさんNGNG
>>38
晒しなさい
0040955NGNG
自分の”趣味のプログラミング”に神々のお力をお借りしてしまって
よいものか・・・今、ガクブルしてますよ。。。
0041古代帝國富士皇朝総帥・伯壬旭NGNG

よくぞ次スレを立てた。
誉めてつかわす
さあ、皆の者、質問するがいい!
0042デフォルトの名無しさんNGNG
>レングス長
ワラタ

残りも早く晒せよ。どっかコード公開できるとこなかったっけ?
0043デフォルトの名無しさんNGNG
どれでも使いなはれ。
http://up.moech.net/
0044デフォルトの名無しさんNGNG
ラウンジ使え。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
0045デフォルトの名無しさんNGNG
>>40
神なんているわけないだろ
2chなんて引きこもりからニートまでだぞ
晒すならさっさと晒せ
0046デフォルトの名無しさんNGNG
>>45
>>41がいるじゃないか。
004728NGNG
笑ってすまんこ。
ここは初心者が勉強するスレだね。

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

FileNotFoundExceptionはExceptionのサブクラスだから両方書いても重複するね。
ランタイム例外は書かなくてもスローされるから別にいいとしても、
ここで発生する例外はFileNotFoundException,IOExceptionときちんと書いた方がいいと思う。
0048955NGNG
>43
ありがとう。
で、また相談なんだけどココに書こうとして、ゴミ消しとかしたら
またおかしくなっちゃったんだよね。。。(鬱)
で、自力で修正するまで待ってもらえます?
それとも途中でいーから、UPしていー?
0049デフォルトの名無しさんNGNG
はやくー
0050デフォルトの名無しさんNGNG
思うんだが、確かにコメントは重要だと思うが
一行一行にコメントつけんのはどーよ?
現場でひどいのになると

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

とかあるんだが
処理読んで理解できないけどこのコメントで「ああ、なるほど」と思う事…
ってあるか?
0051デフォルトの名無しさんNGNG
>>955
(・∀・ )っ/凵 ⌒☆チン マダー?
0052デフォルトの名無しさんNGNG
>>955
おめーひょっとして株ロボコンにでも挑戦してるんじゃねーだろな

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

いずれにしても、まずは基本をしっかり勉強しろ
>>26のコメント見る限り、理解が全然足りていないようだ
0053デフォルトの名無しさんNGNG
この瞬間、世界で一番注目されているプログラマの
ソースupまだー。
0054デフォルトの名無しさんNGNG
>>50
オイラはメソッドごととか要所とかにしか書いてないな。
コメント難しいよ。コメントの上手いソースってのも読んでみたいな。
0055デフォルトの名無しさんNGNG
>>48

>>43じゃなくて >>44にupすべし
0056デフォルトの名無しさんNGNG
>>54
javadoc書けば
005728NGNG
あ、
FileNotFoundExceptionはIOExceptionのサブクラスだから一つでいっか。
0058デフォルトの名無しさんNGNG
>>50
コメントは「何をしているか」ではなく「何故そうしているか」を
書くとよいとどっかで聞いたことがあります
0059デフォルトの名無しさんNGNG
コメントはテストだけに書くっていうのも良いとどっかで聞いたことあります。
0060955NGNG
http://douga.sakura.ne.jp/uploader2/upload.html

あ、ここにうぷしちゃった。
いーのかなぁー?
今、まともに動かないよ。
とりあえず報告。
0061デフォルトの名無しさんNGNG
>>48
今日は台風でみんなヒマだから、upしたら書き直してくれるよ
0062デフォルトの名無しさんNGNG
最強株ロボキタ━━━━━━(゚∀゚)━━━━━━ !!
0063955NGNG
>52
これ、株じゃなくて為替分析を考えてます。
ファイル名見ればわかりますよね。
JAVA勉強するのに何か目的意識ほしかったので
これをテーマにやってます。
かと言ってこれが解決したら億万長者になれる訳じゃないですよぉーw
0064デフォルトの名無しさんNGNG
>>60
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/index.html
にアップしなおせ。
何様のつもりだ?わざわざ圧縮解凍なんかするな馬鹿
0065デフォルトの名無しさんNGNG
>>56
javadocってAPIリファレンスつくるツールじゃないっけ。
0066955NGNG
>>64
なんで怒ってるの?
0067デフォルトの名無しさんNGNG
拡張子.javaのままでうpできるアップローダなんてねえよボケ
0068デフォルトの名無しさんNGNG
なんか台風もう終わっちゃったんですけど。ツマンネ
0069955NGNG
まぁ、こんなクズソースでもみんなのネタにしてもらえれば
幸いです。
けど、1時間ちょいで60件も。。。ありがたい話です、はい。
0070デフォルトの名無しさんNGNG
32行目はいらない。
if (A[i]==null) break;
0071デフォルトの名無しさんNGNG
>>67
>>44見れ馬鹿
0072デフォルトの名無しさんNGNG
アップローダ重くてソースおとせね

>>68 逝け
今回の台風もあまり凄くなかった件について
http://live14.2ch.net/test/read.cgi/liveplus/1098281679/
0073デフォルトの名無しさんNGNG
>>65
メソッド毎に書くんだろ。じゃあjavadoc書けばいいだけ、
eclipseでホバー表示もできるし
0074デフォルトの名無しさんNGNG
パラメーラーが足りません。
0075デフォルトの名無しさんNGNG
>>50
そのうち面倒になって そいつが必要だと思うところにしかコメント書かなくなるだろ。
むしろ、最初から全くコメントを書かない奴は いつまでたっても全くコメントを書かないので
仕様なのかバグなのか、変更して良いのか悪いのかわからないコードを量産してくれる。
0076天災人NGNG
どうぞお楽しみください。
955のソースの添削スレ
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1098287653
0077955NGNG
>>76
わくわく。
0078デフォルトの名無しさんNGNG
lineStrがstaticだからいけないのかな。
007978NGNG
lineStrを一時変数にして、"\n"とってもだめ?
0080デフォルトの名無しさんNGNG
>>73
javadocの形式にするとコメントが上手くなるのか?
0081デフォルトの名無しさんNGNG
>>80
誰もそんな話はしてないよ。
0082& ◆RWwNEVt54c NGNG
>>56 >>65 >>81
おそらく君らが勘違いしてるよ。

javadocじゃなくてソース中のコメントの話だから
0083デフォルトの名無しさんNGNG
少なくとも955がCOBOLer出身だと言うことは伝わった
0084デフォルトの名無しさんNGNG
>>70
いらないっていうか、forの外でA自体がnullじゃないチェックをしとかないと、
fがディレクトリじゃないときに、ぬるぽが出るんじゃね?
0085デフォルトの名無しさんNGNG
↑>>56 >>73 >>81
の間違い
0086デフォルトの名無しさんNGNG
>>85
そんな話はどうだっていいよ。
空気嫁
0087955NGNG
>>83
ごめん。COBOLできないよ。
0088デフォルトの名無しさんNGNG
>>85
「メソッドごととか」に対して突っ込んでるだけだろ。
少なくともjavadoc書いてりゃ
ソース中にメソッド毎にいちいち処理内容書く必要はない。
0089デフォルトの名無しさんNGNG
>>87
コメントやABENDってあたりがモロなんだが…
0090デフォルトの名無しさんNGNG
955かわいいよ955
0091955NGNG
>89
そうなん?それはASMをやってた頃の名残ですね。
0092デフォルトの名無しさんNGNG
PL/IだろうがASMだろうがCOBOLだろうが変わんねーよ

っていうことはプログラミング初心者じゃないんだな…
0093955NGNG
補足なんだけど、アセンブラはコメント書いてないと全然追えないですよ。
昔、それですごい苦労した時の名残です。
0094デフォルトの名無しさんNGNG
>>93
指定フォルダ内にフォルダがあったら落ちないか?

>補足なんだけど、アセンブラはコメント書いてないと全然追えないですよ。
>昔、それですごい苦労した時の名残です。
郷に入りては郷に従おうな。
0095デフォルトの名無しさんNGNG
>>955
取りあえずちゃんと動くね。改善の余地はあるけども。
java.io.File#list()より、java.io.File#listFiles()を使った方が、
見やすいソースになると思われ。
0096デフォルトの名無しさんNGNG
前スレよみました
で、955さん。いまの状況は?配列のエラーは消えてるの?
0097955NGNG
>96
ありがとう。
今は、Exception in thread "main" java.lang.NoClassDefFoundError
なエラーがでちゃいます。
壊しちゃったのかなぁー?
0098デフォルトの名無しさんNGNG
あ、上の方で解決したって書いてあるじゃん。
じゃー。終了か。
ソースの方は直す点が多すぎてつっこむ気にもならない。
0099デフォルトの名無しさんNGNG
"\\" -> File.separator かな?
0100デフォルトの名無しさんNGNG
>>97
>>1読め。
0101955NGNG
この落とし所ってどぉーするんでしょ?
神々の皆様のお声をお聞かせくださいませ。
0102デフォルトの名無しさんNGNG
あと、ArrayIndexOutOfBoundsException はキャッチしないでもよくなってるよな?
0103デフォルトの名無しさんNGNG
二行に一回はつっこみポイントがあるのもすごいな
0104デフォルトの名無しさんNGNG
>>101
>この落とし所
何を指しているんだ?
0105デフォルトの名無しさんNGNG
> if (args.length != 2) { //引数チェック 2個以上あるか?

コメントと条件文が意味合ってないよな?
0106デフォルトの名無しさんNGNG
>>105
もうそのテの添削やると、それだけでスレ埋まっちゃうから
0107デフォルトの名無しさんNGNG
> new FileInputStream(A[i]), "SJIS"));

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

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

ああ、キリがない
0108デフォルトの名無しさんNGNG
while((fileLine = br.readLine()) != null)

このwhile文にはちょっと感心した。
0109デフォルトの名無しさんNGNG
"\n"と書かないで
System.getProperty("line.separator")
と書かないとマズイことになります。
0110デフォルトの名無しさんNGNG
アセンブラとはいえ仮にもプログラミング経験者が
こんなコードを書くはずがない。

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

どういうことだ。これは
0111デフォルトの名無しさんNGNG
>>108
確かに。他の行と違って、いたってオーソドックスだもんね。
0112デフォルトの名無しさんNGNG
955に幸あれ。おやすみなさい。
0113デフォルトの名無しさんNGNG
むしゃくしゃしてやった。
相手は誰でもよかった。
だってヒマなんだもん。
0114デフォルトの名無しさんNGNG
>>110
そう、>>107や>>109なんかは「Javaに慣れてない」って感じだし
フロー本体に直接関わることではないからまだいいけどね
どうもおかしいね
0115デフォルトの名無しさんNGNG
>>110
ゼロフラグとキャリーフラグの使い間違いってとこですな
0116デフォルトの名無しさんNGNG
>>115
コメントで「以上」と書いてるんだから
不等号の一つくらいは入れてくれないと困る
0117955NGNG
皆様。
いろいろとご迷惑をおかけいたしました。
お蔭様で正しく動作するPGMとなったようです。
ですが、私の無知ゆえの潜在BUGは多々あるかと思います。
今後、さらにJAVAの理解を深めた時にでもブラッシュアップしたいと思います。
現在のPGMは、仕様の途中ですのでさらにコーディングを続けたいと思います。
当面の目標はふたつです。
・該当レコードを単に出力→出力内容を編集して出力
・検索キーワードの外部ファイル化

また、皆様のお時間がございましたら、弄んで罵倒してくださいませ。
本日はまことにありがとうございました。
0118115NGNG
>>116
あのー漏れ、>>105でもあるんだけど・・・
0119デフォルトの名無しさんNGNG
うんうん、プログラム基本はできていると思いこんでいる初心者は怖いね。
Javaの理解以前の根本的な問題はあると思うよ。
0120デフォルトの名無しさんNGNG
>>118
で?
0121104NGNG
>>117
そんで結局落とし所って何のことだったんだ
0122デフォルトの名無しさんNGNG
>>117
ラウンジでどんどん改良されてるよ(w
0123デフォルトの名無しさんNGNG
>>117
ここまでできたんなら、残りの二つは目標でも何でもないと思うが…
まあ適当にやれ

>>122
改良も何も、これを直すのなんか勉強してから一ヶ月程度のヤシでもできるだろ…
0124955NGNG
>>122
え?どこ行けばいーんですか?
0125デフォルトの名無しさんNGNG
ラウンジの改良、ちょっと中途半端だなぁ。。
0126デフォルトの名無しさんNGNG
>>124
いつまで人に質問してれば気が済むんだ?
少しは自分で何とかしようという気は起きないのか?
このスレ最初から読み直せ
0127デフォルトの名無しさんNGNG
>>124
>>76
0128デフォルトの名無しさんNGNG
>>125
直してる(つもりの)香具師が明らかに初心者(から中級者の間くらい)。
あと半年もすれば恥ずかしく思うようになるだろう
0129127NGNG
>>126
     _____
    /_      |
    /. \ ̄ ̄ ̄ ̄|
  /  /  ― ― |
  |  /    -  - |
  ||| (6      > |
 | | |     ┏━┓|   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | |     ┃─┃|  < 正直、スマンカッタ。
|| | | |  \ ┃  ┃/    \________
| || | |    ̄  ̄|
0130デフォルトの名無しさんNGNG
>>128
4は完璧。
0131デフォルトの名無しさんNGNG
>>130
ごめん、どこがよ。
0132デフォルトの名無しさんNGNG
>>131
あれの何が不満なんだ?
0133デフォルトの名無しさんNGNG
肝心の955はどこにいったんだ?
0134955NGNG
添削スレに書き込みいただきました方々
本当にありがとうございます。
勉強させていただきます。
今日はもう2時ですので失礼させていただきます。
皆様おやすみなさい。
0135デフォルトの名無しさんNGNG
>>132
別に完璧じゃないよと言いたいだけ。
0136デフォルトの名無しさんNGNG
4の感想

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

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

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

え?ひょっとして拡張for?俺読めないよ。
0137デフォルトの名無しさんNGNG
えーっと、>>131 じゃないけど。
Exceptionなげっぱなんだったら、try文は1つでいいかな?と。
どっちもロジック的に終了でしょ
0138むこうの4NGNG
>>136
>public static void main(String[] args) throws IOException
>例外投げっぱなし?

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

>>137
ファイルcloseしないとダメ。
cutRateFile()は例外投げた後にすぐJVMが終了するかどうか知らないから。
0139デフォルトの名無しさんNGNG
tryは2個の方が綺麗では?
finallyとの対応関係が分かりやすい。
0140デフォルトの名無しさんNGNG
例外は、ファイルが無いのか、IOエラーなのか原因がつかみにくい。
引数チェックはちゃんとしなきゃ。
ま。この場合例だからいいかもしれないけど。
あとimport文をちゃんと書く習慣があったほうがいい。これもいいかもしれないけど。

でも4は綺麗だとは思いますよ。
0141デフォルトの名無しさんNGNG
>>138
えーと、out.print(line); って out.println(line); のがいーのでは?
もとの奴には改行ついてたみたいだし。
あと、import java.util.*; って必要だったっけ?
0142955NGNG
皆様おはようございます。
昨日はお騒がせしました。
>むこうヨン様
私の環境ではヨン様のソースコンパイルが通りません。
KAWASE.java:22: ';' がありません。
for (File inputFile : new File(inputDirectoryPath).listFiles()) {
^
KAWASE.java:40: 式の開始が不正です。
} finally {
^
エラー 2 個
ってなエラーでます。
これって環境の問題なんでしょうか?
0143デフォルトの名無しさんNGNG
Javaの実行環境整えようとDLしようと思ったら
公式サイトが重くてダウンロードページにたどり着けない・・・

何かいい方法はないものか・・・orz
0144デフォルトの名無しさんNGNG
質問です。
1.抽象クラスはテンプレートみたいなものって理解でOKですか?
2.そうであれば複数の開発者がいる場合の利点はわかりますが
開発者が一人なときは抽象クラス作る意味はあまりないと考えてOK?
0145& ◆R7PNoCmXUc NGNG
>>142
J2SE5が必要
http://java.sun.com/j2se/1.5.0/ja/download.html
http://java.sun.com/j2se/1.5.0/index.jsp
0146デフォルトの名無しさんNGNG
>>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());
に書き換える。
0147デフォルトの名無しさんNGNG
1と10を指定すると

1+2+3+4+5+6+7+8+9+10
を計算するメソッドはないでしょうか?
0148デフォルトの名無しさんNGNG
>>147
ある、無いの前にどこに?って範囲が分からないと。
標準apiには多分ない。

1+2+3+4+5=(1+5)×5÷2
1+2+・・・+9+10=(1+10)×10÷2
0149デフォルトの名無しさんNGNG
今勉強してるサイトではAWTを使ってるみたいなんですが
AWTを学ぶことは時間の無駄となるんでしょうか?
0150デフォルトの名無しさんNGNG
>>144
インタフェースの拡張版みたいなもの。
おれにとっては一人で開発してても抽象クラスは重宝するけど。
0151デフォルトの名無しさんNGNG
>>149
Swingも基本はAWTにあり。ぜんぜん無駄じゃない。
0152デフォルトの名無しさんNGNG
>>144
> 1.抽象クラスはテンプレートみたいなものって理解でOKですか?
ダメ。

> 開発者が一人なときは抽象クラス作る意味はあまりないと考えてOK?
開発者が一人なときはスパゲッティコードで良い、とか
開発者が一人なときは他人に読めないようなコードで良いってんならそれでOK
0153デフォルトの名無しさんNGNG
>>149
GUIコンポーネント完全制覇という本によると
「AWTを知らずしてSwingなし」だそうです。
0154955こと...なんと名乗れば?NGNG
昨日はどうもありがとうございました。
先日のPGMにつきましては、Closeという事でお願いします。
これで指定した文字列を変えることで、欲しいレコードを抜けますので。
本当は、このレコードを編集しようかと思いましたが、入力レイアウトが保証
されている訳ではないので編集PGMは機能分割することとしました。
またご相談させていただくやもしれませんがその節はよろしくお願いいたします。
m(__)m
0155デフォルトの名無しさんNGNG
完璧なソースとやらを見せてくれ。
0156955こと...なんと名乗れば?NGNG
あ!!!
一つだけお伺いしたいことがありました。すみません!!m(__)m
今のPGMでは、"指定した文字列を部分検索してHitしたレコードを
出力"していますが、これを"指定した文字列を部分検索してHitしたレコードの
「Hitした文字列の先頭からレコードの終末まで出力する」ということはできるものなのでしょうか?
(指定した文字列の前にある文字列は意味がないので)
これくらいの編集はしたいです。
何卒よろしくお願いいたします。
0157デフォルトの名無しさんNGNG
>156
できるけど。
APIドキュメントのjava.lang.Stringの項を端から端までよーく読んで
ちっとは自分で考えてから聞きんさい。
0158デフォルトの名無しさんNGNG
setAcceleratorでメニューにショートカットキーをつけたんですが
一つの処理が終わるまでキーを受け付けないようにするにはどうすればいいですか?
アクションはAbstractActionでヤッテマス
0159デフォルトの名無しさんNGNG
>>158
AbstractAction#setEnabled(boolean)
かな、
俺は使ったことないけど
0160デフォルトの名無しさんNGNG
アクション開始でfalseにして終わりでtrueにしてみましたが駄目でした
0161955こと...なんと名乗れば?NGNG
>157
乏しいスキルから、
(1)条件に合ったレコードの長さを取得 length()
(2)条件に合ったレコードの先頭から終端まで、切り取り substringで。
いう手順でできました。
このコーディングで良いか悪いのかはまったくわかりません。
ありがとございました。
0162デフォルトの名無しさんNGNG
>>161
それ晒してみ?採点してくれる人がいるかもしれん。
0163デフォルトの名無しさんNGNG
>>160
ひょっとしてその処理って
Swingのイベント処理のスレッドで実行してる?

その処理を別スレッドでやるか、
setEnabled(false)した後で
SwingUtility.invokeLater()で実行すればいい気がする
0164デフォルトの名無しさんNGNG
>>161
晒すんだったら こっちでやってね
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1098287653
0165デフォルトの名無しさんNGNG
>>955
String#indexOf
0166144NGNG
>>150
インタフェースこそ、抽象クラスのメソッドだけ版、つまり特殊版だと思ってました。
重宝するときってどうやって使ってるんですか?

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

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

0168955こと...なんと名乗れば?NGNG
さらしてみました。(´・ω・`)
0169デフォルトの名無しさんNGNG
前スレ最後のほうで「Swing コンポーネントのアイコンってどうやって取得してるの?」と質問したものです。
調べたら解決しましたので報告します。

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

JAVA_HOME 環境変数から SDK の位置を取得すれば各自のアプリから使えると思われます。
0170デフォルトの名無しさんNGNG
質問です。
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);

}
0171170NGNG
訂正です

二行目
× setSize(int,int)
○ reshape(int,int,int,int)
0172デフォルトの名無しさんNGNG
>>170
setSize()でザイズ設定するのでなく、
setPreferredSize()にしてみてください。
0173159NGNG
>>158
その場合Swingによるイベントの処理はこうなる
1.ユーザがショートカットキーを押す
2.Actionが呼ばれて処理を始める
3.ユーザがまたショートカットキーを押す
4.2の処理がおわる
5.3の入力に対するActionの処理が始まる

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

長い処理は別スレッドでやるべし。
0174デフォルトの名無しさんNGNG
PATHを設定したのでスタートメニューからコマンドプロンプトを開き、javacを実行すれば可能なのですが
ランチャーからコマンドプロンプトを開いた場合、javacを実行してもPATHを設定していないのと同じ、
「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
が表示されます。
ランチャー側にコマンドプロンプトのexeファイルを直接入れても、スタートメニューのものと同じショートカットを入れてもダメでした。
直接Javaのことでは無いのでスレ違いかもしれませんが、よろしければ理由と解決法を教えてください。
0175デフォルトの名無しさんNGNG
>>173
それが4で2の処理が反映する前に次の処理が起きてる気がするんですけど
setEnabled(false)していればそれはないのでしょうか?

例えばCtrl+A一回押すごとにでボタンの色が赤→青→黄→赤(以下ループ)になるはずなのに
Ctrl+Aを長押しすると押してる間は色が変わらず、離した時に幾度も処理された結果が反映されると言う感じなのですが
これはスリープ(?)みたいなのをやればいいんでしょうか?
ボタンの色を変えた後にsetEnabled(true)をやればうまくいくかと思ったんですが変わりませんでした
0176デフォルトの名無しさんNGNG
やっぱ955ってプログラミング初心者だったか
こんなのが「それはASMをやってた頃の名残ですね」なんて偉そうに言うんじゃ
他のASM経験者が可哀想すぎる
0177デフォルトの名無しさんNGNG
>174
いずれにせよPATHの設定方法に問題があると思われ。
2k/XPなら[システム]-[詳細設定]-[環境変数]で設定。
9x/MeならC:\autoexec.batに記述。
(Meは何か設定用のユーティリティがあるんだよな……覚えてないが)
0178174NGNG
>>174
環境変数のトコで名前がPATH、値もbinフォルダに合わせました。
だからまぁ、普通にコマンドプロンプトを開けばできるのです。
ただランチャーから開くと…。
0179174NGNG
×>>174
○>>177
0180デフォルトの名無しさんNGNG
>178
そーなるとランチャのCreateProcessの使い方がおかしいのかも。
ランチャの乗り換えをお勧めする。
0181170NGNG
>>172
reshape()からsetPreferredSize()に替えて実行してみましたが、
やはりサイズの変更は反映されませんでした。
あと、手動で内部フレームのサイズを変更しようとしたのですが、それも反映されず、
サイズを変更しようとすると強制的に最大化されてしまいます。
0182144NGNG
抽象クラスやっと意味わかりました。(と思います)

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

書いててに日本語わけわからなくなったw
ひとまず答えてくれた人ありがとう。
0183デフォルトの名無しさんNGNG
>>182
それはabstractメソッドの説明だと思われ。
0184デフォルトの名無しさんNGNG
>>182
いい感じだ
0185デフォルトの名無しさんNGNG
>>182
抽象クラスっつーよりインターフェイスになってる罠
0186174NGNG
>>180
見た目だけで使ってるSKランチャーだから普通にそれありそうです。
となるとどうしようもないですね。ありがとうございました。
0187デフォルトの名無しさんNGNG
コンソールで[Enter]を押さずに、キーをタイプするごとに処理させたいんだけど
System.inでは対応できないようですが、どうしたらいいですか?
0188デフォルトの名無しさんNGNG
>>186
そのランチャーの作者に
スタートメニューから起動したときと環境変数が違うんですけど、ってバグレポートだせば?

乗り換えるのは良いとして。
0189デフォルトの名無しさんNGNG
>>182
まあそんな感じでいいと思う。
インタフェースと抽象クラスの使い分けはそのうち何となくわかってくるよ。
0190デフォルトの名無しさんNGNG
>>187
自分でテキストエリア作る
0191デフォルトの名無しさんNGNG
>>187
標準APIじゃ無理。
JNI で curses だったかをラップしてるライブラリとか使えばできるかも。
0192デフォルトの名無しさんNGNG
基本的すぎることかもしれませんが、
lengthとString#length()の違いはなんですか。
動作の違いなどを教えてください。
0193デフォルトの名無しさんNGNG
> lengthとString#length()の違いはなんですか。
length って何の length だ?
0194デフォルトの名無しさんNGNG
lengthは配列のフィールドだと思えばいい。
length()はメソッド。
0195デフォルトの名無しさんNGNG
>>194
配列の length はフィールドです。

http://www.y-adagio.com/public/standards/tr_javalang2/arrays.doc.html#64347
> 配列構成要素の数を含む,public finalなフィールドlength。(lengthは,正又は0であってもよい。)
0196192NGNG
>>193
>>194
レスありがとうございます。
String#lengthは文字列内の文字数をカウント、
lengthは配列のフィールド数をカウントする
というとこでOKですか?
0197192NGNG
>>196
ありがとうございました。
0198デフォルトの名無しさんNGNG
>>196
> String#lengthは文字列内の文字数をカウント、
合成文字やサロゲートペアがあるので String#length() は必ずしも文字数と一致しない。
char の数とは一致するけど。

> lengthは配列のフィールド数をカウントする
配列の要素数ね。
0199144NGNG
>>183-185>>189
ども。
ちょっとわかってきたってところです。
>>189さんの言うようになることを祈って勉強続けます。
0200187NGNG
>>190-191
標準APIにはないですか。了解
0201デフォルトの名無しさんNGNG
意味合いとしては
・インタフェース→それを実装したクラスが特定のメソッドを持つことを保証する
・抽象クラス→メソッドの具体的な内容は子クラスに任せる
てな感じか。
0202デフォルトの名無しさんNGNG
JavaでのO/Rマッピングを勉強したいと思ってるのですが、
EJBとかHibernate?とかあるみたいなんですが、
何がよさそうですか?
0203デフォルトの名無しさんNGNG
JavaじゃなくてJavascriptのほうで質問があります。
正規表現でRegExpを使用しているのですが
\が見つけるにはどのように行えばよいでしょうか?

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

すいません、誰か教えてください・・・
0204デフォルトの名無しさんNGNG
すいません1の下読んでませんでした・・・
吊ってきます
0205デフォルトの名無しさんNGNG
パーサの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でライブラリの追加が
必要だと思っているのですが。。
0206デフォルトの名無しさんNGNG
classAが大きくなりすぎるのでclassBを呼んで処理してもらおうとしたのですが
classBでclassAの変数をうまく使えるにはどうすればいいですか?

staticでない変数をstaticコンテキストから参照することはできません。と
エラーがでるのです
static変数にはしたくなく、仮引数にするにもすこし多い量なんです。
newも値が変わるので駄目でした。
0207デフォルトの名無しさんNGNG
>>205
eclipse の使い方は Eclipse スレで聞いてくれ。

【Java/C/PHP/他】統合開発環境Eclipse M14
http://pc5.2ch.net/test/read.cgi/tech/1093787515/l50
0208デフォルトの名無しさんNGNG
>>206
とりあえず getter 定義して使え、でいいのかな?
0209デフォルトの名無しさんNGNG
>>206
無茶言わず引数にしろ。
素で引き渡すのが嫌ならそれ用のBeanでも作れ。
0210デフォルトの名無しさんNGNG
なぜにBean・・・w
普通に構造体みたいにクラスでも作ればいいと思うのだが・・・
0211デフォルトの名無しさんNGNG
>>210
釣れますか?
0212デフォルトの名無しさんNGNG
>>206
1000行くらいあるなら200行くらいに分けて階層構造にでもしろ
0213デフォルトの名無しさんNGNG
どんなクラスなのか見てみたい。
0214デフォルトの名無しさんNGNG
>>206
・多かろうが何だろうが引数にして全部渡す
・Mapか何かにでも突っ込む
・専用のBean作る
・アクセサメソッド作って自分自身を引数に渡す
・氏ね
0215デフォルトの名無しさんNGNG
>>206
>>214の最後のコメントは気にするな。強く生きろ。
0216デフォルトの名無しさんNGNG
強く氏ね
0217206NGNG
>>213
classAから新しいウィンドウとしてclassBを作って
classBで起こった結果をclassAに反映させたいのです。
引数にして代入しなおせばいいんですが、何かいい方法ないかと質問しました。

Beanっての分からないので調べてきます・・・
0218デフォルトの名無しさんNGNG
強く生きれば強く氏ねる
0219デフォルトの名無しさんNGNG
時計の針を、1秒ごとにチックタックではなくなめらかに動かしたい場合、
どうすればいいのでしょうか?
今は針描画専用の内部クラス(Threadを継承)を定義し、
public void run(){
 while(ture){ 針描画処理 }
}
というふうにrun()を実装して
そのインスタンスのstart()を呼んでいるのですが、
CPU使用率が常に100%になってしまいます。
動作そのものは期待どうりなんですが・・・。
0220デフォルトの名無しさんNGNG
>>206
お前全然わかってないじゃんかよ。
ちゃんと勉強してないからそうなる。
多分人のソースをコピペだけして来たんだろう。
newも値が変わるので駄目でした。だって。
勉強して一週間目の奴が言うような内容だな。
本とか読んでもインスタンスの話なんか最初の方に出てくるだろうが。
0221デフォルトの名無しさんNGNG
>>219
今は針描画専用の内部クラス(Threadを継承)を定義し、
public void run(){
 while(ture){ 針描画処理 }
}
というふうにrun()を実装して
そのインスタンスのstart()を呼べばいいと思うよ。
0222デフォルトの名無しさんNGNG
>>217
>>206と書いてることが違うじゃないか
0223デフォルトの名無しさんNGNG
Timerでも使えば
0224デフォルトの名無しさんNGNG
>>219
1/30秒ずつくらいの処理にすればいいんじゃない?
0225デフォルトの名無しさんNGNG
>>219
たぶん秒でとってるでしょ
ミリ秒も取ってきて適当に処理

それとsleepもいれて
0226デフォルトの名無しさんNGNG
Timerクラスは使ったことありませんでした。
Timerクラスやsleepメソッドで針描画処理の頻度を落とせる、ということですね。
試してみます。ありがとうございました
0227デフォルトの名無しさんNGNG
NTPサーバと通信して時刻合わせをするようなものを書きたいと思ってるのですが、
Javaにシステムの時刻をセットするようなメソッドorライブラリみたいなのは無いでしょうか。
SystemクラスやJakarta Commonsあたりを探ったり、ググってみたりしてもいまいち見つからず…。
0228デフォルトの名無しさんNGNG
Javaでシステム時刻設定なんてできるのかな?

Windowsだと
Runtime.getRuntime().exec("time 22:30:59.99");
とかしてtimeコマンドを実行するとかすればできるかも
0229227NGNG
今作ってるのが、Windowsでの動作前提プログラム(JNI使ってたりするんで)なので、>>228さんの方法が簡単っちゃー簡単ですが
一応、勉強も兼ねてPure Javaでなんとかならないかなーと思っていました。

とりあえず、今のところは>>228さんので実装してみます。
ありがとうございました。
0230デフォルトの名無しさんNGNG
すいません、JTableのコンポーネントのサイズを大きくしたいのですが
JTable tb = new JTable(5,5);
tb.setSize(500,500);
tb.repaint();
などやっても変わりません、なぜでしょうか?
また、表示する文字列によって列幅を変えたいのですが、情報が見つかりません、
レンダーをいじくるらしいのですが、さっぱりです。
どなたか教えてください。ちなみに、GUIはほとんどいじった事ありません。
よろしくおねがいします。
0231デフォルトの名無しさんNGNG
>>228
それいいな。
0232デフォルトの名無しさんNGNG
>>230
Swingというかレイアウトマネージャ勉強したら?
0233デフォルトの名無しさんNGNG
>>230
志村!レイアウト!レイアウト!
0234デフォルトの名無しさんNGNG
Javaで、一番下に出る棒のようなスペース、俗にいうステイタスバーは実現
できるんでしょうか?そういうコンポーネントはないようなのですが。
どなたか、よろしくです。
0235デフォルトの名無しさんNGNG
>>230
> また、表示する文字列によって列幅を変えたいのですが、情報が見つかりません、
TableColumn column = table.getColumnModel().getColumn(columnIndex);
とかして
column.setPreferredWidth(好きな幅);
とかでサイズ指定すれば出来るかも。
0236デフォルトの名無しさんNGNG
>>234
うむ。V2Cとソフトでは実現しとる。
「V2C」でググッて起動してみろ。びびるぞ。
どうやってやるかは知らん。
>>230
setPreferredSizeあたりをいじれば大概なんでもできる。
0237デフォルトの名無しさんNGNG
>>234
ステータスバーは JPanel とか、
必要なら好きな javax.swing.border.Border の実装クラスとかを使って
比較的簡単に実現できるが、
Swing には JStatusBar みたいなコンポーネントは無かったような。
0238デフォルトの名無しさんNGNG
>>236
漏れ、このコメントV2Cで見てまつ。
2chビューアの中で一番しっくり来たのがコレ。
GUIの勉強にもなる。デコンパイルしてソース見ろとまでは言わないが、
Swingの表現力とパフォーマンスについて認識を改めた一品。
>>234
BorderLayoutのSouthにステータスバーにしたいコンポーネントをはっつければOKでしょ。
0239デフォルトの名無しさんNGNG
デコンパイルってどうやるの?
0240デフォルトの名無しさんNGNG
java decompiler とかでぐぐるとデコンパイラが見つかると思うから、それ使えば?
0241デフォルトの名無しさんNGNG
>>239
jadが有名、GUIのフロントエンドもいくつかある
Eclipseを使ってるのならjadを使うプラグインがある

これだけ情報あれば検索で見つけられるはずからがんばれ
0242デフォルトの名無しさんNGNG
 なんか、ちょっと前の本とかSwingでマックのルックアンドフィールとか使ってたりする
んだけど、今、はそのクラス自体ないようなのです。
 J2SDK1.4.0とかでもできるの?
 
0243デフォルトの名無しさんNGNG
>>236
>>237
>>238
どもです。早速やってみます
0244デフォルトの名無しさんNGNG
JavaScriptでWebページ内のFormの値を取得して、それをアプレット
に渡して、アプレットからファイル出力させるにはどうすればいいの?
いろいろ試したけど、JavaScriptかアプレットどちらかのセキュリティ権限に
引っかかって、うまくいきませんでした。無理って事?
0245デフォルトの名無しさんNGNG
クライアント側にファイル出力するのは基本的に無理。
0246デフォルトの名無しさんNGNG
>>240-241
jadプラグインでぐぐってきます。ども。
0247デフォルトの名無しさんNGNG
JFrameクラスで
setResizableを下方向のみ許可することはできますか?
0248デフォルトの名無しさんNGNG
http://ex7.2ch.net/test/read.cgi/base/1098460250/97
0249デフォルトの名無しさんNGNG
setTextメソッドで("<html>a<br>b<br>c") と指定した場合

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

他にJavaでhtmlを使ってテーブルを表示する方法ってありませんか?
0250デフォルトの名無しさんNGNG
>>249
PrintWriter
0251デフォルトの名無しさんNGNG
>>249
JEditPaneとJTextPane
0252r ◆r/etvCKR2A NGNG
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
ルールが変わるたびに、マルコフ的な状態遷移を考えて、
新しくたくさんのコードを書いて...ってのが激めんどくさいので、
どうにか簡単に表現できると嬉しいんだが。
みなさんどうやってるのです?
0253デフォルトの名無しさんNGNG
>>252
>一文字ずつ、状態遷移しながらパースするコードを書いてみますた。
その条件だとそれしかないと思われ
つかどうしてもそれがめんどいならJavaCC使うのが楽と思われ
でもよく考えたらJavaCCの資料探して勉強するほうがめんどくさいと思われ
0254デフォルトの名無しさんNGNG
まずエスケープ文字でトークン化して、調整すればいいと思うけど?

new StringTokenizer(s, " ¥¥¥n¥t¥r", true);
0255デフォルトの名無しさんNGNG
Javaプログラミング難しいよ〜
どうすれば上達しますか?
2週間後テストなんですけどやばいかも・・・
0256デフォルトの名無しさんNGNG
実際にアプリケーション作ってみろ
そうすればどこがわからないかがはっきりする
0257デフォルトの名無しさんNGNG
>>255
1.人に聞く
2.本を読む
3.自分でやってみる

これだけやれば完璧!
0258デフォルトの名無しさんNGNG
>>256-257
どうもありがとうございます。
質問なんですが、さっき本を読んでて思ったのですが、
論理輪である縦線2つとか特殊な記号はどうやって出すんですか?
キーボード見てもありません・・・
0259デフォルトの名無しさんNGNG
これをコピペして使え→||
0260デフォルトの名無しさんNGNG
sqrtって「スクルト」って呼ぶんですか?
0261デフォルトの名無しさんNGNG
>>259
ありがとうございます。
できれば表示の仕方を教えてもらいたいのですが・・・
0262デフォルトの名無しさんNGNG
System.out.println("||");
0263デフォルトの名無しさんNGNG
>>261
Javaの質問じゃないし。PC初心者板とか行って聞いた方が早そう。
0264デフォルトの名無しさんNGNG
>>261
キーボードの種類は?
0265デフォルトの名無しさんNGNG
>>261
・右クリックして「貼り付け」を選択

または

・Ctrl + Insert
0266デフォルトの名無しさんNGNG
>>258
何年前のキーボードを使ってるのですか?
プロの人の中には、作家が同じ万年筆をいつまでも
愛用するように、手に馴染んだキーボードをいつまでも変えないで
変換コネクタを用いて未だに20年前のパソコンのキーボードを
使ってる人がいるみたいですが、アナタもその部類ですか?
0267デフォルトの名無しさんNGNG
>>264
普通のキーボードです、とか
PCショップで何千円で買ったキーボードです、とか言われそうな予感。
0268デフォルトの名無しさんNGNG
>>264
静電容量方式です・・・
0269デフォルトの名無しさんNGNG
>>262-267
いろいろすいません。
僕が聞きたかったのはキーボードのどれを押せば
縦線が表示できるのか、です。
キーボードは267さんの言うように普通のです・・・
0270デフォルトの名無しさんNGNG
>>269
キーボードの右上の方、BackSpaceキーの左にある
 \ と書かれたキーを、Shiftキーと一緒に押すと | がでます。
それを2回押すと論理和の記号 || が出ます。
0271261NGNG
>>264
電脳直結式のキーボードです。
私は電脳手術(攻性防壁付き)を行い、脳を電脳化してますので
脳波で直接入力する事が可能なのです。
キーボードの機種は、東レ0420式です。
0272261NGNG
音声認識をつかっています・・・
0273デフォルトの名無しさんNGNG
>>270
どうもありがとうございます!
それをやるとバックスペースの左のボタンの左上が表示されるんですよね?
そこを見ると縦線の真ん中が切れてますよ。

>>271-272
なりすましはやめてください・・・
0274デフォルトの名無しさんNGNG
>>273
なりすましはやめてください!

>>270
やってみたら||となってしまって
コンパイルが通りません・・・
0275デフォルトの名無しさんNGNG
>>273
>そこを見ると縦線の真ん中が切れてますよ。

ただの印刷ミスだ。気にするな。
0276デフォルトの名無しさんNGNG
わけがわかんなくなってきたなw
0277デフォルトの名無しさんNGNG
>>273
> そこを見ると縦線の真ん中が切れてますよ。
DOS時代は 0 に斜め線が入ってたり、| が真ん中で切れてたりしたんだよ。
0278 ◆9Ce54OonTI NGNG
>>273-274は偽物です!
証拠にトリップをつけますので、しつれいします。

>>270
>>274とおなじ状態になってしまいます・・・
0279デフォルトの名無しさんNGNG
本物の261です。
しばらく質問するのは控えようと思います・・・
いろいろ教えてくれた方々、ありがとうございました!!
0280デフォルトの名無しさんNGNG


    Java関係ねーよ

0281261NGNG
記念カキコ♥
0282デフォルトの名無しさんNGNG
>>279
プログラミングを控えた方が早いな。
0283デフォルトの名無しさんNGNG
人が真面目に質問してるのに、茶化すような回答するのは
どうかと思います。
今回の件で、2ちゃんねるのキモオタプログラマーどもの
実態が分かりました。
やっぱり正規のプログラミングサイトとメーリングサイトに
行きます。ありがとうございました。さよなら。
0284デフォルトの名無しさんNGNG
本物の糞261が常時ageていることに
騙りも気づいたか
0285デフォルトの名無しさんNGNG
>>276
下げてないヤツが(ry
0286デフォルトの名無しさんNGNG
261ですけど、友達もわからないと言っていたので
わからないのが普通だと思います・・・
0287デフォルトの名無しさんNGNG
かぶりage
0288デフォルトの名無しさんNGNG
261ですけど、かぶりageってなんですか?
0289デフォルトの名無しさんNGNG
261です。
実は釣りでした。
0290r ◆r/etvCKR2A NGNG
>>253
ん、JavaCCでググって観たが、確かに超めんどくさそうだ。

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

まあいいや。一文字ずつやろうっと。
ありがとね。
0291デフォルトの名無しさんNGNG
友達が分からんと言ってたから分からんのが普通ってのがすごい。
||だろ? ||なんだろ? ||は全然違う...
0292デフォルトの名無しさんNGNG
>>291
でも、押したら||が出たんですよ・・・
0293デフォルトの名無しさんNGNG
ネタじゃなかったのか
どこかで全く同じ質問と回答をみたきがする・・・
0294デフォルトの名無しさんNGNG
半角。
0295デフォルトの名無しさんNGNG
>>294
すいません、板違いなのは承知していますが、
半角板は違うんじゃ・・・
0296デフォルトの名無しさんNGNG
>>252 >>290
java.util.regex.Patternでできるよ。
0297デフォルトの名無しさんNGNG
>>295
とりあえずageるのをやめてからにしてくれ。
0298デフォルトの名無しさんNGNG
>260
脳内では好きなように読んでくれればいい
「スクルド」と無理矢理読んでハァハァするのも自由だ
が、人と話をするときは「すくえあるーと」と言っとけ。
0299r ◆r/etvCKR2A NGNG
>>296
パターンによる検索が出来るだけかと思っていたが、そうではないのかな。
""で囲まれてる部分とそうでない部分をわけたりするのって
結局、一文字づつの時とほぼ同じ状態遷移が必要にならないか?

0300296NGNG
>>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));
}
0301デフォルトの名無しさんNGNG
ヽ(`Д´)ノウワァァン
いま「AWT/Swing コンポーネント階層図」っての作ってるんだけどさ、abstract でも final でもない
普通のクラスって何て呼べばいいんだよ? しっくり来る名前が見つからないよー。

これじゃ凡例が書けない。今のところ、
 □ … インスタンスを生成できるクラス
 □ … 抽象クラス
こんな風にしてるだが。うーん。
0302デフォルトの名無しさんNGNG
「普通のクラス」
0303デフォルトの名無しさんNGNG
ふう....FAか。
0304300NGNG
しかし正規表現は慣れるとパーサーを書くスキルが無くなってしまうという諸刃の剣。

俺がそうだ_| ̄|○
0305r ◆r/etvCKR2A NGNG
>>300,304
正規表現のorって、こんな風に使うんだな。
つか、tokenPattern7の方のが全然わかんねー!
ガンガって理解します。
つか、ありがと。

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

まあ、今のご時世正規表現の使えない環境なんて珍しいんだし、
パーサー書かなくっても困らないんじゃないの?ほとんど。
んじゃまた
0306デフォルトの名無しさんNGNG
javaの開発手法はウォーターフールですかスパイラルですか?
0307デフォルトの名無しさんNGNG
いえ、プロトタイピングモデルかRADの方が一般的です。
0308デフォルトの名無しさんNGNG
>>306
プロトタイプとウォーターフォールは同列に並べられない気がするが
0309デフォルトの名無しさんNGNG
Oracle10gApServerの質問ってどこですればいいですか?
0310デフォルトの名無しさんNGNG
>>309
サーバサイドJAVA質問スレッドにいってください。
0311デフォルトの名無しさんNGNG
一応質問ないようです。
10gASでFrameをshowする個所があるのですが、java.awt.HeadlessExceptionがThrowされます。

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

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

Headlessな環境でImageを生成して印刷する方法を教えてください
0312デフォルトの名無しさんNGNG
>>311
Image作るのにFrameが必要なんてことはない
BufferedImage勉強してみろ
0313デフォルトの名無しさんNGNG
>310
サーバサイドJAVA質問スレッド
見つかりません??
0314デフォルトの名無しさんNGNG
カタカナ→ひらがな変換可能なフリーなライブラリってありますか?
0315デフォルトの名無しさんNGNG
1. IBM ICU4J
2. いがぴょん いがLIB
0316デフォルトの名無しさんNGNG
じゅん for JAVA って結局なんなんですか!!
検索でいつも引っかかるけど意味分かりません!!
うがー。
0317デフォルトの名無しさんNGNG
>>311
おそらくjava.awt.ComponentクラスのcreateImage()からしかイメージが
作成できないとお考えのようですが、
javax.swint.ImageIOクラスで、ファイルやネットからのダウンロード
ソースでImageは作成できます。
それでImageを作ればFramwをshowする必要はありません。
0318デフォルトの名無しさんNGNG
>312
>317
ありがとうございました。


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

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

加工の内容は具体的には、
1.4枚のイメージを並べる。
□□
□□
2.中心を切り取ってあたらしいイメージを作成する
□
です。
この処理をオフスクリーンで出来ればいいのですが・・・

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

0319デフォルトの名無しさんNGNG
>>318
IoamgeIOほんとうに目を通したの?
ぜんぜんいってることおかしいよ
0320デフォルトの名無しさんNGNG
> このイメージが完全にロードされてから描画したいので、MediaTrackerを使っていますが、
javax.imageio.ImageIO#read(URL) とかを使えば読み込み完了したイメージが得られたような?
0321デフォルトの名無しさんNGNG
>319
どうもすいません・・・

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

>320
ありがとうございます。
0322デフォルトの名無しさんNGNG
インターネットエクスプローラの,ツールのsunのjavaコンソールを
おしても,コンソールが表示されません。

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

どなたか,原因がわかる方教えて頂けないでしょうか。
0323244NGNG
>>244
できました、みなさんのアドバイスが役に立ちました。
ありがとうございました。
どうやったかは、あえて教えません。
0324デフォルトの名無しさんNGNG
public class Inttest {
  public static void main(String[] args) {
    String s="あいうえお";
    s=s.replaceAll(".",".");
    System.out.println(s);
  }
}
このようにすると、実行結果が
.....
となってしまいます
なぜですか
0325デフォルトの名無しさんNGNG
>324
APIドキュメントをもう一度よく見てみよう。
それから「正規表現」について勉強しなされ。
0326デフォルトの名無しさんNGNG
>>324
replaceAll()は、その第一引数を正規表現形式で書かれたテキストだ
と強制的に見なしてしまう。
正規表現での . は、任意の文字を表わすとあり、
つまり上の書き方だと、ほぼ全ての文字を . に変換するとの事になる。
0327324NGNG
>>324-325
s=s.replaceAll(".",".");
->s=s.replaceAll("\\.",".");
としてうまくいきました
ありがとうございました
0328デフォルトの名無しさんNGNG
Java から JDBC で DB に接続するのに
DB を UTF-8 で作っておくほうが、文字化け等のトラブル少ないでしょうか?
それとも DB のマシンのネイティブのほうが問題少ないでしょうか?
0329デフォルトの名無しさんNGNG
DBをUTF-8にしておけば、Java-DB間で文字化けが発生することはない。よってトラブルが少ないと言える。
※仮に文字化けが起こってもJava側で対処できる。
プレゼンテーション層もUTF-8にするともっとトラブルは少なくなるはず。

ただしUnicodeですべての問題が解決されるわけではない。
0330デフォルトの名無しさんNGNG
ここに書くのは適切でないかもしれませんが、
JAVAでゲームを作って見たのですが、
当方、Windows持ってないのでこれがWindowsで動くのかわかりません。
もし、Windowsを持っている金持ちの方で暇な方がいれば
動くかどうかやってみてくれませんか?

http://fukuoka.cool.ne.jp/dream_theater/ciao/numberplace.html
0331デフォルトの名無しさんNGNG
文字化けなんてみるの久しぶり
0332デフォルトの名無しさんNGNG
class a {
public static void main(String args[]) {
boolean b = Boolean.getBoolean("true");
System.out.println(b);
}
}
の結果がfalseになるのはなぜでしょうか?
教えてください
0333 ◆7CWqH7Oesg NGNG
現場でJavaってる人に聞きたいが、率直なところJavaの需要多い?

今やってないからよくわからんが、Javaはなかなか浸透してないようで・・
0334デフォルトの名無しさんNGNG
>>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 と表示されると思われ。
0335デフォルトの名無しさんNGNG
>>333
うちに来る仕事の大半がJava。
まぁ、もともとそっちよりの会社だからだと思うけど。
0336デフォルトの名無しさんNGNG
>>334
できました。ありがとうございます。
しかし根本的には理解してないですけど。
0337デフォルトの名無しさんNGNG
>>336
できましたって…… orz
根本的に理解してないと自覚してるならリンク先ちゃんと読めよ。

boolean b = Boolean.getBoolean("true");
は
boolean b;
try{
 b = new Boolean(System.getProperty("true")).booleanValue();
}catch(Exception e){
 b = false;
}
とほぼ同等。
0338デフォルトの名無しさんNGNG
配列の最後の要素を求める時何で
A[A.length-1]のように配列の要素数から1を引くのか教えてください
0339デフォルトの名無しさんNGNG
>>338
配列 A の先頭から 1個目の要素には A[0] でアクセスできる。
配列 A の先頭から 2個目の要素には A[1] でアクセスできる。

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

よって、配列 A の先頭から A.length個目の要素には A[A.length-1] でアクセスできる。
0340デフォルトの名無しさんNGNG
>>337
まったくです。
しかし、現在独習javaを片手にやっている初心者なんでシステムプロパティの
意味もわかりません。どういう意味でしょう?
0341デフォルトの名無しさんNGNG
>>340
システムプロパティは環境変数とかWindowsのレジストリとかみたいなもの。

っつーか、面倒くさがらずに自分で調べろ。
検索するなり、Sun のドキュメントみるなり手段はいくつもある。
0342デフォルトの名無しさんNGNG
>>341
Windows のレジストリは違うような……
0343デフォルトの名無しさんNGNG
>>332
ところで、

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

と間違えているわけではないよね。
0344332NGNG
Boolean.valueOfはBoolean型
Boolean.getGooleanはboolean型を返すんですよね。
一応勘違いはしてないんですが。
0345デフォルトの名無しさんNGNG
>>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();
みたいな事がやりたいのではないかと推測。
0346332NGNG
boolean b = Boolean.valueOf("true").booleanValue();
はできたんですが
boolean b = Boolean.getBoolean("true");
ができないのが気になっただけなんです。
それより
"true".equals
みたいな使い方もできるんですね。
0347デフォルトの名無しさんNGNG
>>346
結局、
boolean b = Boolean.getBoolean("true");
が何をするのか分かったのか?
0348デフォルトの名無しさんNGNG
このへんわからないままJ2SE5でコンパイルとおってまぁいいやとなるやつ大量生産な予感
0349332NGNG
全然わかりません。
System.getProperty("true")が存在しないからってことでしょうか?
0350デフォルトの名無しさんNGNG
すいません、質問です。
javaで、簡単なアプリをつくりたいと思うんだけど、java2SDKだけでGUIのプログラム、つくれますか?
今までコンソール画面で動くプログラムしか作ったことないんです
0351デフォルトの名無しさんNGNG
>>332
違うでしょ。

System.getProperty(String key)で取得した値が、「true」だった場合
、戻り値としてtrueが返ってくるということ。
ちなみに、取得した値の大文字と小文字を判断しないはずです。
0352デフォルトの名無しさんNGNG
つくれます
0353デフォルトの名無しさんNGNG
>>350
Java の Swing ライブラリっていうやつを使うんだよ。
0354332NGNG
>>351
つまり初期設定ではSystem.getProperty("true")の戻り値が
trueではないということですよね?
調べたのですがgetPropertyがよくわからないです。
0355デフォルトの名無しさんNGNG
> 調べたのですがgetPropertyがよくわからないです。
もっと きちんと調べろ。
0356デフォルトの名無しさんNGNG
>>353 レスありがとうございます。swingライブラリですか。
>>352 レスどうもありがとうございます。
0357デフォルトの名無しさんNGNG
Vector型に格納しているEmployee型配列があります。
これをランダムに並べ替えられた状態で
Employee型を取り出したいのですが、
どのような方法がありますでしょうか?

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

for (int i=0; i<employee.length; i++) {
  System.out.println(employee.getName());
  //こうやって順番に取り出すと
  //格納した順番に出力される。
  //ランダムに過不足なく全部出力したい。
}
0358332NGNG
ところで
Boolean.getBoolean()
ってどういう場合に使用するのですか
0359デフォルトの名無しさんNGNG
>>357
Collections.shuffle
0360デフォルトの名無しさんNGNG
すいません質問です。
javaの統合開発環境についてなんですが、どれがどのように良いのでしょう。
できれば違いなんかも教えてもらいたいです。
よろしくお願いします。
0361242NGNG
>>242
誰か教えてください。勘違いなら勘違いで結構ですので。
0362デフォルトの名無しさんNGNG
>>357
質問とは関係ないがVector使うのやめれ。時代はArrayList
0363デフォルトの名無しさんNGNG
>>361
無い。MacのJREでなら使える。逆にMacでWindowsのL&Fは使えない。
0364デフォルトの名無しさんNGNG
>>358
そんなものは使わない。使う場面に遭遇することは無いだろう。忘れていい。
0365242NGNG
>>363
なるほど、そういう事だったんですね。。
ちょっと興味心でマックのLook&Feelにしたかったのですが、残念。
でも、すっきりしました。ありがとうございます。
0366332NGNG
>>364
なるほど。ありがとうございます。
0367デフォルトの名無しさんNGNG
>>358
システムプロパティから boolean の値を読み込むときに使う。
使うかどうかは人による。
0368デフォルトの名無しさんNGNG
jarファイルから実行するアプリを作っています。
その時OutOfMemoryが出るので初期ヒープメモリーを増やして実行したいのですが、
jarの場合はどうやってオプション付けます?
MFの中かな?
0369351NGNG
>>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」が表示
されるはずです。
0370デフォルトの名無しさんNGNG
>>368
jar ファイルの中で指定できたっけか?

起動用スクリプトとか書いて
javaw -Xmx必要な量 -jar hoge.jar
とかしないとダメなような気がするんだけど。
0371ゆうき ◆MU2000.LWc NGNG
ジャバを初めて勉強してる者ですが、質問です。
http://ww22.tiki.ne.jp/~y-shirakawa/tmp/tamatest1.html
いろいろ調べましたが、限界です。
もし、お時間のある方、おたすけください orz..
0372デフォルトの名無しさんNGNG
69行目のforの始まり括弧が無い。

あとメソッド名は小文字ではじめような。Move()→move()とか。Ini()→init()とか。
0373ゆうき ◆MU2000.LWc NGNG
>>372
うおーーー。
有難うございました☆
メソッド名のはじめは小文字ですね。分かりました。
GUI関連の勉強したいなら、やっぱり一冊本を買った方がいいでしょうか?
0374デフォルトの名無しさんNGNG
>>370
調べてみましたがそれしかなさそうです。残念・・。
0375デフォルトの名無しさんNGNG
とうぜん位置とイメージを持った玉クラスを作ってほしいものだ
0376デフォルトの名無しさんNGNG
Javaでビット列を解釈するときはどんな風に書くの?

たとえばIPヘッダを解釈するときとか。
CだとIPヘッダと同じフォーマットの構造体をつくってキャストすると
その構造体のフィールドを使って見たり書いたりできると思うけど。
0377デフォルトの名無しさんNGNG
>>376
同じようにできる。
0378デフォルトの名無しさんNGNG
>CだとIPヘッダと同じフォーマットの構造体をつくってキャストすると
>その構造体のフィールドを使って見たり書いたりできると思うけど。

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

0379デフォルトの名無しさんNGNG
>378
その辺は大概#pragmaで何とかなるでしょ。それがC。
0380デフォルトの名無しさんNGNG
あー、#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ビットずつシフトするとかしないと。
0381デフォルトの名無しさんNGNG
質問よろしいでしょうか。
Javaの開発環境を整えるにあたって、J2SEをいれようと思うのですが、
ttp://java.sun.com/j2se/1.4.2/ja/download.html
こちらにあるSDKとJREは両方入れる必要があるのでしょうか。
なお、開発はEclipseを使用する予定です。
0382デフォルトの名無しさんNGNG
SDKはJREを含んでます。
JREは、実行環境であり
SDKは、開発環境+実行環境なのです。
0383デフォルトの名無しさんNGNG
>>380
DataInputStream が使えるならちょっとだけ楽にはなるけどね。
0384デフォルトの名無しさんNGNG
誰か、Apache Beehive と Eclipse Pollinate を試したヤシいる?
いたら聞きたいことがあるんだけど・・・・
0385デフォルトの名無しさんNGNG
こんにちは
JPanelをextendsして、内部にJTextBox等を配置したコントロールを作成しています。
これをJBuilderで配置するとモトがパネルだけにコンテナとして動いてしまい、
他のコントロールを自由に配置できてしまいます。

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

よろしくお願いいたします。
0386デフォルトの名無しさんNGNG
>>285
JBuilderのGUIエディタで、そのコントロールに配置できないように
するとの事ですか?
0387デフォルトの名無しさんNGNG
>386
そうですそうです。
そのコントロールの上に他のコントロールを配置できないようにしたいのです。
0388デフォルトの名無しさんNGNG
それはJBuilderの問題になってしまうので、
不可能かと。。。。
0389デフォルトの名無しさんNGNG
GUIエディタ上では、他コンポーネントが追加されてても
実際には追加されてないようにするには、各add()メソッドを
オーバーライドして、そのままreturnするようにすれば良いのでは。
0390デフォルトの名無しさんNGNG
あとで質問してもいいですか?
0391デフォルトの名無しさんNGNG
>388

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

>389

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

JLabelのように元をたどるとContainerのコントロールって、どうやって
いるのでしょうか。
なんとなく、UIまわりかなぁとか思っているのですが、いまいち追いきれません。
0392デフォルトの名無しさんNGNG
一度作ったインスタンスは消去できないんですか?

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

と書くとコンパイルエラーになります。
2行目で中身がnullになっても
それはガーベッジコレクションの対象になるというだけで
Potiという名前はもう使用できないんでしょうか?
0393デフォルトの名無しさんNGNG
>>392
当たり前だろ。
どうしてもっていうなら、親クラスの参照をお使いなさい。
0394デフォルトの名無しさんNGNG
>>393を晒しあげ
0395デフォルトの名無しさんNGNG
>>392
えっと、一から勉強し直せ。
0396デフォルトの名無しさんNGNG
親クラスの参照を使ってもコンパイルエラーがでます。
どうしたらいいですか?
Animal Poti = new Dog();
Poti = null;
Animal Poti = new Cat();
0397デフォルトの名無しさんNGNG
答えになっていないので、
わかりやすく解説してください。
0398デフォルトの名無しさんNGNG
同じ変数名が使えないだけだ。

int i = 0;
int i = 0;

これがコンパイルできないことぐらいはわかるのか?
0399デフォルトの名無しさんNGNG
同じ名前のローカル変数は使えません。
0400デフォルトの名無しさんNGNG
じゃあ親クラスが云々てのは意味ねーのかよ。
誰だよ間違い教えてるの。
0401デフォルトの名無しさんNGNG
>>396
2回目のAnimalは不要。
それと、親クラスで必要なメソッドが宣言されていないと、
そのままじゃ使えないよ。
0402デフォルトの名無しさんNGNG
>>392
インスタンスが消去できないんじゃなくて、変数名が再宣言できないだけ。

http://www.y-adagio.com/public/standards/tr_javalang2/statements.doc.html#32644
> 局所変数 v の名前は,v の有効範囲内の,直接取り囲むメソッド,コンストラクタ,
> 又は初期化子ブロックの局所変数として再宣言してはならない。
> 再宣言すると,コンパイル時エラーとなる。
0403デフォルトの名無しさんNGNG
>>400
同じ名前で使いたいなら、親クラスの変数を使いまわすしかないと思うが。
0404デフォルトの名無しさんNGNG
例え同名の変数定義でも、クラスインスタンシエートオーバーロード
されるのが普通ですよね?
JAVAって変則的な言語仕様があるみたいですけど
いきなりそれに当たってしまったんですか。。。orz
0405デフォルトの名無しさんNGNG
おいおい、こないだから糞しか来ねーが
どういうわけだ?
0406デフォルトの名無しさんNGNG
>404
>例え同名の変数定義でも、クラスインスタンシエートオーバーロード
>されるのが普通ですよね?

それが普通ってどういう環境なんだ……激しく気になる。
よもや予約語がないも同然のPL/I?
0407デフォルトの名無しさんNGNG
>>404
他にどんな言語を知ってるかしらんが、
スコープに同じ変数名を使えないのはどう考えても普通。
0408デフォルトの名無しさんNGNG
ところで、クラスインスタンシエートオーバーロードって何?
0409デフォルトの名無しさんNGNG
インスタンス初期化子とコンストラクタの違い(どうやって使い分けるのか)について
教えてください。
0410デフォルトの名無しさんNGNG
名前が無いクラスはコンストラクが定義できない(書けない)ので変わりにインスタンス初期化子を使います。

で、良いのかな。

あと名前のあるクラスでも複数のコンストラクタで共通の初期化処理をしたいときに使えるかもしれない。
でも普通は普通のコンストラクタ使いな。多用するもんじゃない。
0411デフォルトの名無しさんNGNG
式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;

のところで、シンボルを解決できませんとエラーがでます。
どうすればいいか教えていただけないでしょうか?
0412デフォルトの名無しさんNGNG
javascript:GoSubmit()
とかがリンク先になってるページに
いけなくなってしまいました・・・。
どっかいじっちゃったのかな・・・。
押しても反応ないんですよね

ダレカ対処法を教えてください。お願いします
0413デフォルトの名無しさんNGNG
あっ本当にプログラムの板みたいですね
板違いだ(;´Д`)すみませんでした
0414393NGNG
>>392
そんな使い方できないのは当たり前だろと言ったつもりなんだが、
激しく釣ってしまったorz
392は、別のクラスのインスタンスの参照に同じ変数が使いたいのかと思って、
親クラスの変数を使いまわすしかないと言ったんだが。
せっかくなので丁寧に書かせていただきます。

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

だからPotiはDogクラスの変数としてならスコープが切れるまで使い続けられますが、
その範囲で同名の変数を定義することは出来ませんし、
Catクラスなどの他のクラスの参照を代入することも出来ません。
Potiという変数をDogクラスとCatクラス両方で使いたいなら、
親クラスの変数を使えば出来なくはないですが、
そのまま使うには、必要なメソッドが親クラスで宣言されていなければなりません。
0415デフォルトの名無しさんNGNG
>>411
calcはメソッドで、()を付け忘れているとか?
0416デフォルトの名無しさんNGNG
そもそもkeyInputが定義されていないとか。
KeyInputだったとか。
0417デフォルトの名無しさんNGNG
java初心者なのですが
pathの設定方法がわかりません。
マシンはWINXPです。

環境変数からC:\jdk1.3.1_02\bin;
を設定してもうまくいきません。
もともとWINに
設定されてたPathは消えてます。
0418デフォルトの名無しさんNGNG
>>417
Windowsも初心者だな。
0419デフォルトの名無しさんNGNG
>>417
バージョンによってというか、インストール先によって必要なパスは変わります。
JDKのインストールディレクトリはどこかわかりませんか?
0420デフォルトの名無しさんNGNG
>>417
>>1を100回読んで、>>1のリンク先も100回読んで、
それでまだわからなかったらまた来い
0421デフォルトの名無しさんNGNG
>んで、>>1のリンク先も100回読んで、

URLを100回読めと
0422デフォルトの名無しさんNGNG
>>411
マルチポストすんなボケ
0423デフォルトの名無しさんNGNG
「クラス」を日本語に訳すと?

型?
種?
0424デフォルトの名無しさんNGNG
型のほうじゃない?
0425242NGNG
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
0426デフォルトの名無しさんNGNG
>>425
「ECLIPSEからではない方法」が不明なのだが、
コマンドラインからAntを実行するのなら、実行前にコマンドラインで
set ANT_HOME=(Antインストールディレクトリ)
set JAVA_HOME=(JDKインストールディレクトリ)
set Path=%ANT_HOME%\bin;%Path%
としてから実行してみれ。

まさか JAVA_HOME、ANT_HOME が全角じゃないだろうな?
揚げ足取りでも何でもなく、質問のレベルからそんな恐れも見え隠れする。
0427デフォルトの名無しさんNGNG
ある画像を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)

0428デフォルトの名無しさんNGNG
アプレットの典型的なパターンだな
0429デフォルトの名無しさんNGNG
質問に答えてる人に質問なんですが、
どうしたらそんなに詳しくなれますか?
また、どんな勉強法をすればいいですか?
0430デフォルトの名無しさんNGNG
>>429
私は詳しくないですが、一般的に言われているのは、

1.まず、言語仕様を(本などを読んで)きっちり覚える。
2.コードをたくさん書く。
3.コードをたくさん読む。
4.言語仕様の変化などに注意しつつ、2-3を繰り返す。
0431242NGNG
>>426
原因がわかりました。JAVA_HOME に C:\j2sdk1.4.2_04\bin とバイナリの
フォルダまで含めていました。初歩的な失敗でしたね。
ご迷惑おかけしました。
0432デフォルトの名無しさんNGNG
どんな問題でも、原因がわかった時、
そのミスはすでに自分にとって初歩的なものになっている。
とか言いますな。
0433デフォルトの名無しさんNGNG
if (Koizumi.Go("Niigata")==true)
{
  Okada.Say("総理が被災地に行っても何の役にも立たない。パフォーマンスだ!");
}
else
{
  Okada.Say("被害者感情を無視した対応だ!");
}
0434デフォルトの名無しさんNGNG
>433
メソッドの最初を大文字にしない
ifの==trueは不要
ついでに岡田も日本には不要
0435デフォルトの名無しさんNGNG
HashMapでIteratorを使って順に要素をたどっていく事はできますか?
また、それらの順序はいつも同じなのでしょうか?
あとiteratorメソッドでIteratorを得る時は、毎回最初の位置へリセットされるのでしょうか?
駄文で申し訳ありませんが、どなたがご回答おねがいします。
0436デフォルトの名無しさんNGNG
>>435
LinkedHashMap使え
0437デフォルトの名無しさんNGNG
> HashMapでIteratorを使って順に要素をたどっていく事はできますか?
values() で値のコレクションを、keySet() でキーのコレクションを得られるので、お好きにどうぞ。

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

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

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

などとして得られたCollectionに対してiterator()メソッドを呼び出して得る。
0440デフォルトの名無しさんNGNG
>>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
0441デフォルトの名無しさんNGNG
>>438
反面教師な
0442デフォルトの名無しさんNGNG

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

入手方法ないですか?
0443ケータイからのアクセスNGNG
おいらのパソコンが、JAVAの開発しようと思って、Cドライブのautoexec batっていうファイルいじってたら、MS-DOSでしかパソコンが立ちあがらないようになってしまった….・゚(´Д`)゚・.
だれかMS-DOSでautoexec batの書き替え方教えて…
ちなみにOSは98です…
0444デフォルトの名無しさんNGNG
ばかかこいつ
OS入れなおせ。カスが
0445デフォルトの名無しさんNGNG
>>443
どう見ても板違いじゃ・・・
0446デフォルトの名無しさんNGNG
                 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        |      |
├───‐─┴─────────────────────────
| そんなことより議題を進めようか。
|
└──────────────────────────────‐
0447デフォルトの名無しさんNGNG
>>444
てめーこそ、カスだろ。
人が困ってるのに何て事言いやがる。
てめーのようなキモオタは、ネットでしかでかい口叩けん癖に
現実じゃ人前に出ただけでガクブルなんだろが。
このクズ。
0448デフォルトの名無しさんNGNG
               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             //
├───‐─┴────────────────────―────
| なんで怒ってるのか知らんが
| 助けたきゃ勝手に助ければいいだろ
└─────────────────―────────────‐
0449デフォルトの名無しさんNGNG
443のがキモオタだろw
98ユーザーって昔のエロゲやるために98使ってるんだよwww
0450デフォルトの名無しさんNGNG
Dog Poti と Cat Potiの話ですが
インスタンスを消去することはできないのですか?
消去できないとなると、どんどんインスタンスが増えることになり
メモリがいっぱいになってしまいそうな気がするのですが・・・
0451デフォルトの名無しさんNGNG
>>450
うるせーばか釣りはもうたくさんだハゲ
0452デフォルトの名無しさんNGNG
すみません、ちょっと質問なんですが、
あるフォルダにある.jarファイルを全部クラスパスに通したいとき、

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

という書き方はできないのですか?
0453デフォルトの名無しさんNGNG
できない。つーか環境は?
0454デフォルトの名無しさんNGNG
J2SE SDK v1.4.2_05 を落としたのはいいけど
プラグインの設定をしたところでエラーになるし
パソコンは何だか重いし・・・
これ、向いてないからいれるなってことでしょうかね?
OSはWindows98 SE なんですけど・・・
0455デフォルトの名無しさんNGNG
未だに98SEってありえない
0456デフォルトの名無しさんNGNG
こんばんは、よろしくお願いします。
マウスを手や、矢印の形に変化させたいのですが、
どのような、classを使うのでしょうか。
0457デフォルトの名無しさんNGNG
クラスじゃなくてメソッドです。
各コンポーネントのsetCursor()を使いませう
0458452NGNG
>>453
レスありがとうございます。
環境はxpにjava5です。
やはり何度試してもできませんでした(涙
不便です。

0459デフォルトの名無しさんNGNG
>>456
java.awt.Cursor#getPrefdefinedCursor(int) とか
java.awt.Toolkit#createCustomCursor(Image,Point,String) とか
を使って望みの形のjava.awt.Cursorのインスタンスを作ってから
java.awt.Component#setCursor(Cursor) する。
0460デフォルトの名無しさんNGNG
>458
どーしよーもないほど多いならextフォルダに入れてしまっては。
0461デフォルトの名無しさんNGNG
>>458
Ant使えば?*.jarできるよ。
0462デフォルトの名無しさんNGNG
>>458
java @setting.txt
こうやるとsetting.txtにコマンドラインの中身書けたようなキガス
0463デフォルトの名無しさんNGNG
>>452
javac -Djava.ext.dirs=JARDIR1;JARDIR2 Hello.java

試してみ
0464デフォルトの名無しさんNGNG
>>460 >>463
拡張クラスはユーザクラスとクラスローディングの優先度が違うし、
シールされたjarの動作も違ってくる。
面倒でもユーザクラスとして使うjarはユーザクラスとして使うしかない。
0465456NGNG
>>457さん
>>459さん
へ。
早々にこんなに詳しく教えていただきありがとうございます。
無事できました。
0466デフォルトの名無しさんNGNG
初心者です。
最近Strutsをはじめました。

画面出力するデータをValueObjectに保存する方法にしているのですが、
このValueObjectをスレッドセーフにするには
Serializableにしないといけないのでしょうか?
0467デフォルトの名無しさんNGNG
>>466
出力用のValueObjectをスレッドセーフにしなければならない、とはどんな設計だろう?
そもそも、HttpSession に入れるのであればスレッドセーフかどうかに関わらずSerializableに
する必要があるし、ServletRequestに入れるのであればスレッドセーフとか考えなくていいと思うけど?
0468デフォルトの名無しさんNGNG
>>466
そのValueObjectをImmutableにすればOK。完璧にスレッドセーフになる。
0469466NGNG
>>467
ServletRequestに入れるのであればスレッドセーフにしなくてもいいのですか?
ServletRequestに入れる前に書き換えられる可能性は考えなくても良いということですか?

>>出力用のValueObjectをスレッドセーフにしなければならない、とはどんな設計だろう?
ValueObjectがスレッドセーフになっていなかったら、
読み出す前に書き換えられる可能性があるのではないかと思ったのですが。
もしかして考え方間違っています?
0470デフォルトの名無しさんNGNG
>>468
それって一般的な方法ですか?
0471デフォルトの名無しさんNGNG
>>470
一般的
0472468NGNG
>>470
一般的もなにも、属性を持つオブジェクトをスレッドセーフにする唯一の方法。

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

俺もImmutableってのも有りかもと思った。
0474466NGNG
>>468
調べてみましたがImmutableって内部変数の変更不可って奴ですか?
それだと困るんですが。。。
0475466NGNG
>>473
ActionでValueObject生成して、
値をセットして、
RequestにsetAttributeしようかと思っているのですが。

このやりかただとオブジェクト生成時点からRequestにセットするまでの間は、
書き換える可能性があるのかな?と思っていたのですが。
0476デフォルトの名無しさんNGNG
>>475
Action以外のスレッドに渡す可能性があるなら書き換えられるだろうな
0477デフォルトの名無しさんNGNG
>>475
>値をセットして、

どこから持ってきた値だこの馬鹿野郎
0478デフォルトの名無しさんNGNG
>>474
じゃぁそのValueObjectをスレッドセーフにするのはあきらめれ。
複数スレッドで共有しないようにすればOK。
0479466NGNG
>>477
なんでもいいのですが、
例えば前画面から送られてきた値から算出した値とか、
データベースの検索結果から取り出した値とかですが。
0480デフォルトの名無しさんNGNG
>>475
> このやりかただとオブジェクト生成時点からRequestにセットするまでの間は、
書き換える可能性があるのかな?と思っていたのですが。

プログラム中で他のスレッドに明示的に渡してなければOK。
Actionのexecute()メソッドそのものはスレッドセーフだ。
0481466NGNG
>>480
そうですか。
execute()メソッドの中で定義していれば問題ないんですか。
ValueObjectのインスタンスが使いまわされて、
同時アクセスの際におかしな挙動になるのではないかと心配してたのですが。
余計な心配でしたか。
0482デフォルトの名無しさんNGNG
>>466
ttp://www.jajakarta.org/struts/struts1.1/documentation/ja/target/api/org/apache/struts/action/Action.html

他のリソース(JavaBeans、セッション変数等)へのアクセスは、それらが保護を要求する場合は同期化しなくてはいけません(しかしながら、一般的にリソースクラスは必要に応じて自分自身を保護するように設計すべきです)。
0483デフォルトの名無しさんNGNG
>>482
おっさん、的外してるよ
0484デフォルトの名無しさんNGNG
>>481
> ValueObjectのインスタンスが使いまわされて、
使い回すような設計・実装をしているのか?
0485466NGNG
>>484
execute()が同時アクセスで複数同時に実行されたとき、
ValueObjectのインスタンスがひとつなら値が保障されないのではないですか?
という意味です。
「使いまわす」という表現は間違っていました。
0486デフォルトの名無しさんNGNG
おもしれーな。質問内容の揚げ足とるやつばっかり。それにまじめに答え返して、更に揚げ足取られる(藁Java厨ってこんな奴ばっかなのか?466もちゃんと言葉を選んで聞かねーと答えまでたどりつけねーぞ(藁
0487デフォルトの名無しさんNGNG
おまえモナー
0488デフォルトの名無しさんNGNG
>>486
荒らしは(・∀・)カエレ!
466からは非常にスムーズにQとAが続いてるんだが。
初心者をなめちゃあかんよ。
0489466NGNG
>>486
いやいや、私が素人なんでうまく考えを伝えられないんでしょうがないです。
少しずつでも理解できるようにしたいです。

それまで、皆さんが付き合ってくれるかが一番の問題ですが。
0490デフォルトの名無しさんNGNG
>>485
execute()の中で変数宣言して、newして、Request/Responseにしか渡してないなら
複数スレッドから共有されることはない、
からオブジェクト自身のスレッドセーフ性は考慮しなくても大丈夫。

複数同時にexecute()が実行されたなら、それぞれのリクエスト処理中に別々のObjectが生成されるだけ。
0491デフォルトの名無しさんNGNG
こういう奴が量産されない為にも、初心者はスレッドとスタックの基礎を必ず学んでおいてほしいと思う。
0492デフォルトの名無しさんNGNG
>>485
execute()が同時アクセスで複数同時に実行されたときは、それぞれのスレッド中で別々に処理されるから無問題。
0493デフォルトの名無しさんNGNG
そもそも、元の質問(>>466)にあった
Serializable は synchronized の間違いではないか、とチョットつっこんでみる。
0494デフォルトの名無しさんNGNG
>>491
学んでいる最中だからこそ初心者というのだよ。
466みたいなのは良いんじゃない。素直で向上心ありそうだから。
0495466NGNG
>>490>>492
execute()メソッドで何らかのオブジェクトのインスタンスを生成する場合は
リクエストごとにインスタンスが生成されるということでよいですか?
ということは、execute()でインスタンスを生成するオブジェクトはスレッドセーフを
意識する必要は無いということですか。


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


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


>>491
時間を見つけて勉強します。
0496デフォルトの名無しさんNGNG
>>495
「クラス変数は使用するな」は正しい。
execute()の中で宣言する変数はクラス変数ではなく、ローカル変数。
The Struts Users Guide の 4.4.1 Action Class Design Guidelines にも
「Only Use Local Variables」とある。
Actionのフィールドとして宣言したクラス変数は複数スレッド間で参照される恐れがあり、
このオブジェクトはスレッドセーフではなくなる。
execute()メソッド内のみで閉じていれば無問題。
0497ゆうき ◆MU2000.LWc NGNG
>>375
勝手に作った玉クラスで画像を入れる変数って、どうやって定義するんですか?
http://ww22.tiki.ne.jp/~y-shirakawa/tmp/tamatest1.html

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

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


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

すいません。仕組みを理解しとかないと気が済まない性質で。。。
0499デフォルトの名無しさんNGNG
>497
玉クラスで画像を管理してなかったときはどこにどーやって画像を持ってました?
それを玉クラスに移して、setter/getterなりを備え付ければいいだけですぞ。
0500デフォルトの名無しさんNGNG
>>498
> 気にしていたのはValueObjectはクラス変数を持たなければならないということです。
気にすることはない。

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

> しかし、Webアプリ作っている方々は皆さんその辺を十分理解したうえで作成してるんでしょうか?
知っておかないとマズイだろう。バグやセキュリティホールの温床になる。
0501デフォルトの名無しさんNGNG
>>498
VBの「クラス変数」ってのはインスタンス変数のことか?
Javaだと、
インスタンスに属する、インスタンスメンバ変数と
クラスに属する、staticメンバ変数(クラス変数)と呼ぶ。

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


VBは奇妙な仕様が多い上に知識のある人間が極端に少ないから、
VBでの知識・経験は忘れた方がいい。
どこまで正しいのか、他の言語でも一般的な事柄なのか判断しにくい。
0502501NGNG
自分で書いて思った。Javaで「クラス変数」という言葉はあまり一般的でないと思う。
使っている人がいないわけじゃないが。

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

あたりが一般的だと思う。
0503デフォルトの名無しさんNGNG
>>502
クラス変数(class variable)はJLSでもバリバリ使ってるし、
Java界隈でも一般的にも使ってると思うが。

「staticメンバ変数」ってのは初めて聞いた。
0504デフォルトの名無しさんNGNG
メンバ〜はC++だね。
0505466NGNG
>>491で書いてることや、
WEBアプリとスレッドセーフなどについての知識が得られる良い書籍はありますか?
0506デフォルトの名無しさんNGNG
外部ファイルの内容の、特定の1行だけを読み込みたくて
LineNumberReaderを使い、以下のようなプログラムを組んでみました。

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

しかし、これでは1万行目を読み込むようなことがあった場合に
効率が悪いような気がします。
他に方法はあるのでしょうか?
0507デフォルトの名無しさんNGNG
>>506
簡単に思いつくのは
・一行の文字数かバイト数を固定する
・全ての行について(何行かごとでも良いけど)
 その行がファイル先頭から何バイト目から始まるかをどこかに保存しておく
ぐらいかな。
0508デフォルトの名無しさんNGNG
>>506
・解決策1
1万行ぐらい全然たいしたこと無いから気にするな。
・解決策2
FileInputStreamからbyte[]でまとめて取ってきてbyteのまま改行を数える。
0509デフォルトの名無しさんNGNG
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
ファイアウォール切ってます。
0510デフォルトの名無しさんNGNG
>>509
接続拒否されてる
0511デフォルトの名無しさんNGNG
>>509
サンプルをそのままコンパイルしていて、
コマンドライン引数でのポート番号指定をしていないのでは?

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

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

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

たまにはこういった基礎を学んでみるのもいいのではないでしょうか。
Javaでの開発に限らず、きっと役に立つはずです。
0513509NGNG
>>510>>511
レスありがとうです。

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

なぜjava.netで出来てjava.nioのチャンネルだと出来ないのでしょう・・・
0514駒図5FNGNG
学生証番号を入力すると,学生証番号の最後についているアルファベットを 算出するプログラム
320135→Jでおながいしまつ。
0515デフォルトの名無しさんNGNG
>>514
スレ違いな上に要件が全然足りてないぜ、ベイビー
0516駒図5FNGNG
>>515
教えてくんですみません。
要件とは??
JAVA初心者で学校の課題なのでつが
数字を分解しないといけないのでつか?
直接導出するプログラムは組めませんか?
0517デフォルトの名無しさんNGNG
>>516
おいおい、その前の「スレ違い」って所は完全無視かよ?
0518駒図5FNGNG
え?ここはプログラミングは教えて頂けないんでつか?
0519デフォルトの名無しさんNGNG
プログラミングの仕方なら学校の先生に聞けばぁ?
ここはプログラミングをしてて疑問にぶち当たって調べて、それでもわからなかったら聞くところ。
0520デフォルトの名無しさんNGNG
>>518
問題を全部書きなさい。
すれば即座に回答する
0521デフォルトの名無しさんNGNG
320135がどういう計算でJになるのか、
仕組みが書かれていないから答えようがない、と言っている。

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

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

で、数値「320135」から文字「J」を導く式は?
このままだと何を入力しても
「学生証番号:320135
文字:J」
と出力するプログラムしか書けないんだが。
0523デフォルトの名無しさんNGNG
いや、ですからあの暗号デコード式ですよ。
分からないんですか?
0524デフォルトの名無しさんNGNG
暗号デコード式なんて世の中に掃いて捨てるほどある
それを全部適用して「ああ、これか」と確認しろと?

素直に「宿題が出来ませんでした〜」って教授に怒られてこい。
0525デフォルトの名無しさんNGNG
今世紀最大のなぞだな

320135->J

何かものすごい真理が潜んでいるに違いない
0526デフォルトの名無しさんNGNG
>>525
たいしたことないよ

32bitの対応表があるだけだ
0527デフォルトの名無しさんNGNG
質問 A:
1 + x = 6 の場合の、x の値が分かりません。教えてください。

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

(以下略)
0528509NGNG
自己レスです。

>>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
この辺が関係してるのかしら・・・

帰宅したら↑の修正プログラムあてて、再報告したいと思います。
0529デフォルトの名無しさんNGNG
Javascriptの変数をjavaに持ち込むことは可能でしょうか?
可能だった場合、やり方はどのように行えばよいでしょうか。

ぐぐっても全然分からなくて泣きそう(ノД`)
0530デフォルトの名無しさんNGNG
>529
何がしたいのか、いまいちよー分からんが
JavaScriptでAPPLETタグを出力するんではダメなん?
(PARAM属性に渡したい変数の値が入るようにして)
0531駒図5FNGNG
>>523は漏れでないでつよ。
マルチスマソ。
0532デフォルトの名無しさんNGNG
>>529

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

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

Graphics クラス型オブジェクトにセットというのが、無いのでしょうか?
でも、玉クラスで管理してなかったときと、同じ方法でやってると思うのですが・・。
0535529NGNG
すんません、クライアント側で宣言したjavascript内での変数を
サーバー側にあるjavaにある変数に渡したいって事だったんです。
説明不足でホントごめん・・・
0536デフォルトの名無しさんNGNG
>>535
Formで渡せばいいじゃない
0537デフォルトの名無しさんNGNG
>534
ttp://rerere.zive.net/res/up/source/up3994.zip
解凍したら手を加えたTama3.javaが出てくる。
一応手元で動作は確認済み。
注意点はソースの中のコメントに##の目印つけて書いておいたから
とりあえず読んで。

てゆーか、みんなJavaの入門書ちゃんと読もうよ……
オブジェクト指向全般理解しろとは言わないが、クラスとか継承とか
最低限その辺りは理解してからやってくれ……
(別スレでも明らかにその辺が分かってない香具師が奇怪なコードを書いてたし……)
0538デフォルトの名無しさんNGNG
すいません、staticメソッド内で作った
ローカル(?)クラスのスコープはどうなるんでしょうか?

class Test{

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

ここで別のクラスからmethodを2回呼び出すとどうなりますか?
0539デフォルトの名無しさんNGNG
>>538
単語の使い方がめちゃくちゃだす
0540デフォルトの名無しさんNGNG
>>538
各呼び出し毎に生成される。
0541デフォルトの名無しさんNGNG
上書きされて消されるなら構わないんですが
毎回毎回インスタンスが作成されたとして
ちゃんとガーベッジコレクションでメモリは解放されるんでしょうか?
0542デフォルトの名無しさんNGNG
メソッド呼び出し中に上書きされて消されたらまずいだろ。
毎回インスタンスが作成されて、きちんとGCで解放される。
0543デフォルトの名無しさんNGNG
>>538
ローカル変数とローカルクラスとは違う。
あと変数とインスタンスも違う。

ローカルクラスってのはこーゆー奴ね。
class Test {
  static void method(){
    class Dog {} //ローカルクラス
  }
}
0544デフォルトの名無しさんNGNG
内部クラスのpublic/privateの違いは、
他のクラスからClassA.ClassBみたいなアクセスを許すかどうかの違いですよね?
ではprivate内部クラスのメンバはpublic/privateによってどうかわるのでしょうか・・・

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

どうも内部クラスはうまく想像できないみたいです。
設計図(クラス)の中にさらにべつの設計図の小冊子がはさまってるようなもんでしょうか。
0545デフォルトの名無しさんNGNG
>>544
ここみてみて
ttp://milkyway.merseine.nu/Java/Java999.html
わからんかったらまたきて
0546デフォルトの名無しさんNGNG
>>447
困る困らない以前に
Windows板か初心者板の話題だろ

Javaと関係ない。
0547デフォルトの名無しさんNGNG
以下の文が何をするのか教えて下さい

int offset = ( (x < 0) ? -x : 0) + ( (y < 0) ? -y : 0) * width;
0548ゆうき ◆MU2000.LWc NGNG
>>537
ありがとうございます。
やっぱり画像関連はメインのクラスでやるしかないんですね。
これで単純なゲームなら作れそうです。
0549デフォルトの名無しさんNGNG
>>547
3項演算子
0550547NGNG
>>549
3項演算子 なのはわかってるんだけど…
これって何処で途切れてるの??わかりやすく言い換えてくれませんか?
0551デフォルトの名無しさんNGNG
>>547
xが負なら-xを、そうでないなら0を求めて、
yについても同様にして求めた値にwidthを掛けたものを加え、その値をoffsetに代入する。

a ? b : c;は以下に同じ。
if(a){
  b;
}
else{
  c;
}
0552デフォルトの名無しさんNGNG
同じではなかった・・orz
3項演算子は評価して値を返すのか。
0553550NGNG
>> 551

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

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

っていうふうになっちゃうんです(涙)
学校の宿題であさってまでにやらなきゃいけないんでとても焦ってます
できたら教えてもらえないでしょうか☆お願いします!
0555デフォルトの名無しさんNGNG
こんな感じのSPAMがよく来る
0556qNGNG
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が嫌いなんです。
で、このような、コレクションからオブジェクトを検索するような方法が
全うなのかそうでないのかを教えてもらいたいのです。
もしもさ、もしも、きみなら、どんな風に書く?
0557r/556NGNG
>>556
訂正
boolean FugaSub1#isEqualsTo( Hoge hoge ) {
    return ( hoge instanceof HogeSub1 ) &&((HogeSub1)hoge).foo() == this.member;
}
かな。
0558デフォルトの名無しさんNGNG
BorderLayoutにJScrollPaneを載せてみたんですが
最初スクロールバーが出てる状態で、最大化するとスクロールバーが消えました。
また元の大きさに戻すとスクロールバーが出たんですが
マウスホイールが効かなくなってしまいました。なぜでしょうか?
0559デフォルトの名無しさんNGNG
>>556
そのListだかにHogeオブジェクトしか入ってないなら
Genericsで解決しそうな気がするよ

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

マウスホイールの方はもう少しヒントがないとわからんちん
勘で答えるとsetSizeで変なことやってるとか
フォーカスが変なことになってるとか、かな
0560デフォルトの名無しさんNGNG
Javaの入門書でオススメは何ですか?
知識ゼロからでも理解できて、最終的に自分でJavaプログラムを組めるようになるやつがいいでつ。
0561509NGNG
>>528の修正プログラムあてたけどダメでした。
不貞寝してやるわ。
0562509NGNG
>>560
本買う前に、この辺見てみなさい。
ttp://www5c.biglobe.ne.jp/~ecb/java/java00.html
ttp://www.mars.dti.ne.jp/~torao/program/
0563デフォルトの名無しさんNGNG
これから Java を学ぼうと思ってるんですが、Java の将来性ってどんなもんでしょう?
なんかもうすぐ消えるとの噂も聞きますが…

将来性がどうとかで学ぶのを辞める気はありませんけど、一応知っておきたいので…
0564デフォルトの名無しさんNGNG
2chでそんなこと聞いても偏った答えしか返ってこないんじゃない?
0565デフォルトの名無しさんNGNG
>>563
確かに、JAVAはもう駄目だろうね。
みんなもう分かってきてる。
今じゃもう完全にサーバサイド向けだって開き直ってしまったけど、
そのサーバサイドでも、意外と開発工数が掛かり効率が悪い事が
現場じゃ知られてきてしまったから、だんだん外の言語にシフトしつつある。
招来性は暗いね。
0566デフォルトの名無しさんNGNG
> 招来性は暗いね。
なんで こんなトコロで誤変換してんだろ?
0567デフォルトの名無しさんNGNG
>>563
一言で言えば、帯に短したすきに長しなんだよな。
JAVAって。
Webアプリケーション開発でも開発時間が思ったほど短縮できないから
意外と使われてなかったり、倦厭されてたりする。
何時の間にか自然消滅してる可能性は高いね。
これからJAVAを学習しても、せいぜいオブジェクト指向の理解にしか
役立たなかったて事になるかも。。。
0568デフォルトの名無しさんNGNG
つーか、JAVAの将来性が無いなんて、いろんな所で言われてるじゃん。
0569デフォルトの名無しさんNGNG
SEもマも将来性なんて無いんだから、言語なんて何やってたって同じだろ
0570デフォルトの名無しさんNGNG
一番将来性がなさそうなのは>>563でFA?
0571デフォルトの名無しさんNGNG
このスレのJavaの達人さんはどんな仕事をしてるんですか?
0572563NGNG
>>570
しょぼーん(´・ω・`)
0573デフォルトの名無しさんNGNG
Webアプリの開発メイン。
しかしJAVAで開発する事は少ない。
自分は、元々SUNのデザインが気に入らなかったのでいいが。。。
0574デフォルトの名無しさんNGNG
>>573
すごいですね〜。
僕みたいな素人には何の仕事か分からないけどw
0575デフォルトの名無しさんNGNG
Javaの起動オプションの-Dline.separator=設定がわからん。
-Dline.separator=\nとかやっても\nが表示されて改行されない。
おまえら、おしえれ

0576デフォルトの名無しさんNGNG
UNIXなら
$ java -Dline.separator=[Ctrl-V][Ctrl-J]
でどう?
0577デフォルトの名無しさんNGNG
アメリカでJAVAを使っているのですが、日本語が見れなくてかわりに 
□□□ と表示されます。誰か直し方知ってましたら教えてください。
初心者なのでできればわかりやすくお願いします
0578デフォルトの名無しさんNGNG
>>577
日本でVAIOでも買って使え
0579デフォルトの名無しさんNGNG
>>565
具体的に何がくる?
転職の参考にするからオシエレ
0580デフォルトの名無しさんNGNG
>>579
死滅スレからの出張に手を出すのやめれ
0581579NGNG
スマンコ
0582デフォルトの名無しさんNGNG
>>579
信長
0583デフォルトの名無しさんNGNG
>>578
え? 修復不可能?
0584デフォルトの名無しさんNGNG
>>583
>初心者なのでできればわかりやすくお願いします
0585デフォルトの名無しさんNGNG
>>584
まぁそういわれれば(笑)
質問スレなんだからいちいち初心者おちょくんなよ。

0586デフォルトの名無しさんNGNG
>>577
コンパネの「地域と言語のオプション」から日本語入れてもだめ?
0587デフォルトの名無しさんNGNG
//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
にならないのはなぜ?
0588デフォルトの名無しさんNGNG
>>587
"a+b+c="+a+b+c は ((("a+b+c="+a)+b)+c) と同じ。
0589587NGNG
>>588
即レス サンクス
0590デフォルトの名無しさんNGNG
アプレットの実行中に、appletviewerの再読込みと同じような動作をさせるには
どのようにすればいいのでしょうか?
「ボタンを押すとアプレットが再読込みされる」
というものを作りたいと思っています。
0591デフォルトの名無しさんNGNG
>>590 getAppletContext().showDocument()で開きなおしじゃだめなん?
0592デフォルトの名無しさんNGNG
>>587
面白い題材だね。
0593デフォルトの名無しさんNGNG
java.exeとjavaw.exeの違いはなんですか?
0594デフォルトの名無しさんNGNG
>593
AWTかSwingでアプリケーション作って(アプレットじゃあかんですよ)
それぞれで実行してみ。すぐ分かる。
0595デフォルトの名無しさんNGNG
javawはコンソールを使わないjava。
0596デフォルトの名無しさんNGNG
Object[]からHoge[]にキャストするにはどうすればいいんですか?
0597デフォルトの名無しさんNGNG
(Hoge[])array
ただし、array は Hoge もしくはサブクラスの配列のインスタンスを持っている必要がある。
0598r/556NGNG
>>559
Genericsは関係ないのでは
0599デフォルトの名無しさんNGNG
超初心者です。javaのジャも知りません。
このスレは初心者歓迎らしいので質問させていただきます。

あるホームページでExecutable Jar Fileとjavaバーチャルマシンというものを
ダウンロードしました。このマシンでファイルが実行できる(半導体材料の物性値,移動度の
キャリヤ濃度依存を様子がパラメータを変えつつ対数グラフで観察できる)のですが
このファイルに書かれている数式やプログラムが見たいときはどうすればいいのでしょうか。
メモ帳でみても漢字ばかりのものになってしまいます。
 
0600デフォルトの名無しさんNGNG
>>599
プログラム知らないなら見ても理解できないと思うが?
0601デフォルトの名無しさんNGNG
>599
必ずできますが基本的に無理です
0602デフォルトの名無しさんNGNG
>>599
ダウンロード元のホームページの作者に聞けよ。
0603575NGNG
>>576
すまん、Win
0604デフォルトの名無しさんNGNG
>600 プログラムというよりは数式が知りたいので。
   それがわかればigorで作れると思います。 
0605デフォルトの名無しさんNGNG
>>604
だからお前さんにゃプログラムから数式を読みとることができねーだろって。
ここは初心者歓迎かもしれんが、ド素人はお断りだ。
0606デフォルトの名無しさんNGNG
>>605
何を言ってるんだよ。
プログラム読めば数式くらい読み取れるに決まってるだろ。
>>599は、あかでみっくな人と見た。
んなくだらない野次入れる前に質問に素直に答えたらどうだ?
分からないのなら分からないって素直に言えばいいだろ。
ここはお前さんのみじめな現実の憂さ晴らしをする為に
ストレス解消スレッドじゃないんだよ。
他人を中傷したいだけなら外のスレッドに行ってくれ。
0607デフォルトの名無しさんNGNG
>>606
jad や jode みたいなデコンパイラ使え。
デコンパイラの使い方やどこでダウンロードできるかは google 使って自分で探せ。
0608デフォルトの名無しさんNGNG
>607
ありがとうございます。調べてみます。
 
0609デフォルトの名無しさんNGNG
>>606
>>605は>>599がJavaを知らないから、数式を読みとれないと言いたいのでは?
0610デフォルトの名無しさんNGNG
>>606
なんでお前は教えてあげなかったの?
0611606NGNG
うるさい。黙れ。クズどもが。
俺は天才だ。
0612デフォルトの名無しさんNGNG
というお話だったのサ。AA略
0613デフォルトの名無しさんNGNG
みんな仲がいいな。夫婦漫才みたいだ。
このスレ気に入ったよ。
0614デフォルトの名無しさんNGNG
>607
DJ java decompiler を使ってできました。ありがとうございました。
 普通に数式わかりました。
 
0615デフォルトの名無しさんNGNG
JTextField を継承して OriginalTextFieldを作成しています。

JComponent > JTextComponent > JTextField > OriginalTextField

こういう継承でJTextComponentのgetPreferredSize()を取得するには
どのようにすればよいのでしょうか。

super.super.getPreferredSize();

という方法ではうまくいかないようです。

どなたかお教え下さい。
宜しくお願いいたします。
0616デフォルトの名無しさんNGNG
JTextFieldとJTextComponentとJComponentの
getPreferredSize()は同じものなので、
普通にsuper.getPreferredSize()とするだけでいいです。
JAVAでは、スーパークラスより上を遡ってのメソッド呼び出しは
できません。
0617606NGNG
もう一度言う。
俺は天才だ。
0618デフォルトの名無しさんNGNG
> 616

やっぱりスーパークラスより上は無理なんですね。

JDK1.4ですがそれぞれ実装は違うんですよ。
一個上ではcolumnsの計算が追加されています。
(そこだけ変えようと考えていました)

とりあえず出来ないことが判ればOKです。
ありがとうございました。
0619デフォルトの名無しさんNGNG
>>618
columsの計算とはなんですか?
0620デフォルトの名無しさんNGNG
>619

文字数でサイズを計算する処理です。
JTextFieldの計算だと、LookAndFeelのせいか、文字数より若干切れることが
あるので、自分で実装しようとしてました。
0621デフォルトの名無しさんNGNG
文字数でサイズって……
FontMetrics.stringWidth()か、
SwingUtilities.computeStringWidth()
あたりを使うんじゃあ?
0622デフォルトの名無しさんNGNG
>>620
それは、もしかしてJTextFieldの先頭部分の文字が少し切れてしまう
(左側の部分が表示されない)という事ですか?
0623デフォルトの名無しさんNGNG
よくあるGUIで
上下の矢印(スクロールバーの矢印のやつ)があってそれをおすと
隣のラベルかなんかの中の数字が増えたり減ったりするやつ作りたいんですが
あれはどうやればいいんですか?リストでやろうとしたけど選択されないからイベントが拾えなかったです
0624デフォルトの名無しさんNGNG
>>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
0625デフォルトの名無しさんNGNG
うっひょぉ!そんながあったとは!ありがつお!
0626デフォルトの名無しさんNGNG
直接関係ないと思うんだけど、
FormタグSubmitで作られたボタンを感知・Pushしたり出来る?
0627デフォルトの名無しさんNGNG
無理
0628デフォルトの名無しさんNGNG
>>626
アプレットの話?
JavaScriptでイベントとらえられるなら
LiveConnectでアプレット側に伝えられる気がするけど
0629デフォルトの名無しさんNGNG
Java2SDKをインストしたけど、どうやってプログラムを
実行したらいいかわかりません。
助けてください・・・・ウィンドウズxpを使ってます。
0630デフォルトの名無しさんNGNG
アプレットでキーボードからの入力を受け付けようとしているのですが、
アプレット上にGUIのボタンがあるとそっちにフォーカスが合ってしまい、
キーボードからの入力が受け付けられません。
ボタンにフォーカスが合わないようにする方法はあるのでしょうか?
0631デフォルトの名無しさんNGNG
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
0632デフォルトの名無しさんNGNG
Javaのおすすめの入門書教えろ。
0633デフォルトの名無しさんNGNG
http://java.sun.com/docs/books/tutorial/download/tutorial.zip
0634デフォルトの名無しさんNGNG
木の走査法について
          ┌― C
           |
   ┌― B―┤
   |      |
   |     └― D
   |
A―┤
    |
    |     ┌― F
    |      |
   └― E―┤
           |
          └― G

という木があったとします。
これを、前順走査法に近い形で、
A→B→C→A→B→D→A→E→F→A→E→G
という形で走査したいのですが
うまく走査する方法ありますでしょうか。(できれば再帰を使って・・・。)
クラスの形はcompsiteパターンに似た形で以下のようになってます。(次レス)
0635デフォルトの名無しさんNGNG
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 );
   }
 }
}
続く・・
0636デフォルトの名無しさんNGNG
 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 );
 }

0637rNGNG
何のコードだ?
addNodeの引数は幾つだ。
Nodeって何だ。TreeがNodeなのか?
0638rNGNG
addNodeで、
tree.getChild() が null のとき、
tree に tree 自身を addChildするのはなんで?
0639634NGNG
>637
木のクラスです。
addNodeの引数は2つでした。
class Testの以下を訂正します。
誤:addNode( node );
正:addNode( root, node );
0640634NGNG
さらに訂正。
// これを木の最下層まで・・
の1行上
誤:node.addChild( tree );
正:node.addNode( top, tree );
ですた。

0641634NGNG
すいません。。
またまた修正。。

>638でおっしゃられてる部分。
tree.addChildではなく、
単に
addChildです。

誤:tree.addChild(tree);
正:addChild(tree);

0642634NGNG
修正した部分整理して再度貼り付けます。
 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 );
   }
 }
0643デフォルトの名無しさんNGNG
内部演算だけでもJTree使ったほうが楽じゃないか?
0644634NGNG
>643
画面とは関係のないところなので、どうでしょう。。
swing使ったこと無いのでなんともいえないのですが
何か楽なことがあるのでしょうか。
0645デフォルトの名無しさんNGNG
>>644
A→B→C→A→B→D→A→E→F→A→E→G
と、一度読んだノードを再度読むのは何故ですか?
0646デフォルトの名無しさんNGNG
>>644
すでにかれたコードなので自分で実装するよりバグが少ないだろうし安心感がある
といいたいところだが、再発明好きなら自分で実装するのもいいだろうね

実際のところ>>645のいうとおり、そういう変なアクセスの仕方はあまりしないのだけれども
0647デフォルトの名無しさんNGNG
>>644
テストするときに画面に出力して確実なチェックが入れれる
とか?
0648634NGNG
>645
業務的な仕様です・・。

>646-647
木構造自体はもう>634のコードでできているようなので
今回はJTreeは見送ります。また今度機会があったら調べてみます。
0649デフォルトの名無しさんNGNG
>>586
初心者で申し訳ないんだけど、JAVA Plug-in 1.4.2 ってのを使ってて、
コンパネには言語と環境という設定は見当たらないです。
不便に感じるのはゲームは日本語見れない時くらいなんだけど、
日本語化のやり方知ってたら教えてください。
0650rNGNG
だめだ!
俺がお手本の、完璧な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 );
}
0651デフォルトの名無しさんNGNG
JTreeで実装したほうが楽
というだけで使うメリットあるだろうて
ルートからのパスも問題なく取得できるしな
0652rNGNG
ほら。
コンパイルして試さないと、なんか変なコードになってしまっている。
全くコンパイル通る気配もないような。


まあ、何となく意図はわかったろ。
要は
1.Treeの全ノードを訪れるようなScannerをつくる、
2. それのサブクラスXXXXScannerは既に訪れたLeafには働きかけないようにする。
3. scanが終わったら、同じXXXXScannerを使って再scanする。
4. 全Leafを走査するまで、3を繰り返す
(つまり、XXXXScannerに、全Leafを走査したかどうかを調べる機能も必要だな)
0653rNGNG
とかおもったけど、それだと
A-B-C
A-B-D
A-B-E-F
A-B-F-G
って言う順番になっちゃうな。

ええっと、どういう順番に走査してるんだ?
そのルールを教えてくれ
>>634
0654デフォルトの名無しさんNGNG
>>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);
    }
  }
}
0655rNGNG
おっと!何となくわかったぞ。

1. Leafに到達するまで走査する(ただし、何のアクションもしない)
2. Leafに到達したら、ルートノードまで、逆順にたどる
 このとき、たどったノードを全部記録する
3. 記憶されたノードに、順に操作を適用する。

こんな風にしたいのか。そかそか。
0656rNGNG
とか、のんびり考えてたら
>>643から回答が。
0657634NGNG
レスされた内容に対して考えるとレスがおそくなりますな・・。

>654
二つ目の引数のListには何を渡すのですか?

>655
そうです。そんな感じ。

>656
結局JTreeになりますか。。もう木構造自体は出来ているので
これをJTreeに書き直すのは時間がかかりそう。。
0658デフォルトの名無しさんNGNG
>>657
最初の呼び出しは、
searchNode(top, new ArrayList());
で。
0659634NGNG
>654
おお!やっとわかった!!
そういうことですか!

うわすげぇな。こんなのぱっとかけちゃうもんなのか。。

みなさんありがとうです。

0660デフォルトの名無しさんNGNG
初めまして。
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などが怪しそうですが
運用環境ではその二つはなにも設定していないのに動作しています。
開発環境でなぜ動かないのかわかりません。

見落としている設定項目等思い当たることがありましたらご教授願います。
0661デフォルトの名無しさんNGNG
>>660
tools.jarにクラスパスとおしてね。javacの本体はその中に入ってるから。
もしくはJAVA_HOMEがJDKを指してれば自動的に探してくれると思うよ。
0662デフォルトの名無しさん NGNG
InputEventのgetModifiers()とgetModifiersEx()の違いは何ですか?JavaDocにはgetModifiers()の説明がないし分かりません。
戻り値となる定数もDOWNがつくかつかないかで数は一緒のようですし。
0663デフォルトの名無しさんNGNG
>>662
getModifiersEx()はJava1.4から。
getModifiers()は互換性を守るために残されてるんじゃないかな
1.4以上がターゲットならEx使えば良いかと
0664663NGNG
具体的な違いでいうと、マウスのどのボタンが押されたかの
検出ができるようになったんだっけ? > Ex
うろおぼえですまそ
まあ気にせずEx使おうよ>>662
0665デフォルトの名無しさん NGNG
>>663 >>664
どうもありがとう。
JavaDocのInputEventの最初の方になんか書いてありましたね。
まあExのほうを使えば大丈夫なんですね。
0666660NGNG
>>661
即レスありがとうございます。
ご指摘の通り、環境変数でtools.jarにCLASSPATHを通しましたが治りませんでした。

しかしtools.jarをMonitor Tomcatのダイアログで設定できる
CLASSPATHにtools.jarへのパスを追加したら治りました。

なぜ動かなかったのか原因不明ですが解決しました。
ありがとうございました。
0667665NGNG
>>665
間違った。
MouseEventのところに書いてあったか。
0668デフォルトの名無しさんNGNG
>>657
JTreeなんて1日で理解できるし
すべてのツリーのパス取得とかもさくっとできる

なにより標準APIなので後から追う場合(特に業務なら他人が見ることも多いだろうから)わかりやすい

デメリットはあんまないな
0669デフォルトの名無しさんNGNG
JTree ってGUIコンポーネントだから
「木構造」を扱うってだけの理由で使うのはアレだと思われ。
0670デフォルトの名無しさんNGNG
>>649
俺も初心者だけど・・・
JAVA Plug-in 1.4.2?JREのこと?
日本語入力できてるんだから、MS-IME入ってるんだよね?
「地域と言語のオプション」あると思うんだけどなあ。
そこにUnicode対応でないプログラムに使用する言語が設定できるから
そこを日本語にしてみてほしい。
あとはわかんないや。
0671デフォルトの名無しさんNGNG
>>669
ほとんどの部分はJTreeそのものではないのでさほど問題にならない
TreeNodeとかTreePathとかな

モデルとビューが分離してるからこそ使いやすいというか
0672デフォルトの名無しさんNGNG
>>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
0673デフォルトの名無しさんNGNG
なんでコレクションクラスにTreeがないんだろうね
0674デフォルトの名無しさんNGNG
無視かよ!
ただのつっこみです。
0675デフォルトの名無しさんNGNG
Exceptionをキャッチした時に

try{
なんかの処理
}catch(-----Exception e){
System.out.println(place + "で" + e + "が投げられました");
}

みたいなのをやりたいんですが、place(場所を保持している)みたいなのを
実現するにはどのような方法がありますでしょうか?
探してみたんですが、ピンポイントの情報が見つかりませんでした。
どなたか教えてください。よろしくおねがいします。
0676デフォルトの名無しさんNGNG
定数として配列使いたいのですが
class X{
final public static int[] A = {0, 1, 2};
}

しかし、これって順番変えようと思えば変えられるんですね。
確実に変えられないようにするアイデアありますか。
0677デフォルトの名無しさんNGNG
>>675
e.getStackTrace() して getLineNumber() とか
0678デフォルトの名無しさんNGNG
JTreeを使えっていっちゃわずにTreeModelを使えって言っておけば
Viewと関係ないModelだけの話になるからGUIとは無関係と言い張れる。
0679675NGNG
>>677
StackTraceElementのメソッドを使えば、クラス名からメソッド名までなんでも
わかるんですね。APIのリファレンスみたらわかりました。
こりゃすごい。早速使ってみます。
0680デフォルトの名無しさんNGNG
javaの解説サイトにある、javaからmysqlのデータベースの内容を表示させるプログラムを落としてきて、
記述通りにデータベースを登録してから実行したんですが、解説HPではデータベースに登録されていた名前とふりがなが表示されているのですが、
私のパソコンでは
SQLState: 28000
VendorError: 1045
と表示されます。
どなたか原因を教えてもらえないでしょうか?
0681デフォルトの名無しさんNGNG
age
0682デフォルトの名無しさんNGNG
>>676
Javaでは配列を不変にすることは無理。

対処法1.
メソッドにして毎回配列を返す。毎回配列をnewしてもいいし
内部でstaticに配列を持っておいて毎回cloneしてもいい。

対処法2.
リストで我慢する。リストならCollections.unmodifiableListで不変にできる。
5.0以降ならGenericsがあるんでリストで問題なかろう。

対処法3.
Enumで置き換えられないか検討する。
0683デフォルトの名無しさんNGNG
C++ではライブラリを公開するときにlibファイルとヘッダを配布すれば良かったのですが、
Javaではヘッダに相当する物がないので、
ソースファイルを丸ごと公開するしか無いのでしょうか?
0684rNGNG
>>683
クラスファイルとJavaDocで充分
0685デフォルトの名無しさんNGNG
>>682

ありがとうございます。

実は、私の件では、よくよく考えるとPublicな定数にするまでもないことでした。

設計をよく見直してそれでも配列を定数にする必要があるか考えるようにするほうがよかった
0686デフォルトの名無しさんNGNG
センター試験(1/15 AM9:30)までの日/時間/分/秒
のカウントダウンを置きたいのですが
調べてもその日付けまでのカウントダウンまでしか出てきません。
コードを貼っていただけないでしょうか。
0687デフォルトの名無しさんNGNG
それより勉強したほうがいいんじゃないかい?
0688デフォルトの名無しさんNGNG
足せよ。ばか
0689デフォルトの名無しさんNGNG
Vectorはスレッドセーフ、ArrayListは非スレッドセーフと聞きますが
これはつまりVectorのインスタンスに2スレッドが同時にアクセスすることは無いが
ArrayListのインスタンスには2スレッドが同時にアクセスし得る、ということですか?
Vectorクラスのインスタンスメソッドには全部synchronized修飾子が付いてるけど
ArrayListはそうじゃないからsynchronized(arrayList){}でくくれってことですか?
0690デフォルトの名無しさんNGNG
PERT図を図示したいんですけど、Swingのどれを使えばいいですか?
いいサンプル、またはアイデアがあったら教えてください。
ぐぐって1つ出てきたんですが、キャッシュにも残ってないし。
そのPERT図をPNGなどの画像に出力する方法もできれば・・・
0691デフォルトの名無しさんNGNG
>>689
Vectorもスレッドセーフじゃないから安心してArrayListを使え。
Vectorがスレッドセーフだと言ってる奴はただの馬鹿
0692デフォルトの名無しさんNGNG
>>691
コレクション操作が複数のスレッドから同時にアクセスされたら
おかしくなるのは当たり前

そういうことがないのが前提でもマルチスレッドだとArrayListは
同期化のコードがないと動作が保障されない

この差がVectorがスレッドセーフといってる部分だと思う
スレッドが異なれば変数の内容も異なる

SwingでVectorを多用しているのも別スレッドからのアクセスの容易さ
というのが多少は関係しているかと
Swingはスレッドが必ず作られて動くわけで

実際はSwingは1.1のオプションだったからというのが原因だと思うけどな
0693rNGNG
>>692
なんか、むかし
「クイックソートでは、ソートされない事がある、信用できないソートだ」
って主張してた人がいたのを思い出した。
0694691NGNG
>>692
0695691NGNG
>>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.

この違いは大きい
0696デフォルトの名無しさんNGNG
synchronizedの動作がわかっていれば>>692のいうことで十分わかるだろう。

おかしくなるというのはよくロック周りの話で、残高照会して実際に引き出す処理
と順次処理を排他制御せずに使用すると崩れるという意味ではないかな。
実際Vectorは同時にアクセスしてもそれぞれのメソッドでおかしくなることはない。

スレッドによる変数の不一致の同期化と排他制御という根本的にはまったく別の機構が
ともにsynchronizedという文を使うから紛らわしいのでは。
0697デフォルトの名無しさんNGNG
スレッドセーフではあるんでないかい?
ただ、実際に使う場合にはもっと大きな範囲で排他をかけないといけない、
というだけで。
0698デフォルトの名無しさんNGNG
>692 「複数のスレッドから同時にアクセス」と「同期化」
>696 「スレッドによる変数の不一致の同期化」と「排他制御」
なにやら2つの問題が絡んでいるんですね・・・
Vectorは「同時アクセス禁止」=「排他制御」だけサポートしていて
「同期化」はサポートしておらず、
ArrayListはどちらも自分でやらなければならない・・・ということかな・・・

違いがいまいちわからない俺はあの質問をするには幼すぎたようです
ありがとうございました
0699デフォルトの名無しさんNGNG
>Vectorは「同時アクセス禁止」=「排他制御」だけサポートしていて
>「同期化」はサポートしておらず、
あ、逆か・・・?
0700デフォルトの名無しさんNGNG
Vector は同期をとります。
0701デフォルトの名無しさんNGNG
>>698
その質問には意味がある。一番簡単な答えは
・Vectorはスレッドセーフではない。
・だから複数スレッドで共有されるVectorに対するひとまとまりの操作はsyncronizedブロックで囲まなければならない。
・それならArrayListを使っても同じ。Vectorを使う意味は無い。

もっと詳しく知りたい場合はここがよくまとまってる。
http://www-6.ibm.com/jp/developerworks/java/040409/j_j-jtp09263.html


個人的に一番重要だと思うのはここの部分
>明確なドキュメントが無いと、読み手はクラスのスレッド・セーフに関して誤った推測をしてしまうかもしれないのです。
>つまり、読み手はスレッド・セーフではないのにスレッド・セーフであると推測するかもしれませんし(これはかなりまずいことです!)
0702デフォルトの名無しさんNGNG
簡単に言えば、例えば複数スレッドからaddしたとき
Vectorだとちゃんとaddしたぶん足されるが
ArrayListだとaddしたはずのものがされないことがある
ってことだ。
0703デフォルトの名無しさんNGNG
>702
安全なのはadd(Object)だけでadd(int,Object)もremoveもsetもgetも安全ではないよ
0704デフォルトの名無しさんNGNG
>>703
ソース読んだことある?
0705703NGNG
>704
ちょっと言葉が足りなかった。
「ArrayIndexOutOfBoundsExceptionの発生を避ける方法が無い」ことも
「安全ではない」ことにする。
0706703NGNG
ソース読んだことは無いよ。読まなくてもそのぐらいわかる。
0707デフォルトの名無しさんNGNG
ソース飲んだことならあるぜ
0708デフォルトの名無しさんNGNG
ンースなら
0709デフォルトの名無しさんNGNG
ソースなら飲んだことならあるぜ?
0710デフォルトの名無しさんNGNG
ソース飲んで大丈夫か?
0711デフォルトの名無しさんNGNG
>>711
ウスターシャ風ソースではないと思われ。
0712デフォルトの名無しさんNGNG
藤○隊長率いる我ら探検隊は、ついに711に再帰の神秘を目撃した!!
0713デフォルトの名無しさんNGNG
ホワイトソース(のようなもの)なら飲んだことならあるぜ?
0714デフォルトの名無しさんNGNG
ヨーグルトのことだな
0715rNGNG
>>713
ハァハァ
0716デフォルトの名無しさんNGNG
シチューじゃね?
0717rNGNG
size() で取得した値が、それを用いて操作を行うときには、
もはや有効でないかもしれない、って事か。
なるほどね
0718デフォルトの名無しさんNGNG
つまりVectorについてスレッドセーフではないとかスレッドセーフであるとか
どちらも正しい意見なんだよ

まぁSwingがArrayListだったらスレッド理解してないやつが苦しむと思うので
あれはあれでいいし、ひとつのListに同時に書き込むことがななく、
複数のスレッドから参照だけされることが保障できれば別に使おうがいいんじゃね?

同じ問題がStringBuilderとStringBufferでもあるが、VectorやStringBufferは
必ずだめということにはならないわけさ

どのみち理解しないままマルチスレッドで動かせばはまるのは一緒だが
0719デフォルトの名無しさんNGNG
>>718
>どちらも正しい意見なんだよ
そりゃ言葉の定義の仕方によってはそういう見方もできる。

>>701を読んで、「完全なスレッドセーフでない」ものを「スレッドセーフである」と勘違いして
使うことがどれだけ危険か考えれ。

それが理解できれば「このクラスのインスタンスはスレッドセーフである」なんて
そう軽々しくは言えないはず。
0720デフォルトの名無しさんNGNG
ServiceUIのprintDialog(GraphicsConfiguration gc, int x, int y,
PrintService[] services, PrintService defaultService,
DocFlavor flavor, PrintRequestAttributeSet attributes)

のflavorにDocFlavor flavor = DocFlavor.STRING.TEXT_PLAIN;
したのをいれるとダイアログが表示されないんですけど何故でしょう?
0721720NGNG
自己解決しました
0722 NGNG
プロパティファイルをUnicodeではなく、sjisコードで読み込み、出力を
行う方法ってありますか?
0723デフォルトの名無しさんNGNG
>>722
> プロパティファイルをUnicodeではなく、sjisコードで読み込み、出力を

ttp://d.hatena.ne.jp/zwfk/20041020#1098262200
0724デフォルトの名無しさんNGNG
質問です。
javaからmysqlに文字列を登録したいのですが、プログラム中で文字列を指定するやり方しかわかりません。
下記プログラムで、String型のhakoに、文字列をいれ、
それを登録したいのですが、これだと+hako+と登録されてしまいます。
String hako;
hako="suzuki";
String sql_str = "INSERT INTO list (name,memo) VALUES (\'+hako+\',\'2nd tryial\')";
どうしたらいいのかどなたか教えていただけませんか?
0725デフォルトの名無しさんNGNG
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();
0726デフォルトの名無しさんNGNG
>>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\')";
0727724NGNG
>>725
回答ありがとうございます。
教えていただいたものに変換したら
java.sql.SQLException: Access denied for user:'root@localhost'(Using password: YES)
というエラーが出るようになってしまいました。
原因分かりますでしょうか??ユーザがrootでこのエラーが出たのは初めてで...
0728724NGNG
>>726
ほんとですか!?そんな簡単なことで...
>>725
>727に書いたエラーはプログラムのせいではないみたいですね...失礼しました。
なぜかいきなり出来なくなってしまった...
0729デフォルトの名無しさんNGNG
hako = "',''); DELETE ALL_DB; select ('";
0730724NGNG
>>729
どういう意味なんでしょうか...?
0731デフォルトの名無しさんNGNG
当方、現在C++を学んでいるのですが、
JAVAはネットワーク周りの制御に優れていると聞いたのですが、
学ぶべきでしょうか?

JAVAはAIにいいと聞くのですが、実際のところ如何でしょうか。
ロボットのAIはJAVAで書かれる事はありますか?
0732デフォルトの名無しさんNGNG
>JAVAはAIにいいと聞くのですが、実際のところ如何でしょうか。
使ったことないけどPrologじゃないの?
0733デフォルトの名無しさんNGNG
>>732
PrologがAI向きだなんていつの時代の話だよ・・・
0734デフォルトの名無しさんNGNG
やっぱLISP…なのか?
0735デフォルトの名無しさんNGNG
lainでもLISPだったしね
0736デフォルトの名無しさんNGNG
今までIDE上、OS上、共に正常に動作していたのに、IDEのデバッグ実行でしか動作せず、
OS上で単独実行では窓が開きません。ただ、強制終了ではなくタスクマネージャを見るとプロセスには載っています。
考えられる原因はあるでしょうか?
0737デフォルトの名無しさんNGNG
ちなみにCPU使用率も正常です。0除算などで止まってるのではないです。
パネルorフレームの初期化でまずってるのでしょうか。。
0738デフォルトの名無しさんNGNG
プリンタで印刷する為のかなり大きいBufferedImageを作って
Graphics2D.setFontとdrawStringで文字を描くのですが
そのままフォントをい11ポイント等にしても非常に小さく描画されてしまいます
これをdrawStringが任意のDPIで文字を描けるようにしたいのです
AffineTransform.setToScaleでdrawStringのDPIを拡大できるのは分かったのですが
元のDPIの分からず倍率も指定できないので手詰っています
何かやり方ないでしょうか?
0739デフォルトの名無しさんNGNG
>>736 とりあえず環境と簡単なソース晒したら?
0740738NGNG
自己レスですが英語サイト検索してたら英文能力的に確信は無いけど
Graphics2Dはデフォが72DPIらしいのでとりあえずはイケそうです
0741デフォルトの名無しさんNGNG
JTextPaneを使ってるのですが、select()でテキストの一部を選択しても
その部分の背景色が変わりません。
しかし、マウスドラッグで選択するアクション(JTextPaneに始めからついてる
アクション)だと背景色が変わります。
そして、その後だとselect()で背景色が変わるのです。
最初からselectで背景色が変わるようにするにはどうすればいいのでしょうか?
0742デフォルトの名無しさんNGNG
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を使ってタグを文字列として出力することはできないのでしょうか?

よろしくお願いします。
0743デフォルトの名無しさんNGNG
ログって DEBUG 全部が出力されるとパフォーマンスに響くけど、
INFO だけだといざ ERROR が出たとき情報不足。
そこで、DEBUG などのログを出力せずにキューに溜めておき、
ERROR が出たときに、さかのぼって過去のログも吐けるようなシステム無いでしょうか?
作ろうかと思いましたが、誰かはもう作ってそうな気がして。
0744690NGNG
スレ違いや情報不足なら言ってください。
>>690
0745デフォルトの名無しさんNGNG
>>744
Java2D勉強して自前で描画・・・のほうが楽かも
Swingならレイヤー勉強してみそ
0746690NGNG
そんな大ごとになるんですか?
レイヤー、マターリ調べてみます。
0747デフォルトの名無しさんNGNG
>>693
そりゃ、stable,unstableの話を勘違いしてるんだろうな。
新解釈に( ̄ー ̄)ニヤリ
0748デフォルトの名無しさんNGNG
>>746
Swingどうのこうのよりも、各ノードの位置決めのアルゴリズムの方が面倒なんじゃないかなぁ?
とりあえず、図に使うコンポーネント単位でJComponent派生して独自コンポーネント作っておいて
論理的に作図(配置レイアウト)しておいてそれをドカっと書いて(置いて)いくようにすれば
いいんでないの?それとデータモデルとレイアウトは分けておいたほうがいいな。

という一般的なことしか言えんですなぁ・・・
ちょっと問題が大きすぎてばくぜんとしか答えられない。
0749690NGNG
>>748
どうもありがとうございます。
各ノードに前のノードNOと後に続くノードNOを保持させる予定です。
Tree構造も考えたんですが、PERT図だと複数の親を持つこともあるのでだめ。
GUIは初めてなのであたふたしています。
シミュレーションをしようと思って、ついでだから図も出力できたらいいなと思って質問しました。

その前に風邪を治さないと。あわわわ。
0750デフォルトの名無しさんNGNG
JavaでCSV処理するのって、どうやるのがいいですか?
ぐぐれば、CSVのライブラリいろいろ見つかるけど、定番、っていうのはどれですか?
0751デフォルトの名無しさんNGNG
>>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の指摘のとおりノードの位置決めが面倒なので、
こういった既存のライブラリを使った方が楽だと思います。

他に、こういったライブラリをご存知の方がいたら、教えてもらえると助かります。
0752デフォルトの名無しさんNGNG
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);
  }

どうすれば、正しく表示されるようになりますか?
0753デフォルトの名無しさんNGNG
>>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
0754デフォルトの名無しさんNGNG
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 を改行含めて表現するにはどうしたらよいでしょうか?
0755デフォルトの名無しさんNGNG
>>752
そのBLOBのところには本当に文字が"euc-jp"で入っているのか?
DBの文字コードとは関係ないぞ。
0756752NGNG
>>755

DBの文字コードはEUCですが、明日確認して見ます。
今、環境がないので。

でもperl CGIでWEBに出力するときはEUCになっているので、多分EUCだと思います。

あと、問題解決とは関係ないですが、writeする長さをis.read()の戻り値にしないとダメですね。

753のググルは見たけど、解決の手がかりは見つかりませんでした。
0757デフォルトの名無しさんNGNG
>>756
euc-jpとsjisとjisとutf-8とutf-16beとutf-16leで試して全部だめだったら
DBに入れる時点で化けてるからあきらめれ。

あとReaderで包まずに、InputStreamから1byteずつ取り出して除いたらどうなってるかわかるだろ。
0758デフォルトの名無しさんNGNG
二次元配列に格納された要素を、他の二次元以上の
多次元配列に配列から配列へ要素を代入することはできますか。
0759デフォルトの名無しさんNGNG
>758
ループのネスト、隠し味にSystem.arraycopy()を使えばお望み通りに。
0760758NGNG
>>759
レスありがとうございます。
やってみます。
0761デフォルトの名無しさんNGNG
スレ違いな話題かもしんないけど、

個人的に「AWT/Swing コンポーネントクラス階層図」っての作ったのね。
だけどそこには堂々とネットで拾ってきた Duke の画像が入ってる。

やっぱりこのまま公開するのってまずい? 侵害?
0762デフォルトの名無しさんNGNG
>>738
BufferedImageへの描画自体にはDPI関係ないような...
>>741
repaint();がいるんじゃないだろうか、とか
>>742
見たことないMIME型だけど、あやしくない?
あとIEはMIME型無視して自動判定とかするんじゃなかったっけ
0763デフォルトの名無しさんNGNG
>>752
MySQL4.1は日本語周りがかなりやばい

JDBCでも同じで、今のままのドライバとかだと
executeUpdateとexecuteQueryとでnamesとcharactersetをかえないといけないようだ

4.0にもどせばすんなりいくかと
0764デフォルトの名無しさんNGNG
>>763
よく読め。BLOBだぞ
0765デフォルトの名無しさんNGNG
Binary Large OBject だっけ?
0766デフォルトの名無しさんNGNG
>>761
まずいと思う。あんまし有名にならなきゃ問題にならんかもしれないけど。
0767デフォルトの名無しさんNGNG
>>761
Dukeに目線でも入れとけばいいんちゃう?
と無責任なことを言ってみる
0768デフォルトの名無しさんNGNG
>>767
それって下手すると
当社の製品のイメージキャラクターを猥褻物のように扱って、
当社の製品のイメージ低下を云々とか言われる可能性が。
0769デフォルトの名無しさんNGNG
っつか、Dukeの目ってどこにあんだろ?
0770デフォルトの名無しさんNGNG
>>761
Sunに問い合わせて見るとか。

そういえば、Javacoなら幾らでも使えるらしいが、さて・・・
ってか思いっきしかぶってるな。
0771デフォルトの名無しさんNGNG
>>769
指だと思ってたあれは指じゃなくて目だったりして...
0772デフォルトの名無しさんNGNG
づけって著作権侵害だろ

Dukeというオリジナルをちょっといじったものでも著作権侵害になるんだよ
というか、この手の法律はもまいらの専門だろ
0773デフォルトの名無しさんNGNG
・・・専門
一気にこの発言自体の信頼性を低下させる言葉になってるな。
0774デフォルトの名無しさんNGNG
オリジナルに手を加えるのは改ざんなんとかにひっかかるんだぉ
0775sageNGNG
はじめまして 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足される」と理解していたのですが
この場合はなぜ結果が同じなのでしょうか?
0776デフォルトの名無しさんNGNG
>>775
4 行目を実行してから評価されるから。
http://www.y-adagio.com/public/standards/tr_javalang/14.doc.htm#45370
0777デフォルトの名無しさんNGNG
はじめまして。初心者です。
長方形の縦の長さと横の長さを入力して、周りの長さを求めるようなプログラムを書いています。

メインの方で
「(縦の長さと横の長さの読み込み)

/* 円のオブジェクト生成 */
Square square = new Square(tate,yoko);」

を書いて、計算をするクラスの方で
「class Square {


double (tate,yoko);

/*コンストラクタ (オブジェクト生成時(new)に実行される*/
Square (double tate,yoko) {
this.(tate,yoko) = (tate,yoko);

(以下計算式)
」
を書いたのですが、コンパイル時に「<identifier>がありません」というエラーが頻発します。
このエラーメッセージは、どういう意味なのでしょうか?
おそらく、二つの因数を下のSquareクラスに持ってくるとこで間違えている気がするのですが。。

初歩の初歩で躓いててだめぽなのですが、教えて頂けると助かります。
0778デフォルトの名無しさんNGNG
>>775
++iとかi++という式が評価された値は使ってないから。
0779デフォルトの名無しさんNGNG
>>777
Square (double tate,yoko) {
を
Square (double tate, double yoko) {
とすればOK
0780777NGNG
出来ました!
ありがとうございます。
0781デフォルトの名無しさんNGNG
SAXの仕様について質問です

SAXHandler.characters(char[] ch, int start, int length) throws SAXException {


このメソッドは、改行コードがあるたびに呼び出される、
そういう仕様になっているものなのでしょうか。

それとも、パーサ毎に呼び出されるタイミングは異なったりしますか。
0782デフォルトの名無しさんNGNG
>>775
混乱していると思うが、君の文に出てくる「評価」とは
Javaの「1文」の中での評価順番だ。
for の終了判定は、i++ もしくは ++i が行われた後に行われる。
よって終了判定の評価文中ではどちらの場合も同じiの値によって評価される。
0783U ◆CZtFsGiu0c NGNG
>>781
JAXPにはSAXHandlerというクラスはないのですが、それは何に含まれているクラス
ですか? ContentHandlerインタフェースやその実装クラスと混同していませんか?
0784775NGNG
>>776
>>778
>>783
for文の理解が不足していました
アドバイスありがとうございました
0785775NGNG
↑
すみません間違いです
>>776
>>778
>>782
ありがとうございました
0786デフォルトの名無しさんNGNG
>>784
for文の理解じゃないところが不足していたわけだが。
0787デフォルトの名無しさんNGNG
PrinterJob のpageDialogを任意の場所に表示させる事は可能ですか?
可能ならやり方を教えて下さい。
0788デフォルトの名無しさんNGNG
すみません、質問です。

import(javax.servlet.jsp.tagext.IterationTag) しているクラスの元ファイル(*.jar)ってどうやってわかるのでしょうか。


よろしくお願いします。



お詫び
間違ってプログラマーのJAVA質問に書いちまった…
マルチポストと疑われるといやだなぁ。
0789デフォルトの名無しさんNGNG
importはソース中で名前が省略できるだけだが。
クラスの場所は、クラスのFQNに「.class」をつけたリソースを取得して、そのパスを見てみればわかる。
0790デフォルトの名無しさんNGNG
ArrayListでremoveを使って大量にインスタンスを消したときって、バグりませんか?
これJavaのバグだと思うんですが。。。

1.500個ほどの要素を含んだArrayListのオブジェクトを作る

2.removeメソッドで要素をいくつか消してみる。

3.次にArrayListのオブジェクトをfor文などを使って1から最後まで表示する

4.データが歯抜けになってる(一部の要素が無い)

5.次に3と同じ事をしてみると大丈夫(復活している)。
0791デフォルトの名無しさんNGNG
質問なんですが、

ArrayList lst = new ArrayList();
Object obj = new Object();
lst.add(obj);

のようにArrayListに加えた某オブジェクトのインスタンスがあったとして、その後

lst.remove(i);

のようにArrayListから取り除くと、そのときオブジェクトも自動的に解放されますか?
0792788NGNG
>>789
返信ありがとうございます。

ただ書いてあることがわかりませんでした。
1)FQNって何でしょう
2)リソースを取得して、そのパスを見てみればわかる。


というか、私の質問の書き方がいけなかったのです。
最終的に何が知りたかったかというと、PGの中で javax.servlet.jsp.tagext.IterationTag を
使っているのですが、クラスパスが通っていなくてコンパイルエラーしていました。
で、クラスパスを通すためのファイル(ディレクトリだと反応しません)が知りたかったのです。
まことに申し訳ないです。


で、原始的な方法で自己解決いたしました。

秀丸のgrepで javax.servlet.jsp.tagext を検索
引っかかったjarファイルをクラスライブラリに登録

無事コンパイルできました。

ヘタレですみませんでした。
0793U ◆CZtFsGiu0c NGNG
>>791
リストから削除したオブジェクトが他から参照されていなければ、ガベージコレク
ションの対象になる。
0794デフォルトの名無しさんNGNG
>>791
あなたのすぐ上のレスでArrayListの質問をしてるものです。

objが残るかということでしょうか。
もしobjが局所的な変数で扱われているなら、参照を抜けた時に
ガーベッジコレクションに入ると思いますよ。
もちろんこの場合も参照がなくなりますので消えるんじゃないでしょうか。
0795デフォルトの名無しさんNGNG
>>793
書くのが遅かったので同じ内容書いてしまいました。すいません。
0796791NGNG
>>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クラスのデストラクタが
呼ばれるまで解放されない、ということでよろしいでしょうか?
0797デフォルトの名無しさんNGNG
|  for (int i=0;i<3;i++){
|  lst.remove(i);

lst.remove(0)とした瞬間に、いままでlst.elementAt(1)だったものがlst.elementAt(0)になってるということは理解してますか?
0798デフォルトの名無しさんNGNG
Listだから、elementAtじゃなくてgetか。
0799U ◆CZtFsGiu0c NGNG
>>796
Javaにデストラクタはないけど、大体その理解でいいと思う。
0800デフォルトの名無しさんNGNG
>>790みたいなわかりやすい挙動って「おまえのバグだろゴルァ」なわけだが。
0801791NGNG
>>797
あ、理解してます。typoだと思ってください。

>>799
サンクス。ガベージコレクションのルール、わかってきました。
デストラクタがない、というのも感覚的には理解したつもりです。
ちょっと気持ち悪いけど。
0802デフォルトの名無しさんNGNG
>>800
冷静になるとその通りですね。
切羽詰るとJavaのバグだって思いたくなる人間なんですよ。私は。
本当はあの部分は複雑なんですが、しかし時間をかけて処理を辿っても
間違っているようには思えないんです。
1時間考えても分かりませんでした。自分で書いたコードなのに・・・
0803デフォルトの名無しさんNGNG
>>802
スレッドとか使ってます?
0804デフォルトの名無しさんNGNG
>>803
それかもしれませんね。別のところからスレッドが来ていたこと
忘れてました。ありがとうございました!
0805U ◆CZtFsGiu0c NGNG
>>801
気持ちはわかる。俺も最初気持ち悪かったけど、慣れるとホントらくちん。
0806デフォルトの名無しさんNGNG
//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
ってエラー・・・
原因がさっぱりわかりません
0807デフォルトの名無しさんNGNG
>>806
static
0808デフォルトの名無しさんNGNG
>>806

public void main(String[] args){
}
ではなく
public static void main(String[] args){
}
です。mainメソッドはクラスメソッド(static)でないといけません。
0809806NGNG
>>807
あはは
ぼけてました
ありがとう
0810752NGNG
すいません、解決しました。

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"));
で上手くいきました
0811デフォルトの名無しさんNGNG
String[] s = {"/bin/sh", "-c", "telnet localhost"};

外部コマンドを呼び出したいとき、"telnet localhost"と書かずに、例えば
host.get(0)がlocalhostでtelnet host.get(0)みたいに記述して実行したいのですが、
何かうまい方法はないでしょうか?当然"telnet host.get(0)"ではうまくいかないので
困っています。
0812デフォルトの名無しさんNGNG
String[] s = {"/bin/sh", "-c", (String) host.get(0)};
0813デフォルトの名無しさんNGNG
あの、RMIってコネクションを張った後だったらNATとかファイヤーウォールの上
越えられるの(HTTPSとかHTTP使って)?そういう機能ある?
誰かエロイ人教えてけろ orz
0814デフォルトの名無しさんNGNG
787のPrinterJob.pageDialog(PageFormat)のダイアログは任意の場所は無理ですか?
0815デフォルトの名無しさんNGNG
>>813
小柳RMI子
0816デフォルトの名無しさんNGNG
http://java.sun.com/j2se/1.5.0/ja/download.html
↑からJ2SEのダウンロードをしようとしたら、僕の環境ではswsdlcuat.central.sun.com
の名前解決ができずに落とせません。
ほっとけばその内に解決するのでしょうが、今欲しい、直ぐ欲しい、
なので代替方法かswsdlcuat.central.sun.comのIPアドレスを教えてください。
0817デフォルトの名無しさんNGNG
127.0.0.1
0818デフォルトの名無しさんNGNG
>>816
英語の案内から落としてくればOK。バイナリはおんなじ。
0819& ◆Z7wvpm7/W6 NGNG
>>818
ありがとう。
NetBeansはいらないし、英語サイトは同じものかどうかわからないしで躊躇してました。
0820デフォルトの名無しさんNGNG
かなり初歩的な質問で申し訳ないんですが・・・
fqnというのはなんの事なんでしょうか?
検索しても意外と見つからなかったので・・・
0821デフォルトの名無しさんNGNG
>>802
>1時間考えても分かりませんでした。

このボケ、1時間程度で何言ってんの?
0822デフォルトの名無しさんNGNG
>>804
すぐ上でArrayListとVecotrの話がでてるっちゅーに
0823デフォルトの名無しさんNGNG
>>820
FQN=Fully Quantified Name
要するに Object じゃなくてパッケージ名を含めた java.lang.Object みたいな名前。
0824デフォルトの名無しさんNGNG
こういうのをみるとVectorのほうがおこちゃまにはやさしいという気がする
0825デフォルトの名無しさんNGNG
>>820
Fully Qualified Name
0826820NGNG
ああ、なるほど!
ありがとうございました!
0827デフォルトの名無しさんNGNG
>>813
RMI over IIOP ってもんがある。そしてIIOPのHTTPトンネルって実装もあるから
理論的にはできそうな気がするが、やったことないのでどんな問題があるのかも
分からん。つか、コネクション張った後ってファイアウォールとか居たらそもそも
コネクションの確立はできんだろ。
0828デフォルトの名無しさんNGNG
>>813
ファイヤウォール越えたいならSOAPでも使っとけ。
0829デフォルトの名無しさんNGNG
FQNが検索で出てこないというのも問題だと思うけどね。
FQN+Javaでぐぐれば一番最初の検索結果のタイトルにFullyQualifiedNameと書いてあるわけだし、日本語ページに限っても最初の一覧に「完全限定名(fqn)」という記述はあるわけだし。
0830デフォルトの名無しさんNGNG
SDKとREはなにが違うんですか?
0831デフォルトの名無しさんNGNG
Enumerationの連結リストと、自前で作った連結リストどっちが早い?
0832デフォルトの名無しさんNGNG
> Enumerationの連結リスト
?
0833デフォルトの名無しさんNGNG
public class Simple {
public void method(){}
}

class Si {
Simple s = new Simple();
s.method();
}

コンパイルエラーとなります。
どうしてでしょうか?
0834デフォルトの名無しさんNGNG
>>833
> s.method();
式文はメソッド、コンストラクタ、静的初期化子、インスタンス初期化子以外の場所で使えない。
0835デフォルトの名無しさんNGNG
>>830
SDKは、すーぱーだいなみっくきらーで
REは、れいんぼーえなじー
なのです。

>>833
萌えが足りません。
0836833NGNG
>>834
ありがとうございました!
0837デフォルトの名無しさんNGNG
iアプリにてなんですが、
panel型のcomponentActionで複数Labelのテキストを変更すると
どうしても描画に差が出てしまします。
どうしたらよいでしょうか?
Canvas型のlockのようなものはないのでしょうか?
0838デフォルトの名無しさんNGNG
Java って、C の enum みたいなものってないの?

final int A = 0;
final int B = 1;
final int C = 2;

なんて書いていくのは、激しく面倒くさいんだけど。
0839デフォルトの名無しさんNGNG
あります
0840デフォルトの名無しさんNGNG
>>838
JDK5.0以降で追加された。
0841838NGNG
>>840
へー。ありがとう。
0842デフォルトの名無しさんNGNG
1.0 -> Java
1.2 -> Java2 1.2
1.3 -> Java2 1.3
1.4 -> Java2 1.4
1.5 -> Java5 1.5
でよいのだろうか。
0843デフォルトの名無しさんNGNG
>>842
> 1.5 -> Java5 1.5
Java2のまま。

あと、1.1 が抜けてる。
0844デフォルトの名無しさんNGNG
現在Java5.0のJDKがダウンロードできないのですけど、どうなったのでしょうか?
0845デフォルトの名無しさんNGNG
>>814
無理じゃない?使ったこと無いからわからんけど
javax.print.ServiceUIのprintDialogなら可能そう
0846デフォルトの名無しさんNGNG
javaってCみたいにprintf("%4d", &a)とかいう感じの
列を設定しての右詰ってできますか?
0847デフォルトの名無しさんNGNG
>>846
1.5で追加された。
0848デフォルトの名無しさんNGNG
System.out.printf("%4d", a);
0849デフォルトの名無しさんNGNG
 あの、今Permissionクラスについて調べていて、リモートからダウンロードした
クラスのクラスローダーによる実行に制限をかけようと思っています。
 なんですが、可能とするパーミッションを設定するという仕様のせいで(不可能な
パーミッションを設定するほうが使いやすい場合もある気がするのだが)、すごいたくさん
パーミッションを設定しなくてはいけないようなのです。
 そこで、どなたか何をするか分からないクラスを実行させるのにパーミッション
を設定した事があるという方がいたら、ソースをどこかへアップしていただけないで
しょうか?参考にしたいので。クレクレ房と言われてしまいそうですが、よろしくおねがいします。

ttp://www.ipa.go.jp/security/awareness/vendor/programming/a03_01_main.html
ちなみに上のような処理を禁止したいと思っています。

どのパーミッションを設定したかだけで結構ですので。orz

0850デフォルトの名無しさんNGNG
>>849
クレクレ房
0851デフォルトの名無しさんNGNG
syncronized Dopyu sikosiko(Stick myStick) {
   myStick = _sakura.getSakura();
   return myStick.getSeisi();
}
0852デフォルトの名無しさんNGNG
>>851
二行目でぬるぽ
0853デフォルトの名無しさんNGNG
タイマータスククラス(とういかクラスの扱いそのもの?)について質問です。

10秒毎にタスクを実行し、また自分自身でスケジューリングするプログラムを作成中です。

一応動いてはいるのですが、一番下の部分が怪しいです。
毎回newする必要はないと思うのです。

sTimer.schedule(this, d);
でもシンタックスエラーにはなりませんが、エラーとなり動作はしません。

毎回newしても良いものなんでしょうか?
そうでなければ、自分自身のクラスを指定するにはどうしたらよいのでしょうか?
0854853NGNG
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); //タイマーをセット
~~~~~~~~~~~~~~~~~~~~~~~~
}
}
0855デフォルトの名無しさんNGNG
自分自身を指定するにはthisを使います。
なおタイマーを動作させるコード (run メソッドを呼ぶところ) はちゃんと書いてますか?
0856 ◆wGnlzRYJz. NGNG
ぬるぽするとガッされるのはお約束だそうですが、
何故叩かれるのがお約束になったのですか?
もしご存知の方がいらっしゃったらおしえてください。
0857デフォルトの名無しさんNGNG
ttp://www.asahi-net.or.jp/~nk9i-onk/nullpo/textbook/text1.html
0858デフォルトの名無しさんNGNG
>ポインターの参照先の変数がNullだったときに発生する例外のこと。
>CPUの負荷などによって再現性なくこの例外が発生することがある。

誰か突っ込んでやれよ
0859デフォルトの名無しさんNGNG
漏れがつっこんでやる!

Nullじゃない、nullだ!!
0860デフォルトの名無しさんNGNG
null や true や false って
予約語なんですか?
0861デフォルトの名無しさんNGNG
>>860
Javaの予約語は47種類+null,true,falseの3つで合計50個
0862デフォルトの名無しさんNGNG
>再現性なくこの例外が発生することがある。
プログラムの作りがヘタレなだけだと思う。
0863デフォルトの名無しさんNGNG
切りがいいな。
0864デフォルトの名無しさんNGNG
> Javaの予約語は47種類
47種類なのはJLS1st。
JLS2ndではstrictが増えて48。
今はassertやenumが増えてるからもっと多い。
0865デフォルトの名無しさんNGNG
>>860
http://www.y-adagio.com/public/standards/tr_javalang2/lexical.doc.html#229308
> true及びfalseはキーワードと考えることができるが,
> 文法的に厳密に考えて論理値リテラル(3.10.3)とする。
> 同様に,nullもキーワードと考えることができるが,
> 文法的に厳密に考えてnullリテラル(3.10.7)とする。
0866デフォルトの名無しさんNGNG
質問です
Javaでマルチスレッドで処理するのと
シングルスレッドで処理するのでは
一般的にどちらが処理速度が速いですか?
0867デフォルトの名無しさんNGNG
>>866
処理内容による。
0868853NGNG
>>855

ご返答ありがとうございます。

タイマーの生成はmain関数から行ってます。

Timer sTimer = new Timer();
new tTask(sTimer).setTimer();//タイマーセット

runメソッドはタイマーで自動で起動されるので呼んでいません。
そこも書く必要があるのでしょうか。
0869 NGNG
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を立ち上げる事ができません。
どこらへんに問題があるのでしょうか?
0870デフォルトの名無しさんNGNG
> The JAVA_HOME environment variable is not defined correctly
環境変数JAVA_HOMEが正しくないと怒られているようだが。
0871デフォルトの名無しさんNGNG
>>869
TomcatのReadmeとかリリースノートは見たのか?
バージョン5.5.x はJDK/JRE1.5以降が対応だぞ。
J2SE1.4 JRE以降を使う場合の対応策もドキュメントに書いてある。

個人的には、そんなところでつまづくような奴がalphaバージョンの製品なんて使うな、と言いたい。
0872デフォルトの名無しさんNGNG
>>871
まあまあ落ち着いて。
alphaバージョンが何たるものかもわかってないかもしれないよ。
0873デフォルトの名無しさんNGNG
(`・ω・´)
0874デフォルトの名無しさんNGNG
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)
0875874NGNG
>>874に追加で、IE6.0で表示されなかったのですが、
Netscape 7.1では表示されました。自分のPCの調子が悪いのでしょうか...
どなたか原因を教えて下さいm(_ _)m
0876デフォルトの名無しさんNGNG
よくわからんが、setColorするもんじゃないのか?
0877デフォルトの名無しさんNGNG
JTextPaneに罫線文字を挿入すると縦方向に隙間ができるのですが(Win2k)、
これを発生させないような対処法はありますでしょうか?

方形なjava.awt.Fontが取得できればいいと思ったのですが、Monospacedなどと指定しても
縦方向が長い字形になってしまうようです。
0878デフォルトの名無しさんNGNG
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);

配列はこのように定義しています。
0879デフォルトの名無しさんNGNG
質問です。
前回も同じような質問して、原始的な方法で解決したのですが、今回だめだったので書かせてもらいました。

ソースの中で javax.mail.… をインポートしていますが、その元となるファイルがわからないので、
クラスパスに設定しようがありません。
(たとえばservlet.jarだと %CATALINA_HOME%\common\lib\servlet.jar をクラスパスに追加)
どのようなファイル(もしくはクラスパスの場所)なのか教えてください。

OS: Windows2000
Tomcat 5.0
Apache 2.0
J2EE 1.4


なにか書き足りないことがあればご指摘お願いします。
0880デフォルトの名無しさんNGNG
JAVAで異種リストというか異種配列というかどうやって作るんですか?
例えば IAnimalという抽象クラスがあり それから派生した CDog、CCatがあり
C++でいう
IAnimal *p[2]; p[0]=new CDog(); p[1]=new CCat();
みたいな事を行いたいのですが JAVAだとポインタが無いので
やり方がわかりません
0881デフォルトの名無しさんNGNG
Javaには「アドレスべったりな」ポインタはないが、Pascalにあるような
意味でのポインタ(参照という。C++の参照とは意味が若干違う)はある。
というかObjectは全部参照だ。

IAnimal[] animals = new IAnimal[2];
amimals[0] = new Dog();
aminals[1] = new Cat();
でOK。
0882デフォルトの名無しさんNGNG
>>879
クラス名からjarファイルを検索するサービス
http://www.jarhoo.com/
0883デフォルトの名無しさんNGNG
Javaである文字列中の「\」を別の文字に変換しようと
しているんですが、どうも上手くいきません。
もちろん、「\」を引数に入れるときは'\\'や"\\"のように
記述しています。

replace(char oldChar, char newChar)メソッドを使うと
変換されないままになってしまい、replaceAll
(String regex, String replacement)メソッドを使うと、
「java.util.regex.PatternSyntaxException:
Unexpected internal error near index 1\」が出てしまいます。
0884デフォルトの名無しさんNGNG
>>879
%CATALINA_HOME%\common\lib\mail.jar

Tomcatのバージョン(というか配布版の種類)によっては無いので、
無かったらSunのサイトからJavaMailを検索してライブラリをダウンロード。
(5.0系は標準で含まれていなかったような希ガス)
0885デフォルトの名無しさんNGNG
>>878
JAVA3Dのことはよくわからんけど、
ColorInterpolator ci = new ColorInterpolator(alpha, target,
のtargetをvertexにすればいいんでないの?
0886デフォルトの名無しさんNGNG
>>881
さっそくサンクス
abstructクラスをnew出来るんでつね 驚きました。
0887デフォルトの名無しさんNGNG
>>883
もしかして、text.replace('\\', 'A'); としてないですか?
もしそうなら、 text=text.replace('\\', 'A'); こうすればOKです。
0888デフォルトの名無しさんNGNG
要素のクラスと配列それ自身のクラスはそれぞれ別。
ここでnewしているのは配列クラスのほうであって、
abstractクラスであるIAnimalではありません。
0889883NGNG
>>887
ありがとうございました。

何でこんな単純なミスに気付かなかったんだろうか orz
俺がよくやるミスだった。
0890879NGNG
>>882
おお、こんなサイトあるなんて!
感激です。
次回から同じような内容で質問せずに済みそうです。

>>884
そんなあたりまえのところに…
と思ったのですが、書かれているように標準では含まれていないようです。
検索しましたが見つかりませんでした。
これからSunのサイトにいってダウンします。



>>882さん
>>884さん
貴重な情報をありがとうございました!
0891デフォルトの名無しさんNGNG
UDPパケットを受信するために使うクラスって何がありますか?
ServerSocketはTCP専用でしょうか?
0892デフォルトの名無しさんNGNG
質問です。

if(String a は数値か?)
  int b = String a を数値に変換;
else
  int b = 10;

こんなことをしたいのですが、
 String a は数値か?
 String a を数値に変換
の部分はどのように書けばよいのでしょうか?
0893892NGNG
int型だけでなく、double型にも対応させたいです。
よろしくお願いします。
0894デフォルトの名無しさんNGNG
>>892
if(a.matches("[0-9]+")){
  int b = Integer.parseInt(a); ← これは覚えておいて損は無いです。
} else {
  int b = 10;
}

こんなんどうですか?Stringクラスのmatchesメソッドを使ってます
0895デフォルトの名無しさんNGNG
>>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;
}

試してないので上手くいくかは分かりません。
0896デフォルトの名無しさんNGNG
try {
  int b = Integer.parseInt(a);
} catch(Exception e){
  int b = 10;
}
0897デフォルトの名無しさんNGNG
OOP的にはこうじゃね?違うか?自信無い。

int i;
try{
 i = Integer.parseInt(a)
} catch(NumberFormatException nfe){
 i = 10;
}
0898デフォルトの名無しさんNGNG
>>895
ちょっと訂正。
if(a.maches("[0-9]{0,1}.[0-9]+")) ← [0,1]ではなく{0,1}でした。
0899デフォルトの名無しさんNGNG
>>897
intはいけそうですが、doubleが入らないかもしれません。
0900デフォルトの名無しさんNGNG
>>898
すいません。またまた訂正します。
machesではんく matchesです。いつもこの単語を間違ってしまう。。。
0901デフォルトの名無しさんNGNG
int i;
double d;
try{
 if (a.indexOf(".")>=0){
  d = Double.parseDouble(a);
 } else {
  i = Integer.parseInt(a);
 }
} catch(NumberFormatException nfe){
 i = 10;
}
0902デフォルトの名無しさんNGNG
// 無駄に贅沢してみるバージョン
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 );
}
}
}
}
0903デフォルトの名無しさんNGNG
// 実は俺もなんか作ってたバージョン
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("解析失敗");
  }
 }
}
0904デフォルトの名無しさんNGNG
>>897
オブジェクト指向であることは全然関係ねーなオイ
0905デフォルトの名無しさんNGNG
perlの正規表現で
/^Cpu: (.*)/
$Cpu = $1;
でCpu:以下を取り出すようなことをJAVAでも行いたいのですが、ご教授頂ければうれしいです。
0906デフォルトの名無しさんNGNG
>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 + "]");
}
}
}
}
0907デフォルトの名無しさんNGNG
ファイルを選択したりするFileDialogクラスみたいに、
ディレクトリを選択できるDirectoryDialogクラス
みたいなものってないんでしょうか。
0908デフォルトの名無しさんNGNG
大阪(西梅田)、新宿(JR駅前)のそれぞれ一等地に
拠点を構え、業績急上昇中!未経験者大募集中!の
ソフトウェア開発会社
グリーンシステムを応援するHPです。
http://www.geocities.jp/grs_hp/

応援するスレはこちら!
http://school4.2ch.net/test/read.cgi/job/1077432387/

最高の会社にするため、みんな頑張ってます!

0909デフォルトの名無しさんNGNG
>>891
DatagramSocket#receive()
0910デフォルトの名無しさんNGNG
int 型の変数1つで 32 ビット消費しますよね?
long 型のサイズは 64 ビットですよね?

じゃあ boolean 型のサイズっていくつなんですか? 1 ビット?
でも実際本当にメモリを確保した場合には 1 バイト分確保されますよね?
(そもそも論理型のサイズって言語仕様で定義されてましたっけ?)
0911デフォルトの名無しさんNGNG
> でも実際本当にメモリを確保した場合には 1 バイト分確保されますよね?
JVM仕様とかを読め。

> (そもそも論理型のサイズって言語仕様で定義されてましたっけ?)
されてない。
っつーか、そもそも int が実メモリ上で必ず32ビットでなければならない、
なんて事は言語仕様では決められてない。
0912デフォルトの名無しさんNGNG
>>907
JFileChooserで、
setFileSelectionMode(JFileChooser.DIRECTORIES_ONRY)
とすれば、ディレクトリだけが表示されるダイアログになる。
0913デフォルトの名無しさんNGNG
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;
}

0914デフォルトの名無しさんNGNG
上の続き
//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();
}
0915デフォルトの名無しさんNGNG
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;
}
}
0916デフォルトの名無しさんNGNG
☆使う時(だいたいこんな感じ)
//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日調べてみましたが、お手あげになってしまったのでどなたかご教授下さい。目的が達成できれば他の方法でも構いません。
よろしくおねがいします。




0917デフォルトの名無しさんNGNG
すいません、エラーのでるのはreadObjectのところでした。
0918コピペ推奨NGNG
新宿区・信濃町でカメラ撮影をすると、カルト信者が尾行を始める
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
0919デフォルトの名無しさんNGNG
質問させてください。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上で実行すると上手くいくんですがね...
0920デフォルトの名無しさんNGNG
どんな設定になってるのかが大切なのに、設定ファイルを示さないところが敗因じゃね?
0921919NGNG
>>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>
0922919(つづき)NGNG
<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>
0923デフォルトの名無しさんNGNG
二次元配列 array を次のように定義する。

 int array[ ][ ] = { { 1 } , { 2 , 3 , 4 } , { 5 , 6 } };

array の全要素の値を表示するプログラムを作成しなさい。

【条件】

・配列要素の値の表示には、ネストしたfor文(for文の二重ループ)を使用する。また、各for文の継続条件には「length」を使用すること。
・プログラム実行時の画面表示
 
1
234
56
0924デフォルトの名無しさんNGNG
>>923
宿題は宿題スレで。

Java!宿題!
http://pc5.2ch.net/test/read.cgi/tech/1096959843/l50
0925デフォルトの名無しさんNGNG
>>913-916
クラスローダーのレベルだけでそういうようなことやるより、
セキュリティマネージャーとURLClassLoaderの併せ技のほうがたぶん楽。
0926デフォルトの名無しさんNGNG
>>923
ってか「【条件】」書いてある通りに書けばいい罠w
0927デフォルトの名無しさんNGNG
>>926
それができたら宿題スレとこのスレを間違えるわけ無いだろ
0928デフォルトの名無しさんNGNG
アプレット時、jarにするとき何か注意ありますかね?
jarにしたとたん動かなくなる。

testディレクトリに全部詰め込んで、
jar cvf test.jar test

HTMLにアプレットタグ
<applet code=test.class archive="test.jar" width=480 height=480>
</applet>

いったい何が悪いのか・・・・。
0929デフォルトの名無しさんNGNG
cd test
jar cf test.jar *
じゃない?
0930デフォルトの名無しさんNGNG
>>929
ありがとうございます。
解決しました♪
0931879NGNG
また質問させてください。

クラスパスの設定はディレクトリ指定だとだめなのでしょうか?
%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
0932デフォルトの名無しさんNGNG
>>931
ttp://java.sun.com/j2se/1.4/ja/docs/ja/tooldocs/win32/classpath.html
0933デフォルトの名無しさんNGNG
>>931
Jarファイルは、クラスパス上ではディレクトリ相当の扱いとなるので
そのJarファイルを包括するディレクトリをクラスパスに指定しても
ディレクトリとパッケージディレクトリの間に、jarファイル名の
ディレクトリが存在する事になるので、パッケージディレクトリに
アクセスできなくなる。
0934879NGNG
>>932さん
>>933さん
ありがとうございました。

「classpath 設定」とか色々とググっても情報がでないのでこっちに来てしまうのですが、
自分がクレクレ君みたいで恥ずかしいです。
かといって時間が限られているのでじっくり検索している暇も無い…
鬱だ(AA略


またお世話になるかもしれませんが、なるべく迷惑をかけないようにがんばります。
0935デフォルトの名無しさんNGNG
プログラム内で、

int totalMoney = 0;

と記述すると問題なくコンパイルが通るのに、

int totalMoney;
totalMoney = 0;

と書くと、
<identifier> がありません

というエラーが出る。
『宣言と初期化を同時に行うのはあまり好ましくない』とどこかで読んだ気がするのに…。
なぜですか?
0936デフォルトの名無しさんNGNG
ブラウザでJavaが起動しなくなりました。
インターネットオプションの詳細設定でJavaの設定のしてますし、
セキュリティの設定も問題ありません。
MicrosoftVMもSunのものも入っています。
コマンドプロンプトにて「jview」と入力して、正常の表示がされました。
詳細設定で各VMで設定しても、どれも動きませんでした。
他に何か確認すべき事項はありますでしょうか?

OS:WindowsMe
JavaPlug-in:Java2 Runtime Environment,SE 1.4.2_06
ブラウザ:IE6.0
0937デフォルトの名無しさんNGNG
>>935
代入はメソッド定義(とイニシャライザ)にしか書けないけど、
どこに書いてる?
0938デフォルトの名無しさんNGNG
>>925
URLClassLoaderについては以前調べたのですが、パーミッションの設定の
方法などは普通のクラスローダーと変わらないようなので使用を見送っていました。
参考にしたいので、どのような方法があるか教えてください。お願いします。
0939デフォルトの名無しさんNGNG
>>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
0940935NGNG
>>937
こんな感じです。
某ページのお手本を真似して自分で書いてみようとしたのですが。

public class PiggyBank
{
// PiggyBank クラスのフィールド(データ) の定義
int totalMoney;
totalMoney = 0;

// 貯金箱にお金を入れる
void insertCoin (int money)
{
totalMoney = totalMoney + money;
System.out.println ("貯金箱に" + money + "円入りました");
・
・
・
0941デフォルトの名無しさんNGNG
>>940
ばか!
0942デフォルトの名無しさんNGNG
>>940
メソッドって言葉知ってる?
0943デフォルトの名無しさんNGNG
>>940

>>935で指摘されたとおりの誤りがありますね。
コンストラクタで初期化するのがいいでしょう。

なお、intフィールドは0で初期化されるのが保証されているので、
ほっとくのも可です。他の型もそれぞれ何もしなかったときの初
期値は言語仕様で規定されています。
0944!940NGNG
>>941
無邪気なつっこみに萌え。
>>942
嫌なやつだ。
>>943
素敵です。
0945942NGNG
>>944
そう取ったならごめんよ。
どの程度の知識量か分からない以上、
>>37 の
>代入はメソッド定義にしか書けないけど、
の「意味」がわかるかどうか知りたかった。
0946944NGNG
>>945
ごめんよごめんよ。
もっとやさしくなることにするよ。
0947デフォルトの名無しさんNGNG
>>945
静的初期化子はメソッドか否か
0948913-916NGNG
 どうやらクラスの解決はされているようで、パーミッションの設定も正しくされているようです
(クラスローダーのインスタンスをフィールドで保持せずに、インスタンス変数としていたせいでしょうか・・・)
 それはさておき、問題はだいぶ狭まりました。後は、ObjectInputStreamのreadObject()の時に
classpathの所にリモートからのクラスファイルを置かずにどうにかならないかという事だけです。
上記のPermissionClassLoaderでクラスファイルが解決されていても、ローカルにクラスファイルがないと
だめなのでしょうか?それとも、loadClassで正しくインスタンスを得る事ができても、クラスが解決されてい
ないのでしょうか。
 どなたかご教授下さい。
0949913-916NGNG
自己解決しました。ObjectInputStreamのresolveObjectをオーバーライドして、
ローカルに見つからない場合、自作クラスローダーを利用してロードさせるように
したらうまくいきました。
みなさんお騒がせしました。
0950デフォルトの名無しさんNGNG
超初心者ですが宜しく。
今、CUIの初心者的なプログラム作ってるんですけど、
プログラム内でCLS操作させるにはどうすればいいんでしょうか・・・。
System.out.print("CLS");???じゃ無いしヽ(´Д`;)
0951デフォルトの名無しさんNGNG
>>950 環境依存しないやり方は存在しないから気にするな。
0952デフォルトの名無しさんNGNG
アプレットに関して質問です。
while(true){
repaint();
}
と
while(true){
repaint();
Thread.sleep(10);
}
とでは、他のスレッドの処理速度に与える影響は変わるのでしょうか?
0953デフォルトの名無しさんNGNG
>>952
それ以前にAWTスレッドとめちゃ駄目だってば。
0954デフォルトの名無しさんNGNG
すみません、教えてください。

javaのclassをCやC#の構造体のように使うのはメモリを多量消費し
ますか?
0955デフォルトの名無しさんNGNG
>>954
よっぽどのことが無い限り気にしなくていい。

配列やリストにしたときの要素数が10万超えるようだったらまた来い。
0956デフォルトの名無しさんNGNG
万超
0957デフォルトの名無しさんNGNG
満超 える
0958デフォルトの名無しさんNGNG
>>950
MS-DOS〜Win95 で C やってた頃はエスケープシーケンスが使えたんで凝った
CUI アプリ作ってたもんだが、たしか Java からは無理だったかな (そもそも NT
系のコマンドプロンプトでエスケープシーケンス使えたっけか?)。

Windows なら↓で逝けんか? (いま試せる環境がない…)
Runtime.getRuntime().exec("CMD /C CLS");
0959デフォルトの名無しさんNGNG
float型 変数が保持する値を Binary 表示する方法って無いですかね?
int型 だったら Integer.toBinaryString(int) で出来るじゃないですか。
それの float 版とか。
0960デフォルトの名無しさんNGNG
Integer.toBinaryString(Float.floatToIntBits(n));
0961デフォルトの名無しさんNGNG
floatToRawIntBits のがよかったかも。
0962デフォルトの名無しさんNGNG
>>959
今、APIリファレンスで調べただけなんですが、
Float.floatToIntBits(float value)とか
Float.floatToRawIntBits(float value)とかはどうですか?
0963959NGNG
>>960-962
それだ!サンクスコ!

しかし、float ってあんまし2進法で見ても、直感的じゃないんだねぇ。。
って漏れがまだアマちゃんなだけかもしれんけど
0964デフォルトの名無しさんNGNG
1.5.0ソースでた
http://java.sun.com/j2se/1.5.0/source_license.html
0965デフォルトの名無しさんNGNG
IDEは何が一番(・∀・)イイ!!ですか?
0966デフォルトの名無しさんNGNG
Serial ATAかな。
まあ無印IDEも2GB制限とかあるけど味があっていいけどね。
0967デフォルトの名無しさんNGNG
>>966
SCSI はどうなんですか?

冗談はさておき
>>965
私は趣味でJavaやってるだけなので
IDEはほとんど使わないですが意見を述べさせて頂きます。

Eclipse IBMのFree IDE、ちょっとしたプログラムでは邪魔者
NetBeans SunのIDE、GUIエディタとして使うのが一般(?)
JBuilder BorlandのIDE、GUIエディタとしては評価が高い(?)

趣味とかでIDEは必要ないと思いました・・・(使えないだけだろ
嘘が含まれてる可能性が 大 なので後は自分で検索してください
0968デフォルトの名無しさんNGNG
趣味なら、むしろIDE。
特に、サーブレットとかStrutsとか、いろいろライブラリを使うようになったらIDEが必須。
antが使えるならいいけど。
勉強の始めなら、Eclipseだとエラーの修正候補出してくれるので便利。
そこまでやられると勉強にならん、という意見もあるだろうけど。
サーブレット環境の整備は、NetBeansの方がラク。
Tomcatが標準でついてるからね。
金だして買うならJBuilder。かな。
0969デフォルトの名無しさんNGNG
しょうもない質問ですまそ。
String型に保持してる数字を int型にキャストするにはどうするの?
int i = Integer.valueOf(Strings)
ってやってもなんかうまく行かないんだけど…
0970デフォルトの名無しさんNGNG
int i = Integer.parseInt(str);
       or
int r = (new Integer(str)).intValue();

間違ってたらすみません
これからはAPIをチェックしようね
0971デフォルトの名無しさんNGNG
int i = Integer.valueOf(s).intValue();
という方法も。

*:ラップ型のクラス名
+:プリミティブ型の名前
s:static
i:instance

(s/s)*/String.valueOf()はString⇔ラップ型に、
(i)*.+Value()はラップ型をプリミティブ型に、
(s)*.parse+()はStringをプリミティブ型に、
(i/s)*.toString()はラップ型やプリミティブ型をStringに。
0972デフォルトの名無しさんNGNG
>>971
String.valueOf()はString←プリミティブ型も可です。
0973デフォルトの名無しさんNGNG
>>969
> String型に保持してる数字を int型にキャストするにはどうするの?

キャストはできません。
0974デフォルトの名無しさんNGNG
>>973
無駄レス増やさずに教えてやれよ
0975デフォルトの名無しさんNGNG
すいません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)みたいなのしか見たことがなかったのでわかりません
0976rNGNG
>>975
意味無いんじゃね?
if(false)のほうは"到達不能コード"だと思う。
# eclipseのデフォルトの設定ではコンパイルできない気がする
0977975NGNG
意味ないんですか?汗
if文使う前に上に書いたif文が入ってたからjavaではこういうことするのかと思いました
とくに気にしないでいいことなんですね
ちなみにこのページの下のほうにありました
http://www.atmarkit.co.jp/fjava/rensai3/eclipsejava04/eclipse04_1.html
0978rNGNG
>>976
ああ、そういうコンテキストか。

Cをやっていたんなら、ifについてはそれとの類比で理解すればいい。
0979デフォルトの名無しさんNGNG
わかりましたありがとうございます
0980デフォルトの名無しさんNGNG
>>976
いや、コンパイルは通ります。

>>977
よく読め。それはif文の説明で、条件式がfalseだったらその命令は実行されないという例を示しただけだ。

ちなみにifは一行しかなくても
if (true) {
 System.out.println(true);
}
って書いた方がいいぞ。
0981デフォルトの名無しさんNGNG
プログラムを書いたんですけど
どうやったらコンパイルできるんですか?
0982デフォルトの名無しさんNGNG
javac
0983デフォルトの名無しさんNGNG
じゃばっく
0984デフォルトの名無しさんNGNG
>>980
あぁーなるほど

一行だと括弧なしのほうがスマートに見えるからいつもつけてないです
やっぱつけたほうが追加とかするとき楽ですよね
0985デフォルトの名無しさんNGNG
>>981
>>1を読め
0986デフォルトの名無しさんNGNG
javac = javaco - o
0987デフォルトの名無しさんNGNG
Java2SDKをインストールしたんですけど
オフラインの時には使えません。
どうやって解決すればいいんでしょうか?
0988デフォルトの名無しさんNGNG
>>987
J2SDK 自体がオフラインだから使えないというのは有り得ない。
設定とにらめっこしる
0989デフォルトの名無しさんNGNG
オンラインじゃないと使えない環境なんて、、、あり得ない
0990デフォルトの名無しさんNGNG
>989
インスコしたての窓XPとか事務所XPとかネットワーク版のエロゲ(ry
0991デフォルトの名無しさんNGNG
なんか1にあるリンク先の情報って古くない?
0992デフォルトの名無しさんNGNG
>>991
まあいまどき環境変数でクラスパスを構成してみたりとか、
そもそもwiki立てたやつが立てた数時間後に立て逃げとか、
突っ込みどころはいくつかあるが...
基本は「Wikiなんだから突っ込む前におまえが直せ」だろうな。
0993デフォルトの名無しさんNGNG
Java言語で、GUIアプリケーションを作った時に、どうやって、コマンドプロンプト上ではないところから
起動できるのか。言い換えると、アイコンをクリックしただけで起動出来るようになるのかを誰か
教えていただけますか。お願い致します。
0994デフォルトの名無しさんNGNG
>>993
jar
0995デフォルトの名無しさんNGNG
j2sdk-1_4_2_06-windows-i586-p.exe

このソフトを普通にインストールしたんですけど
オフラインでは起動できませんが仕様ですか?
それと、起動してもわからないことばかりです。
Draw 4 App
MilitaryGame App
Notepad App
SwingSet2 App
この4つの項目を起動できるんですけど
どうやって使用すればいいかわかりません。

詳しく教えてもらえまえんか?
0996デフォルトの名無しさんNGNG
>>993
マニフェストファイルに
Main-Clas:XXXって行を追加してJarに含める。

http://www.javadeveloper.jp/members/general/Article.category_topic_article_tips_issue_008.dhtml

0997デフォルトの名無しさんNGNG
>>995
それってWebstart起動しようとしてないか?
Javaってなんだかしってる?SDKってしってる?
0998デフォルトの名無しさんNGNG
次スレ56
http://pc5.2ch.net/test/read.cgi/tech/1099744085/
0999デフォルトの名無しさんNGNG
>>997
Java Web start アプリケーションマネージャ
というものを起動してますが・・
すべてwiki通りにやったんですけど
どこが間違っているんですか?
10001000NGNG
【初心者】Java質問・相談スレッド56【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1099744085/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。