【初心者】Java質問・相談スレッド116【歓迎】at TECH
【初心者】Java質問・相談スレッド116【歓迎】 - 暇つぶし2ch100:デフォルトの名無しさん
08/06/15 04:14:29
結局独学ではしっかり調べでもしない限りは運に寄る所が大きい。

101:デフォルトの名無しさん
08/06/15 04:18:48
おっしゃるとおりですね。
いそばがなんとかですね。
まあでも今日で初心者卒業できたのは、私も運がよかったということですかね。
こんな時間まで起きている、先輩はかなりの方とお見受けしました。
生業としている方ですね、きっと。

そういえば、2chでの質問内容ってほとんど、学校の質問みたいなものがおおいですものね。
なんか、目的をもったプログラムにかんするものは少ないですね~。
まあ、プロフェッショナルは2chできかないでしょうが。

102:デフォルトの名無しさん
08/06/15 04:22:57
では寝ますね。こんなじかんまでお付き合いいただき、誠にありがとうございました。
秋葉原の事件で、もう2chはいらないとおもいましたが、こんな古き良き時代によくあった
チャットをできるとはおもいませんでした。
ではご健康にきをつけて。
失礼します。

103:デフォルトの名無しさん
08/06/15 04:41:51
>>98>>99
そう言えば、「結城本は定番」というのは確かによく聞くような気がするが、どこで聞いたか思い出せねーなwww
このスレのテンプレにも無いようだし……。

104:デフォルトの名無しさん
08/06/15 07:35:37
いそばが

105:デフォルトの名無しさん
08/06/15 08:08:20
なにこの気持ち悪い流れ

106:デフォルトの名無しさん
08/06/15 08:18:10
JavaAppletについての質問です。
ブラウザの更新ボタンが押された時にアプレットの初期化又は変数の初期化を
行いたいのですが、どうすればいいですか?
教えて下さいお願いします。

107:デフォルトの名無しさん
08/06/15 09:14:44
ブラウザで更新されたらAppletは強制的に初期化だw

108:デフォルトの名無しさん
08/06/15 09:41:39
***Javaのオススメ入門書*** 『創るJava』 3.0
スレリンク(tech板)
↑のスレ自体より過去ログ見た方がいいかも

109:デフォルトの名無しさん
08/06/15 09:50:14
>>1のwikiに昔は結城本の事も書いてあった気がするが
今はこうなってるのか

>2chで推薦されている入門書を挙げておきます。
>
>Head First Java―頭とからだで覚えるJavaの基本
>独習Java
>コアJava2 Vol.1 基礎編
>コアJava2 Vol.2 応用編
>Javaの格言―より良いオブジェクト設計のためのパターンと定石
>Javaの鉄則―エキスパートのプログラミングテクニック

>「やさしいJava」(高橋 麻奈 著)はプログラミング未経験者が読むには適していますが、Java入門書とは呼べません。
>Javaプログラミングとはこういうものなんだ、というのをつかんだら上記入門書をやるのをお勧めします。

110:デフォルトの名無しさん
08/06/15 09:56:37
VBからjavaって…なんか可哀想なPGだね
Cから上に上がっていけば新たな言語でも何の苦労も無いのに

111:デフォルトの名無しさん
08/06/15 10:17:23
>VBでは結構有用な目から鱗状態の情報が結構ごろごろしてたんですよ。 

人によると思うだけど、明け方に投稿するような君にとってそのゴロゴロ情報は例えば何?

112:デフォルトの名無しさん
08/06/15 10:28:16
なんつーかIDEって普段使わないんで
たまに使うことがあるとすげー気持ち悪いんだが
>>85見て改めてIDEはイラネと思ったわ

113:デフォルトの名無しさん
08/06/15 10:30:46
訂正IDEがイラネ→IDEに頼ってる奴

114:デフォルトの名無しさん
08/06/15 10:31:50
キモイ奴は、話を聞いていてもやっぱり最後までキモイな。いいまわしとかも最悪。
君は、VBの方が性に合ってるんじゃないの?

115:デフォルトの名無しさん
08/06/15 10:33:18
そのVB宙の話は、なんか犯罪者がアレコレしゃべってるのを聞かされているようで怖かった

116:106
08/06/15 10:34:08
すいません、分かりました。
start()で変数の初期化を行えばいいのですね。

117:デフォルトの名無しさん
08/06/15 12:25:58
>>116
分かってしまったなら仕方あるまい

118:デフォルトの名無しさん
08/06/15 12:29:43
今日の深夜までにやらなきゃいけない課題なんですが、なかなかうまくいきません。
助けてください。

自動販売機を表すVendingMachineクラスとそれを実行するmainメソッドを作成せよ
・機能
 ・お金を投入する
 ・金額が十分投入してればジュースを買える。
 ・お金の払い戻しができる
作成したVendingMachineに対しカプセル化を施し意図しない状態に変更されないようにせよ



119:デフォルトの名無しさん
08/06/15 12:42:47
>>85
つまり、Javaの勉強にVBでの経験が役に立たなかった、でFAか

120:デフォルトの名無しさん
08/06/15 12:58:20
>>109
最近でた柴田本はどうなん?
Cの入門書はなかなかの良書だったんで、ちょっと期待してるんだが

121:デフォルトの名無しさん
08/06/15 13:03:41
奴の本の良し悪しよりも、奴の人格が歪んでる

122:85
08/06/15 13:55:33
>>110
C(無印)は当時かなり敷居がたかかったんですよ。
統合開発環境もなかったし、PCもちょうど98全盛のころでしたからね。
BACICからVBまでおよそ15年のブランクがありました。
プロフェッショナルじゃなくて、趣味でつくるプリグラミングなんてそんなレベルですよ。
決して自分が可哀そうとか思いません。w

でもおかげさまで、java勉強したおかげでCは読めます。
その点はjava様々ですが。

>>119
手続き型からオブジェクト指向へのつなぎとしての意味は大きかったです。
あと、マイクロソフトの考え方もちょっとわかった(気がする)。

123:デフォルトの名無しさん
08/06/15 14:11:21
そんなあなたにはVBのままの方が遠回りもせず結局いいと思いますよ。
Javaは所々面倒くさいのが多いし、setter/getterとかも。
VB出身ならC#が普通の流れなんですけどね…

124:デフォルトの名無しさん
08/06/15 14:37:58
Java 勉強したらある程度 C は読めるはずだが、
それだけだとポインタに関する知識が怪しいはずだと思う。

125:デフォルトの名無しさん
08/06/15 16:19:47
だれか、

g.setColor(new Color(this.move_color[i]));//16進数色指定(配列より抽出する。0xff0000)

こうやって変数を使って色指定すると

C:\>javac nico_mouse.java
nico_mouse.java:124: シンボルを見つけられません。
シンボル: コンストラクタ Color(java.lang.String)
場所 : java.awt.Color の クラス
g.setColor(new Color(this.move_color[i]));//16進数色指定(配列より抽
出する。0xff0000)
^
エラー 1 個

といったエラーが出てくるんだがどうやったら治せる!?

126:デフォルトの名無しさん
08/06/15 16:25:30
だれか、

g.setColor(new Color(this.move_color[i]));//16進数色指定(配列より抽出する。0xff0000)

こうやって変数を使って色指定すると

C:\>javac nico_mouse.java
nico_mouse.java:124: シンボルを見つけられません。
シンボル: コンストラクタ Color(java.lang.String)
場所 : java.awt.Color の クラス
g.setColor(new Color(this.move_color[i]));//16進数色指定(配列より抽
出する。0xff0000)
^
エラー 1 個

といったエラーが出てくるんだがどうやったら治せる!?

127:デフォルトの名無しさん
08/06/15 16:33:14
ColorのコンストラクタでStringを引数に持つものが無いからだろ。
Integer#decode(String)あたりでも参照すべし。

128:デフォルトの名無しさん
08/06/15 17:03:04
配列に設定してるところを書かないと意味ねーじゃん
move_color[0]="0xff0000";
なことしてるんじゃね

129:デフォルトの名無しさん
08/06/15 17:25:17
問診票

これまで大きな言語に罹られたことはありますか?

130:デフォルトの名無しさん
08/06/15 18:57:03
漢字が読めません

131:デフォルトの名無しさん
08/06/15 19:13:05
"Javaの文字列連結演算子は" + "である。"
>>129 かかられた、だ。

132:デフォルトの名無しさん
08/06/15 19:16:30
罹(すっぽこ)られた

133:デフォルトの名無しさん
08/06/15 19:23:00
では次の方

134:85
08/06/15 19:31:18
>>123
アドバイスありがとうございます。
必要に迫られて消去法でjavaになりました。
C#も本でみましたが、あれも面白そうですね。
ただM$の都合で、変な改定されるのが怖いんです。(J++とかw)
setter/getterについては後々勉強します。

>>124
おっしゃるとおりですが、私はZ80の脳内アセンブリ世代なんで、いちおうPCに関する極原始的な知識はあります。
C++をパスしたのもその辺の管理が面倒というのがありました。

特段質問はないんでこれにて失礼します。
皆様今後とも、初心者にはやさしくしてくださるようよろしくお願いします。
javaのご加護を

135:デフォルトの名無しさん
08/06/15 19:35:39
それならperlの方がいいんじゃない?趣味なんだしw

136:85
08/06/15 19:46:35
>>135
あれまだ私、話してていんですかね。
あんまし登場するとチラウラで申し訳ないです。

perlとかrubyとかActiveBasicとかも一応候補にいれたんですが。
特段perlに光るものはなかったと記憶しています。
ネット上のサンプルプログラムも少なすぎるし、なにより書店の売り場面積が、こっちくるな!って言っているようで・・・。w
よろしければ、perlの良い点を教えてください。
あ、スレチですね。
javaのキラーコンテンツはやはりマルチスレッドですかね。
スレッドフリーということばがjavaの世界にあるのには感動しました。

137:デフォルトの名無しさん
08/06/15 19:47:55
perl のサンプル多過ぎるくらいだろw
探し方おかしいんじゃね。

138:85
08/06/15 20:00:47
>>137
けっこうメジャーな言語なんですね。
ズラズラとでてきました。
ABと同列にしてごめんなさい。
スピードはどうなんですか?お、『各レイヤはC言語で実装できるため高速』なんですか。
オブジェクト指向言語としての位置づけも一抹の不安が。
こうしてみると悪くないですね。


139:デフォルトの名無しさん
08/06/15 20:46:41
「アセンブラやってました」とかの釣りを相手にするのは、もういいだろ
あなただと、Javaだとそのうち不満が出る(例えば演算子おーばーろど云々)でしょうし、C#の方が向いてますよ。


140:デフォルトの名無しさん
08/06/15 20:48:26
こういうキモイ奴の相手はしたくないな。VBの世界でこの世からは隔離されていてくださいな

141:85
08/06/15 20:57:24
>>139
アドバイスありがとうございます。
しかし、そんなに高級なことをやりたいわけではないですので、VBより少々使い勝手がよければ全く文句ないです。
しかしそこまで執拗にC#を進める背景にはなんかあるのでしょうかね。
きたるべきマイクロソフトの崩壊に備え、M$からの脱却を図っているのでjavaにしたんですよ。
LinuxではC#動かないでしょう?
.NETははっきりいって糞くらえですよ。(食事中のかたすんません)

142:デフォルトの名無しさん
08/06/15 20:58:46
人間というのは、ここまで気持ち悪くなれるものなのか…
もしかして層か?

143:デフォルトの名無しさん
08/06/15 20:59:13
ときどきでいいからmonoのことも思い出してください

144:デフォルトの名無しさん
08/06/15 21:01:23
>>139
あ、ばれちゃった(^ V^)

145:デフォルトの名無しさん
08/06/15 21:16:15
知識の歪みは背骨の歪み

146:85
08/06/15 21:18:24
ふりだしに戻る・・・
⇒なんで、java弄るひとって性格の悪い人がおおいんだろ。

自分なりの分析ですが
java弄る人って、殆どが玄人(それで飯食っているひと)なわけですよ。
もしくは、いま勉強中で資格とって就職しようとしている人々。
したがって、ライバルは少ないほうがいい、もしくは自分の優位性をつねに保っていたい。
そんなエゴが見え隠れしている。
昨日の深夜に僕の相手をしてくれた方は違うとおもいますが、ほとんどの人が傲慢だ。
私もすごく気持ちが悪い。

そうじゃないでしょ、ってこと。
プログラミングはアマ・プロ区別なくみんなのものでしょってこと。
一般人、ど素人に丁寧に教えていかなければ未来はないですよ。

べつに2chにそういうことを期待しているわけではないですが、数々の方のブログを拝見して感じたことです。
以上。

147:デフォルトの名無しさん
08/06/15 21:21:40
いや、もういいや。死んでいいよ

148:デフォルトの名無しさん
08/06/15 21:27:01
>>146
あなたが疎外されているとしたら「素人だから」ではないと思われる。
大体そんな感じで。

149:85
08/06/15 21:30:47
>>148
いやあなたの論理が破たんしてますがな。
私は疎外感など何も感じていない。
だいたいどうしたら、ネットサーフィンや読書で疎外感を感じなきゃ(ry
およそそんな感じで。

150:デフォルトの名無しさん
08/06/15 21:31:30
ようするに>>145が言いたいのはちゃんと教えてくれないのは
レスしてる奴が競争相手を減らしたいと考えてるって事でいいんだよな
なら残念ながらレスが帰ってこないのは単純にお前が気持ち悪いからだ

151:デフォルトの名無しさん
08/06/15 21:35:08
初心者は初心者でも、人間初心者なんですね。わかります

152:デフォルトの名無しさん
08/06/15 21:36:17
よくわからんけど、
どうしてJavaの世界は素人である私を容易に仲間にしてくれない(なかった)の?
っていう話じゃなかったんだっけ。では次の方。

153:デフォルトの名無しさん
08/06/15 21:44:16
たまにはこういうキモイ雑魚も、創価学会のマンパワーみたいで楽しかった。

>>86

154:85
08/06/15 21:46:07
>>152
最後のおまとめありがとうございます。
まあ端的にいえばそのとおりですね。

他の方は誤解されているようですが、私はこの板で質問したことは一度もないし、ネット上の掲示板にも質問したことはありません。
すべて独学です。
>>85のコメントは形式は質問になってますが、
>>87で補足したように抗議文です。
警鐘を鳴らしたかっただけです。

では、ここからはいつもの流れでどうぞ。

155:デフォルトの名無しさん
08/06/15 22:47:50
そんなにデタラメ情報ばかりだったかな、と思って、
>>85が挙げてる例である「Java ダブルクリック 実行」でググってみた。
…マニフェストファイル書いてjar作る正しい手順が、それなりにヒットする。
>>85が何を見て「でたらめだらけ」と結論づけたのか気になる。

ただ、VBと違って、標準の開発環境はこれ、というのがないから、初心者は困るんだろうな。
素のjdkが基本といえば基本だけど、
初心者には(特にVBのようなRADツールの経験があれば余計に)取っつきづらいだろう。
最近じゃ「Eclipseで始めるJava入門」みたいな本も出てるしね。

だから、コマンドプロンプトでの手順示されても
「じゃあウチのEclipse/NetBeans/JBuilderではどうすりゃいいの?」となるんじゃないかな。
その結果「これはつかえない!デタラメに違いない!」と結論づける、と。

そもそも、仮にjdkオンリーで覚えても、最終的にはIDEを使うようになると知ったら、
「あの苦労は何だったのか」と徒労感を覚えるかもしれない(それはそれで大事な経験なんだけど)。
そしたら余計に取っつき悪さを感じるかも。

そういうのが嫌な人は、どれか特定の便利なIDEべったりになるといいかもね。
そういう人にはNetBeansがお勧め。
Webから得られる情報が限られるけど、面倒なネタは避けられると思う。

156:デフォルトの名無しさん
08/06/15 23:05:06
>今日で、めでたくく初心者を卒業したっぽいわけですが・・・
>まあでも今日で初心者卒業できたのは、

いきなりそんなこと前提にされても、と何も言えなくて・・・夏

157:デフォルトの名無しさん
08/06/15 23:09:35
創価学会は思考盗聴とか集団ストーカーをやってるそうなんで、身の回りには注意しておいたほうがいいですよ。

158:デフォルトの名無しさん
08/06/15 23:09:47
すみませんが、教えてほしいことがあります。

「n=OO」という風に表示したいのですが、
表示をさせることができません。
表示をさせるための記述を教えてください。
よろしくお願いします。

public class karimasu{
public static void main(String[] args){
int n=0;
double a[]=new double[100];
a[0]=1.5;
a[1]=2.0;
a[2]=3.0;
System.out.println("1.5");
System.out.println("2.0");
System.out.println("3.0");
for(n=3;n<=100;n++){
a[n]=(-1*a[n-1]) + a[n-2] + a[n-3];
System.out.println(a[n]);
}
}
}


159:デフォルトの名無しさん
08/06/15 23:10:36
>>158追記

答えは出ましたが、表示を変えることができないです。

160:デフォルトの名無しさん
08/06/15 23:13:56
System.out.println("n=OO");

161:デフォルトの名無しさん
08/06/15 23:16:36
>>45で解決しなかったのか

162:デフォルトの名無しさん
08/06/15 23:25:41
>>161
あの時の方で
いまだに解決していません(汗

()の中にいろいろといれても
うまく表示できなくて…

163:デフォルトの名無しさん
08/06/15 23:29:36
>>160
例えがものすごく悪かったようなので
もう一度書きます

a[1]=1.5
a[2]=2.0
a[3]=3.0 といった表示を連続で出したいのです

164:デフォルトの名無しさん
08/06/15 23:31:56
System.out.println("a[" + n + "]=" + a[n]);

165:デフォルトの名無しさん
08/06/15 23:35:08
>>158
なぜ>>42をスルーできたのか気になる

166:デフォルトの名無しさん
08/06/15 23:37:13
>>164
教えてくださりありがとうございます
おかげさまで出ましたm(_ _)mペコリ

167:デフォルトの名無しさん
08/06/15 23:39:00
世の中は不思議に満ちている

168:166
08/06/15 23:39:54
と思ったら
まさかのa[0]~a[2] の表示が出ない!!

169:デフォルトの名無しさん
08/06/15 23:40:48
枯れない桜が枯れたのだよ

170:デフォルトの名無しさん
08/06/15 23:42:40
>>168
そりゃ、ループが3からだもの
0, 1, 2 は固定なんだから、>>158
System.out.println("1.5");
System.out.println("2.0");
System.out.println("3.0");

System.out.println("a[0]=1.5");
System.out.println("a[1]=2.0");
System.out.println("a[2]=3.0");
に変えればいいと思うよ

171:166
08/06/15 23:42:57
ちょっと冷静になって直してきました
無事にできました
ありがとうございます

とりあえず落ち着け俺

172:166
08/06/15 23:43:52
>>170
すみません、おかげさまでできました

ちょっと混乱しやすい性質です
パニック映画でまず食われる役が最適なやつですから

173:デフォルトの名無しさん
08/06/15 23:48:37
ん?創価学会がなんだって?

174:デフォルトの名無しさん
08/06/16 00:02:42
すみませんが、教えてください。
「入力した数字が素数かどうかを調べる」というものなのですが、
下のところまでできたのですが、
肝心の「数字を入れてください」の部分ができません
「input>」と表示した後に数字を入れたいのですが
どうすればいいでしょうか

public class sosuu {
public static void main (String[] args) {
int n = ;

boolean isPrime = true;
for (int i = 2; i <= n - 1; i++)
if (n % i == 0) {
isPrime = false;
break;
}

if (isPrime)
System.out.println(n + " prime number.");
else
System.out.println(n + " not prime number.");
}
}

記述すべきことを教えてくださいませ
よろしくお願いします

175:デフォルトの名無しさん
08/06/16 00:05:17
つBefferedReader

176:デフォルトの名無しさん
08/06/16 00:08:20
>>176
一応聞きたいのですが、
それ以外の方法はありますでしょうか?
教わったかどうかあやふやですので…

177:デフォルトの名無しさん
08/06/16 00:14:20
それ以外だとargsを使う方法かな

178:デフォルトの名無しさん
08/06/16 00:16:33
>>177
そっちのほうほうをお願いします
自分でもうまく当てはめようとしたのですが
どうにもうまくいかず。

教えの程、よろしくお願いします

179:デフォルトの名無しさん
08/06/16 00:17:16
すみません
ほうが一つ多すぎましたorz

落ち着け私


180:デフォルトの名無しさん
08/06/16 00:19:06
あれっ?
自分で作っておいて気づいたのですが
argsを使っていました…

ここからどう変えるのか…

181:デフォルトの名無しさん
08/06/16 00:26:52
>>174
>「input>」と表示した後に数字を入れたいのですが

この「後に」というのは条件ではないの?
argsの内容は実行前のコマンドの段階で入力されてしまうんだけど、っていうあたりはわかってるのかな

182:デフォルトの名無しさん
08/06/16 00:28:46
多分分かってない
いや>>174よく読まず無責任にargs出した俺が悪いんだが

183:デフォルトの名無しさん
08/06/16 00:31:15
>>181
忘れていました(汗
「いつも最初に記述するように」と教わっていたので
最初の2行くらいはろくに考えておらず…

となると>>175の方の表記の方法でしかできませんかね?

184:デフォルトの名無しさん
08/06/16 00:32:13
>>182の方…

やはり私の記述はわかりづらいのでしょうか?

185:デフォルトの名無しさん
08/06/16 00:33:32
BufferedReaderを習ってないとすると、
まだDataInputStreamのreadLine()で指導している先生だったりするとか、
そのくらいしか思い浮かばない

186:デフォルトの名無しさん
08/06/16 00:36:56
>>185
あれ…
その方法は学んだっかな…

何かもっとこうシンプルだったような…

187:デフォルトの名無しさん
08/06/16 00:39:26
あとは、例の「IO」みたいなユーティリティークラスを用意していて、
それを専ら使うように指導しているとか

188:デフォルトの名無しさん
08/06/16 00:43:25
スキャナーを利用したインプット表示でした

とりあえず手元にあるパソコンでは
スキャナー表示のものを動かすことができませんので
手を加えたものを後日別の場所で動かしてみます

189:デフォルトの名無しさん
08/06/16 00:50:34
1.5導入かw
素で使ったことなかったYO

190:デフォルトの名無しさん
08/06/16 00:54:54
jdkのバージョンを5.0以上にすれば良いだけじゃないの?

191:デフォルトの名無しさん
08/06/16 00:55:14
>>174
>System.out.println(n + " is a prime number.");
>System.out.println(n + " is not a prime number.");

192:デフォルトの名無しさん
08/06/16 00:58:30
>>190
jcpadはそれで大丈夫なのかなと

>>191


193:デフォルトの名無しさん
08/06/16 00:59:05
## : prime
## : not prime
ならおkかも

194:デフォルトの名無しさん
08/06/16 01:05:14
>>193
どのような記述をすればそうなるでしょうか?

195:デフォルトの名無しさん
08/06/16 01:06:52
いや、>>191は単に>>174の英語が変ってことでしょ
>>193は形容詞版

196:デフォルトの名無しさん
08/06/16 01:13:35
あれっ?
なんだかだんだんおかしな方向に…

表記はこうするように言われているのでこの通りにしております
問題は数字をJCpadのコマンド画面で直接打てないことで…

197:デフォルトの名無しさん
08/06/16 01:19:51
コマンドプロンプトから実行する方法は知らないってことね

198:デフォルトの名無しさん
08/06/16 01:26:08
>>191
いや、わかった。すまん。
URLリンク(www.mlab.im.dendai.ac.jp)

199:デフォルトの名無しさん
08/06/16 01:26:29
>>197
そうです、はい

素数の式が絡んでくるともう…

200:デフォルトの名無しさん
08/06/16 01:28:06
>>198
それのことを言っていたんですかね?
確かに参考にしましたが、うまくできず

201:デフォルトの名無しさん
08/06/16 02:30:09
これじゃ学生が可哀想だ。
教師か教科書か教え方が悪い。

202:デフォルトの名無しさん
08/06/16 03:33:10
>>33 >>158
よく見たらこれと一緒だな
スレリンク(tech板:46番)

203:デフォルトの名無しさん
08/06/16 09:09:44
最近の大学生って頭悪いよね
情報学科卒業してきた子より
高卒で趣味でunixいじってたような子の方ができたりする

204:デフォルトの名無しさん
08/06/16 09:35:23
現在、ポーカーのプログラムを作っています
TreeMapを使っているのに、ソートされないのは
やはりソースに問題がありますよね?

205:デフォルトの名無しさん
08/06/16 11:10:15
最近の情報学科って大したこと教えてないからな。
その上こんなスレに来る奴なんてデフォで講義ろくに聞いてない&屑講師なんだから当たり前だろ。
そりゃ趣味でlinuxいじってた方が強いわ。

206:デフォルトの名無しさん
08/06/16 11:25:17
習うより何とかってことで纏め

207:デフォルトの名無しさん
08/06/16 11:50:09
創価大に情報科なんかあったか?

208:デフォルトの名無しさん
08/06/16 12:03:20
ルートディレクトリを与えるとそこからツリーを生成するプログラムを作ったのですが、
Linuxと違ってWinではルートが複数あり、また環境によって存在するドライブレターも違うので
全ルートを与えるためにはA~Zまで試してみるくらいしか方法が思いつきません。
今現在存在するルートディレクトリ(C:\,D:\…)を取得する方法ってあるでしょうか?


209:デフォルトの名無しさん
08/06/16 12:13:54
>>208
File.listRoots()

210:デフォルトの名無しさん
08/06/16 13:13:08
>>209
四苦八苦していたのにこんな便利なstaticメソッドがあったのですか…。
即レスありがとうございます!!

211:デフォルトの名無しさん
08/06/16 14:50:40
JNIで外部DLLを呼び出しているんですが
そのDLLでEXCEPTION_ACCESS_VIOLATION (0xc0000005)
を発生した場合、Java側ではtry catchをしても
落ちてしまいます。
なんとか例外としてキャッチできないものでしょうか?


212:デフォルトの名無しさん
08/06/16 15:04:19
C側で例外をキャッチする必要があるのでは
でJavaの例外として投げ直す

213:デフォルトの名無しさん
08/06/16 17:21:26
>>212
ありがとうございます。
CでDLLのEXCEPTION_ACCESS_VIOLATION をキャッチできるか
聞いてきます。

214:デフォルトの名無しさん
08/06/16 17:47:14
ArrayListではなく、エクスプローラみたいなイメージのツリーの機能を実装したコレクションクラスや
それに近いクラスはあるでしょうか。JDK1.6です。JDKでなくても、その他ライブラリであれば合わせて教えていただけないでしょうか。

215:デフォルトの名無しさん
08/06/16 18:23:05
文字列「C:\」を「C:」に変換したくて
String path="C:\\";
path.replaceAll("\\","");
とやったのですが、java.util.regex.PatternSyntaxExceptionが出ました。
バックスラッシュを表したくてエスケープさせて指定したつもりが、
どこがおかしいのでしょうか?

216:デフォルトの名無しさん
08/06/16 18:23:55
>>214
JTree

217:デフォルトの名無しさん
08/06/16 18:33:24
>>216
ありがとうございます。
これってawt用ですが、できれば親と子を持つという概念だけのコレクションクラスはないですかね。

218:デフォルトの名無しさん
08/06/16 18:40:02
>>215 [\\\\]->[\\]

219:デフォルトの名無しさん
08/06/16 18:41:49
>>217
それくらい自分で作れ

220:デフォルトの名無しさん
08/06/16 19:00:37
>>217
コレクションでツリーなんて良くあることなのに、高級言語の1.6にしてもないなんてね。そのくせ余計なクラスばかり多い

221:デフォルトの名無しさん
08/06/16 19:21:52
>>218
ありがとうございます。
しかし何故\\\\になるのでしょうか?
replaceを使うと普通に\\で大丈夫なのに。

222:デフォルトの名無しさん
08/06/16 19:25:16
>>217
ない。

URLリンク(bugs.sun.com)
evaluationによれば、Doug Lea御大がC++で実装した経験から、
汎用かつ軽量でパフォーマンスに優れた実装を作るのが難しいからだってさ。

223:デフォルトの名無しさん
08/06/16 19:26:34
>>221
URLリンク(java.sun.com)
> String replace(CharSequence target, CharSequence replacement)
> リテラルターゲットシーケンスに一致するこの文字列の部分文字列を、指定されたリテラル置換シーケンスに置き換えます。
> String replaceAll(String regex, String replacement)
> 指定された正規表現に一致する、この文字列の各部分文字列に対し、指定された置換を実行します。


224:デフォルトの名無しさん
08/06/16 19:46:06
>>223
ここから考えると、
\を表す文字列で表したい→\\
\を正規表現で表したい→\\\\
ってことですよね。

なんか考えているうちにこんがらがってきましたが、
コンパイル時のエスケープと正規表現のエスケープで二重にエスケープする
必要があるってことでしょうか??


225:224
08/06/16 19:47:09
× \を表す文字列で
○  \を文字列で

226:デフォルトの名無しさん
08/06/16 19:57:44
>>224
URLリンク(java.sun.com)
>たとえば、文字列リテラル "\b" は、正規表現と解釈されると、バックスペース 1 文字とマッチされます。 しかし、"\\b" は単語境界とマッチされます。

227:デフォルトの名無しさん
08/06/16 20:29:46
JListでListCellRendererを使いアイコンをセットする際に、
システムで設定されているアイコン(htmlならIEやFxのアイコンのような)を表示したいのですが、
Javaではこういう情報を取得する方法はあるでしょうか?


228:デフォルトの名無しさん
08/06/16 20:38:39
知識不足によりはまっているのでご教授願えればと思います。

現在、Apache + Tomcat の環境で、SSLによるWebアプリケーションを構築しています。
その中でAppletも併用しているのですが、このAppletに証明書を付けて配布したいと考えています(AppletからWebサービスを呼び出す)

Apacheにopensslで作成したキーを登録し、WebアプリケーションやAppletのダウンロードのSSL化はできました。
ところが、そこで作成した証明書をkeytool で登録し、AppletのJarに付与しようとするとエラーとなります(認証チェインがルート証明書に届いていない云々)

そこでkeytoolでキーと証明書を作ればと思ったのですが、keytoolでは証明書はエクスポートできるのですが、鍵は抽出できません。

本番環境では正式なCAを通した鍵と証明書があるのですが、開発環境でオレオレ認証でApacheと署名Jarを同時に行うにはどうすれば良いでしょうか?

229:218
08/06/16 21:39:29
String r;
r = path.replaceAll("[\\\\]",""); // Compile -> "[\\]"
r = path.replaceAll("\\\\",""); // Compile -> "\\"
r = path.replace("\\",""); // Compile -> "\"
コンパイルすると、2つ重なる¥が1つの¥になるので、
逆に1つの¥を表すためには¥を2つ重ねる必要がある。(C/C++も同じ。)
その上で、正規表現の¥自身を表すときは¥を2つ重ねる必要がある。
正規表現で"\"や"[\]"はおかしい。
コンパイル後、String内の¥¥bは2バイト、一方¥bは1バイト文字になる。

230:デフォルトの名無しさん
08/06/16 21:52:01
>>227
JFileChooser で使ってるサイズしか取れないけど。
javax.swing.filechooser.FileSystemView#getSystemIcon(java.io.File)

231:デフォルトの名無しさん
08/06/16 22:06:06
>>230
こんなのあったのですか、ありがとうございます!

232:デフォルトの名無しさん
08/06/16 23:29:30
>>228
オレオレCAの証明書をJREのルート証明書群に追加すればいいんでない?
(jre/lib/security/cacerts)


233:デフォルトの名無しさん
08/06/17 14:06:02
Javaで開発する際に、プロジェクトの構成というか、ディレクトリの整理作法がわからないんだけど
たとえばこんなのとかので
trunk
 +-/build/build.xml              #ビルドに関するもろもろ
 +-/src/net/2ch/pc11/Hoge.java     #ソース
 +-/tests/net/2ch/pc11/HogeTest.java #テスト用
参考になるウェブサイトとか公開されているsvnで秀逸なのを教えてくんろ

234:デフォルトの名無しさん
08/06/17 14:39:42
apacheでは参考にならないと?

235:デフォルトの名無しさん
08/06/17 16:03:25
nextした数を保持するiteratorクラスってありますか?

236:デフォルトの名無しさん
08/06/17 16:16:02
それくらい作れよ

237:デフォルトの名無しさん
08/06/17 17:15:21
>>235
つListIterator

238:デフォルトの名無しさん
08/06/17 17:50:28
一般には>>236かな。反復回数の実績をカプセル化したいんでしょ。

239:デフォルトの名無しさん
08/06/17 19:06:42
Hibernateで、エンティティとして定義しているクラスに継承をしているものがあるとクエリ結果がダブってuniqueRequestでエラーになる、、
ビューを定義していたから楽しようとして落とし穴にはまった、、

継承せずにベタに書くと解決しました。

継承したままうまくクエリする方法ってないでしょうか。

240:デフォルトの名無しさん
08/06/17 19:41:06
音楽を鳴らしたいが、シンボルが見つかりませんというエラーがでるんだ。
何が必要なのかおしえてくれ~~~

play("./burst.wav");//爆発音声

241:デフォルトの名無しさん
08/06/17 20:07:08
>>240
参考資料をよく読むんだッ

242:デフォルトの名無しさん
08/06/17 20:10:43
int x = 2345;
int y = 1585;

xの百の位の3とyの十の位の8を
抜き出して演算処理したいのですが
どのようにしたらいいですか?心優しい方助言をば・・

初心者でごめんですm(_ _)m

243:デフォルトの名無しさん
08/06/17 20:13:36
>>242
123わる10は、12あまり3

244:デフォルトの名無しさん
08/06/17 20:36:27
>>240
アプレットのplayメソッドに渡すのは文字列で表されたURLじゃなくて、
「URL」というクラスのオブジェクト。

play getCodeBase
でぐぐるとわかるよ。

245:デフォルトの名無しさん
08/06/17 20:45:16
>>123わる10は、12あまり3

わかりそうで・・・わかりませんOrz
具体的にコードで操作するにはどうすれば int x = 2345; の
百の位の 3 抜き取れますか?

タイトルに・・初心者大歓迎って書いてあったから・・ごめんなさい

246:デフォルトの名無しさん
08/06/17 20:51:37
ComponentのcreateImageで戻ってきたImageをBufferedImageを変更したいのですが、
どうすればよいでしょうか?

247:デフォルトの名無しさん
08/06/17 20:53:40
Tomcat 6上で動くアプリを開発してます。
サーブレットのユニットテストを書こうと思っていて、
ちょっと調べた所HttpUnitとCactusってのが有名っぽいので
どちらかを使おうと思ってます。、

それぞれの長所短所とか教えて下さい。

248:デフォルトの名無しさん
08/06/17 20:55:14
>>245-246
こういうのって良くあるTIPだと思うんですけど、そういうサイトとご存知ないですか?

249:デフォルトの名無しさん
08/06/17 20:56:46
>>245
x=String.valueOf(2345);
x.charAt(2);


250:デフォルトの名無しさん
08/06/17 21:02:15
>>248
すみません。いろいろ調べたのですが。InputStream見たいにデコレータ形式だと思ってjavadocも見たのですが、
コンストラクタにもなくて。

251:デフォルトの名無しさん
08/06/17 21:02:28
>>246
PixelGrabberでピクセル値とってきてBufferedImageに書き込むとかは?

252:245
08/06/17 21:12:56
どこかこういうTIPが載っているサイトありましたら教えてください
初めてiアプリ自作してるのでわからないことだらけ・・ですOrz

253:デフォルトの名無しさん
08/06/17 21:16:17
>>245
整数の商、整数の剰余の出し方はさすがにわからないとおかしいと思ったんだけど。。
123 / 10 == 12
(123 / 10) % 2 == 2
123の十の位は2。

254:デフォルトの名無しさん
08/06/17 21:16:38
やべ、何だ % 2 ってw
% 10 ね

255:デフォルトの名無しさん
08/06/17 21:19:51
>>245
いえ、大歓迎とまでは

256:デフォルトの名無しさん
08/06/17 21:27:47
初心者っつーか
ちと、質問がある 誰か教えてくださいまし

俺はインターネットファイルを取り出して
自分のPCにディレクトリごとにフォルダを作ってコピーし
オフライン時にこのように模擬サイトを作って見るんだが

javaアプレットが入ったサイトだと、そのファイルを取り出せずに
仕方なくjavaなしのオフラインサイトを見ることになるんだが
どうやったら、javaアプレットを動作させる模擬サイトを作れるか教えてくださいまし


257:デフォルトの名無しさん
08/06/17 21:36:30
>>233
Pragmatic Starter Kitのどれか(たぶんVersion ControlかAutomation)に載っ
てるのがひとつの参考にはなると思う。

訳は↓
達人プログラマー―ソフトウェア開発に不可欠な基礎知識 バージョン管理/ユニットテスト/自動化
URLリンク(www.amazon.jp)

まぁ立ち読みしてみてくれい。


258:245
08/06/17 21:45:12
>>253
ありがとぅ><

>>255
大歓迎・・は、してなかったですねOrz



259:デフォルトの名無しさん
08/06/17 21:46:05
>>256
アプレットがどのファイルを使うか、というのは基本的にHTML上のリンクとして現れないから、
アプレットの中身を分析するとか、そういうツールを調達するとかしないとダメな場合が多いと思われ。

260:デフォルトの名無しさん
08/06/17 21:48:43
いや、JREのキャッシュから復元できたりするのか?やったことないけど

261:256
08/06/17 21:57:17
>>259>>260
どもども、すいませんです
プログラミングとしての質問でなくて肩身狭いっす><
java自体仕組みが分かってないので 専門の方にはバカっぽい質問でしょうが、

その、俺が復元したいサイトはjavaアプレットを使って中学数学を教えているサイトでして、
そのアプレットが動作しないと、文章や画像があってもサイトとしての意味がないものに
なってしまいます><

ソースを見るとどうやら、拡張子がclassのファイルがjavaアプレットだと思うのですが(それって当たってます?)
どうも、キャッシュにないです><

どうにか復元したいので、教えてください;;

262:デフォルトの名無しさん
08/06/17 22:06:27
Appletはオフラインよりオンライン(ネット上のアプリ)を想定してるので、素直につなげていた方がいいですよ。
出来なくも無いですけど、アレコレやるの面倒でしょ
何なら作者に連絡取るとか

263:デフォルトの名無しさん
08/06/17 22:07:49
>>261
>javaアプレットを使って中学数学を教えているサイト

ちょっと設定に無理がある

264:デフォルトの名無しさん
08/06/17 22:12:01
参照渡しの概念って厳密にはどんな定義なんですか?
今まで自分は配列を参照する変数やオブジェクトを参照変数を引数で渡すことが
参照渡しだと思ってたのに、Cの本なんかを読むとどうやら違うみたいなので。

265:デフォルトの名無しさん
08/06/17 22:56:08
厳密な定義などはないけど、C的にはメモリ上のアドレスの値を渡すこと

266:デフォルトの名無しさん
08/06/17 23:00:31
javaでいう参照渡しとC++でいう参照渡しは別モノ

267:デフォルトの名無しさん
08/06/17 23:05:41
>>258
オレの答えたcharAtじゃご不満なわけか

268:デフォルトの名無しさん
08/06/17 23:11:32
>>265
Cに参照渡しはない

269:デフォルトの名無しさん
08/06/17 23:12:58
FORTRANの引数やC++の参照型の引数は純粋な参照渡し。
Cのはポインタ渡し。

270:デフォルトの名無しさん
08/06/17 23:13:14
用語は違うがあるけど?
Cやったこと無いくせにに、適当なこと言う言うな

271:デフォルトの名無しさん
08/06/17 23:14:51
Cのはポインタの値渡し。
参照渡し使ってる言語をちゃんと知ってるなら
ポインタ渡しが参照渡しなんて口が裂けても言えないはず。

272:デフォルトの名無しさん
08/06/17 23:16:28
>>265

273:デフォルトの名無しさん
08/06/17 23:18:07
>>267
たぶんこのjavaスレは呪われてんだろ

274:デフォルトの名無しさん
08/06/17 23:18:23
多重継承とか参照渡しとか何時まで釣れるんだよw

275:256
08/06/17 23:18:54
>>262,263
やっぱりサイト主に連絡しないとですか…
復元してるなんて、、言って大丈夫なのか心配です、、

いい方法があったら、教えてください。 
場違いを感じてきたので、ロムりながら勉強します。


アプレットは
作図の手順をクリックすると順番に線が現れるやつとか
比例反比例のグラフが点が多くなってゆき最後に線になる奴とか

なんかフラッシュでもできそうなやつです…


276:デフォルトの名無しさん
08/06/17 23:20:20
>>264
「変数」に関する参照渡し(参照呼出し)はできない、と言っていい。
URLリンク(javafaq.jp)

Cの場合、「参照による変数渡し」のような文法的概念はないけど、
変数への参照を明示的に渡すことによってほぼ同等のことができるという感じか。

277:デフォルトの名無しさん
08/06/17 23:21:30
>>275
初めの質問のときとだいぶ態度が違うけど、何で?

278:デフォルトの名無しさん
08/06/17 23:22:54
>>272
仮引数の値をコピーして実引数に渡すのが値渡し。
仮引数に対する操作が(可能なら)実引数に及ぶのが参照渡し。
厳密に定義されています。

ポインタ渡しは単に値をコピーするだけなのであくまで値渡し。
参照渡しのエミュレートでしかありません。
残念でした。

279:256
08/06/17 23:27:14
前スレ読まず、ただ教えてくれ~の気持ちが強くて
ちょっと強気に言ってました。。。  気に障ったらごめんなさい。。

すげぇ場違いだったと今反省してます;;
オフラインで使用可能な方法がありましたら、よろしくです。
id表示ありませんがすべて自分ですのでよろしく。


280:デフォルトの名無しさん
08/06/17 23:30:36
>>278
はぁ?

281:デフォルトの名無しさん
08/06/17 23:33:42
>>279
十分教えてもらったのにまだ教えてもらいたいなどと考えてるし、
たぶん君が願っている事はもうかなわないと思う。

282:デフォルトの名無しさん
08/06/17 23:34:08
まあなんていうか、「厳密には参照渡しじゃねーよ」というものも、
「実質的にはそーじゃねーか」とか言われてるね、みたいな空気を感じるあたりで手を打たないかw

283:256
08/06/17 23:38:02
279
あ、前スレじゃなく このスレを読まず 
いきなり質問してしまいましたが、
レス入れていただいた方ありがとうございます。

では、<(__)> 

284:デフォルトの名無しさん
08/06/17 23:38:06
そうやって甘やかすから
void foo(int *p) { p = malloc(sizeof(int)); }

int *p;
foo(p);
free(p);
とかして、ポインタに代入して参照渡しにしたのに
何かエラーになりますとか言う奴が現れるんだろ・・・。

285:デフォルトの名無しさん
08/06/17 23:41:55
Cをちゃんと勉強してからジャヴァやるもんじゃないですか?普通は

286:デフォルトの名無しさん
08/06/17 23:42:05
>>256
はいさようなら

287:デフォルトの名無しさん
08/06/17 23:43:36
Java の引数も値渡しだな。

288:デフォルトの名無しさん
08/06/17 23:45:20
>>283
個人的な意見で申し訳ないが、なんかアパマン・ショップの物件案内の社員(DQN)と似てるんだがw
やっぱりDQNはどの分野でもDQNであって、決してそのようなDQNに期待してはいけないのだろうかといつも悩んでいるんだけど、誰か教えてくれませんか?

289:264
08/06/17 23:47:24
たくさんのレスありがとうございます。
まだモヤモヤしてるけど雰囲気は掴めました。
CもJavaも基本は値渡しだけどポインタとか使っちゃうと似た感じにできちゃうけど
でもそれは厳密には参照渡しじゃないぜ
って感じですね
面白そうだから純粋な参照渡しを仕様としてる言語を勉強してみます

290:デフォルトの名無しさん
08/06/17 23:47:30
何か質問者も回答者も頭おかしいのがちらほら増え始めたな
>>288はそんな質問ここでして何がしたいんだ

291:デフォルトの名無しさん
08/06/17 23:48:23
毎度のことながら値渡し/参照渡しで揉める理由が分からん

C, Javaには参照渡しはない。C++, C#にはある。

というだけの話しだろう

292:デフォルトの名無しさん
08/06/17 23:48:40
>>289
正確に理解してくれて嬉しいぜ。

293:デフォルトの名無しさん
08/06/17 23:49:50
>>289
というか、あなたの理解は根本的に間違ってますね。
少しCをかじったことあるみたいですけど・・

294:デフォルトの名無しさん
08/06/17 23:50:52
>>293
^^;

295:256
08/06/17 23:52:20
・・・すいません。失礼します。

296:デフォルトの名無しさん
08/06/17 23:55:05
>>256
>>286
おいでくさいまし

297:デフォルトの名無しさん
08/06/17 23:55:22
C++でもint& b = a;を「参照」という言葉で表現するという罠があるし、
まあいいんじゃねそんな世界

298:デフォルトの名無しさん
08/06/17 23:57:04
値渡しor参照渡しってのは、呼び元に影響を与えるかどうかだ。
int[] data = new data[5];
この変数dataには実体ではなく配列データが保存されたメモリを指す
だからf(data)と渡してf関数の中でdataをいじれば呼び元の配列に影響を及ぼす
よって参照渡しである。
OK?

299:デフォルトの名無しさん
08/06/17 23:57:09
いや、それは参照で合ってるだろ。
b に対する操作が a に及ぶんだから。

300:デフォルトの名無しさん
08/06/17 23:58:20
>>298
data の参照先に影響を及ぼすが
data には影響を及ぼさない。
仮引数をいくらいじろうが、data の中身が急に int[10] に変わることは無い。
よって値渡し。
OK?

301:デフォルトの名無しさん
08/06/17 23:59:32
>>298
引数に指定した変数そのものを指すのが参照渡し
実体がどうとかじゃなくて,そういう風に見せる言語機能

302:デフォルトの名無しさん
08/06/18 00:00:39
>>300
例えば関数の中でdata[0] = 1 と代入したら
呼び元のdataに入ってる配列の値も変わるんですが。
意味分かってる?

303:デフォルトの名無しさん
08/06/18 00:00:50
>>256みたいな人をここでバカにすると、今度は>>256みたいな人が他のところでjava技術者を馬鹿にするから、そういう事はやっちゃダメ!!

304:デフォルトの名無しさん
08/06/18 00:01:40
298 = 馬鹿
ってことぐらいしか分からない

305:デフォルトの名無しさん
08/06/18 00:01:46
>>302
分かってるに決まってるだろwww

306:デフォルトの名無しさん
08/06/18 00:02:12
盛り上がって参りました(棒読み)

>>299
あれは参照渡しに使えるけど、参照そのものではない

307:デフォルトの名無しさん
08/06/18 00:02:47
もうツマンネー自演はいいから

308:デフォルトの名無しさん
08/06/18 00:04:13
>>288
をこのスレの方々はどう考えてるのか教えていただけないでしょうか・・

309:デフォルトの名無しさん
08/06/18 00:05:04
void 参照渡し(ref int[] data) { data = new int[] { 4, 5 }; }

int[] a = { 1, 2, 3 };
参照渡し(ref a);
出力(a);//{4, 5}が出力される

C#だとこんな感じ

310:デフォルトの名無しさん
08/06/18 00:05:33
ポインタの話と同様、
void foo(int[] hoge) { hoge = new int[10]; }

int[] data = new int[5];
foo(data);
とやっても data が参照してるのは new int[5] のままであって new int[10] ではない。
Java の引数が本当に参照渡しなら、data は new int[10] を指すようになる。

311:256
08/06/18 00:08:05
一応、ロムしてましたが、

アプレットはオフラインはできない
という答えを受け取って消えます。

さようなら。

312:デフォルトの名無しさん
08/06/18 00:08:13
>>309>>310 の差をきちんと理解し実感していれば
Java が参照渡しなんて口が裂けても言えなくなる。
「Java が参照渡し」 という言葉は初心者にいらぬ誤解を与える邪悪な言葉だ。

313:デフォルトの名無しさん
08/06/18 00:09:48
いつの時代でも、Cのポインタを理解するのは鬼門ってこと
char*manko=&tinpo

314:デフォルトの名無しさん
08/06/18 00:12:21
>>310
それってdataはnew int[10]になるんじゃないの?

315:デフォルトの名無しさん
08/06/18 00:12:59
>>312
じゃ、何渡しがいいかな?

316:デフォルトの名無しさん
08/06/18 00:13:34
「オブジェクトの参照値渡し」とか?w

317:デフォルトの名無しさん
08/06/18 00:14:07
>>315
ポインタ渡しでいいよ。
ぬるぽとか言うくらいだし。

318:デフォルトの名無しさん
08/06/18 00:14:30
一応、ポインタを全快に理解してないと、GCを実装できないんだが・・

319:デフォルトの名無しさん
08/06/18 00:14:48
お前らが頭いいのは分かったが
何言ってんのかがさっぱり分からん!

320:デフォルトの名無しさん
08/06/18 00:15:48
>>314
ならないよ

321:デフォルトの名無しさん
08/06/18 00:15:54
>>316
あまり厳密に突っ込みを入れたくは無いだが、それは「インスタンスの」じゃないの?

322:デフォルトの名無しさん
08/06/18 00:17:34
>>314 みたいなのが出てくるから
Java は参照渡しとか言うのは邪悪としか言いようが無いんだよな。

323:デフォルトの名無しさん
08/06/18 00:19:12
Javaやる前にCを勉強してください。それも鬼門とか超難関といわれる「ポインタ」(と参照)についてしっかりやっておかないとついてこれなくなります。

324:デフォルトの名無しさん
08/06/18 00:20:57
>>315
参照の値渡しでいいんじゃね?

325:デフォルトの名無しさん
08/06/18 00:21:17
Cに参照はないし
別にポインタは難関でもなんでもない。

326:デフォルトの名無しさん
08/06/18 00:23:45
アパマンの奴はDQNしかない。「とーちゃん。派遣面接受かったみたいだよー」のあの派遣会社のCMと同程度のDQNしかいない。

327:デフォルトの名無しさん
08/06/18 00:33:46
>>326
なにいってんだ?同じ人間だし、確かに変なやつだとしてもな、どこかにいいところがあるだろ。
そういうところを互いに評価しないといけないんじゃないのか?

328:デフォルトの名無しさん
08/06/18 00:38:13
>>321
URLリンク(java.sun.com)
> An object is a class instance or an array.

だから「オブジェクト」のほうが正確なんじゃないかな?

329:デフォルトの名無しさん
08/06/18 00:44:08
いや、Java的にはね

330:デフォルトの名無しさん
08/06/18 01:00:22
>>328
たぶん君もアパマンのDQNと同等と思ったけどね、そう噛み付きなさんなw

331:デフォルトの名無しさん
08/06/18 01:03:15
「アパマン」「DQN」がマイブームの香具師がいるな

332:デフォルトの名無しさん
08/06/18 01:03:53
オレ的解釈だと、C的にはオブジェクトの」、Java的にはインスタンスの」かな。
オブジェクトの単語自体があいまだからなんともいえないけど。>>328の引用は単なる君が権威主義(英語とかSUNとか)が好きなだけじゃないのかな?

333:デフォルトの名無しさん
08/06/18 01:05:57
よくわからんw

334:デフォルトの名無しさん
08/06/18 01:09:26
>>328は権威にあこがれるDQNってことじゃないの?

335:デフォルトの名無しさん
08/06/18 01:17:09
>>328,331,333
食わず嫌いはいけませんね。
そうなってしまったのは、あなたの人格が歪んでるからでしょうか?

336:デフォルトの名無しさん
08/06/18 01:55:47
権威も何も、Sunが作った言語なんだから、
Sunの見解を参照するのは当然でしょ。

337:デフォルトの名無しさん
08/06/18 02:26:01
英語の文脈で使われるobjectと日本語の文脈で使われるオブジェクトは違うでしょ
javaを使うならJLSは当然第一に参考にすべき文書だけど日本語に訳する時に直訳はいかんよ

338:デフォルトの名無しさん
08/06/18 06:28:49
>>268 >Cに参照渡しはない
>>270 >用語は違うがあるけど?
Javaでいう参照渡しはC/C++でいうアドレス渡し

ところで、
>>270 >Cやったこと無いくせにに、適当なこと言う言うな
??

339:デフォルトの名無しさん
08/06/18 09:11:17
toStringで任意の型のオブジェクトを文字列に変換することができますが、
逆に、Type型の値と文字列からオブジェクトを作成するような枠組みは無いのでしょうか?

よろしくお願いします。

340:デフォルトの名無しさん
08/06/18 10:00:02
>>339
意味がよく判らないんだけど、
 "int", "1" => int で 1
 "float", "1" => float で 1.0
みたいな感じ?
で、それは既存の組み込み型だけでいいの?

341:デフォルトの名無しさん
08/06/18 10:32:46
sprintf() の 逆なら atoi()
static Integer Integer.valueOf(String s)
<指定された String の値を保持する Integer オブジェクトを返します。>
Type型と文字列から、じゃなくて? 表現は正確に。

342:デフォルトの名無しさん
08/06/18 11:56:44
Cのscanf()に相当する関数が欲しいって話かな。

343:デフォルトの名無しさん
08/06/18 12:15:23
スクリプト系言語のeval相当のものが欲しいようにも読める

344:デフォルトの名無しさん
08/06/18 12:34:41
そこでJson-libですよ。

345:339
08/06/18 13:50:08
説明がわかりにくくてすみません。

Object a = fromString(java.util.Date.class,"2008/1/1");
System.out.println(a.getClass()); // class java.util.Date
System.out.println(a); // Tue Jan 01 00:00:00 JST 2008

Object b = fromString(Integer.class,"10");
System.out.println(b.getClass()); // class java.lang.Integer
System.out.println(b); // 10

上のfromStringのように、文字列と変換後の型を指定すると、
文字列を指定した型のオブジェクトに変換できるような物が欲しいのです。

.NETのTypeConverterのように、
既存の組み込み型や標準ライブラリで定義された型に対して使用でき、
さらに、自分で作成したクラスに対する動作も指定できるような枠組みがあればよいのですが
このようなものはありませんでしょうか?

346:デフォルトの名無しさん
08/06/18 13:51:30
JDK6でrhinoでevalすればいいだろ

347:346
08/06/18 13:53:03
>>343-344あてね

348:デフォルトの名無しさん
08/06/18 13:57:57
Class.forName()

349:デフォルトの名無しさん
08/06/18 13:59:30
>>339
「toStringの逆」という変換が一般には無理だとわかった上で?
具体例をどうぞ

350:デフォルトの名無しさん
08/06/18 13:59:51
やべ遅れたw

351:デフォルトの名無しさん
08/06/18 14:32:23
リフレクションで出来そうじゃない?

352:デフォルトの名無しさん
08/06/18 14:35:23
よくわからんけど、インターフェースが統一されないとやなのか

353:デフォルトの名無しさん
08/06/18 15:20:13
いやいや、単なるC#宙でしょ

354:デフォルトの名無しさん
08/06/18 16:00:56
自分で作ればいいんじゃない
Object fromString(Class c, String s) {
if (c == Date.class) return DateFormat.getInstance().parse(s);
if (c == Integer.class) return Integer.parseInt(s);
if (c == Float.class) return Float.parseFloat(s);
以下略
}

355:デフォルトの名無しさん
08/06/18 16:52:10
toStringが返す文字列からオブジェクトを復元することは汎用的には無理

356:デフォルトの名無しさん
08/06/18 17:42:53
Object#toString()ってサブクラスの実装依存じゃなかったっけ?

357:デフォルトの名無しさん
08/06/18 18:41:28
うん。というか、
Object#toString()がオーバーライドされていないと、
クラス名とハッシュ値しか返ってこないから、
インスタンスの内部状態を知ることができない。

358:デフォルトの名無しさん
08/06/18 18:58:04
URLリンク(msdn.microsoft.com)(VS.80).aspx
Windows フォームのプログラミング
方法 : 型コンバータを実装する

ここなんかを見ると、GUI要素のプロパティをいじる時に文字列を経由したりするよねっていう感じの
用途がかいま見える

359:デフォルトの名無しさん
08/06/18 19:02:03
TypeConverterってそういうもんだよ
実装したらメタデータとして型やプロパティに指定しといてリフレクションで取ってくるの

360:デフォルトの名無しさん
08/06/18 19:39:10
これは邪道かな(あとPnutsですまん)
pe = class java.beans.PropertyEditorManager::findEditor(Integer.TYPE)

pe.setAsText("100")
println(pe.value - 1) // 99

pe.value = 200
println("200".equals(pe.getAsText())) // true

361:デフォルトの名無しさん
08/06/18 20:27:12
だからそれならrhinioで出来るって

362:デフォルトの名無しさん
08/06/18 20:36:38
このスレでは、String.charAtやClass.forNameじゃ不満なのか?
もう答えるつもりないし、どうでもいいけど

363:デフォルトの名無しさん
08/06/18 20:45:44
>>361
ぐぐったら前立腺マッサージャーが出たYO

364:デフォルトの名無しさん
08/06/18 21:44:13
>>362
Class.forNameは外していると思うけど、String.charAtはまあまあかな。桁数チェックにもなるし。

365:デフォルトの名無しさん
08/06/18 22:09:43
だれだ、おまえ?

366:デフォルトの名無しさん
08/06/18 22:50:54
>>364
ここではあなたの評価を気にしながら質問に答えなければいけないのですか?

367:デフォルトの名無しさん
08/06/18 23:14:03
>>366
どこからそういう疑問が湧いたのですか?

368:デフォルトの名無しさん
08/06/19 00:12:43
C言語でいう
int data = 3;
printf("%3d",data);
のように右寄せするメソッドご存じないでしょうか?

369:デフォルトの名無しさん
08/06/19 00:17:55
>>368
System.out.print(String.format("%3d", data));


370:デフォルトの名無しさん
08/06/19 00:18:33
>>368
System.out.printf

371:デフォルトの名無しさん
08/06/19 00:18:54
または
System.out.format("%3d", data);


372:デフォルトの名無しさん
08/06/19 00:19:10
ごめん,かぶった.

373:デフォルトの名無しさん
08/06/19 00:19:32
System.out.printf();

改行は ¥n ではなく %n を使う。


374:デフォルトの名無しさん
08/06/19 00:29:23
>>369-373
迅速にお答えいただきありがとうございました。

375:デフォルトの名無しさん
08/06/19 01:13:23
1.4系だったという落ちですね。わかります。

376:デフォルトの名無しさん
08/06/19 02:40:00
質問です
開発は windowsXP+Eclipseで行い、jarファイルを生成
実行は Solaris10 にて行いました
実行時にエラーとして
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Layout
at Cardget.<clinit>(Cardget.java:40)
と出てしまったのですが、ドコから調べればよいかヒントなど
ありませんでしょうか

実行方法は $ java -cp zgss_core.jar Cardget としました


377:デフォルトの名無しさん
08/06/19 02:59:14
log4jをクラスパスに通せ

378:デフォルトの名無しさん
08/06/19 04:00:33
うむ

379:デフォルトの名無しさん
08/06/19 04:29:15
if(test[s]<test[t]){
int tmp=test[t];
test[t]=test[s];
test[s]=tmp;
}

if(test[s]<test[t]){
int tmp=test[s];
test[s]=test[t];
test[t]=tmp;
}
はどっちを書いてもいいの?


380:デフォルトの名無しさん
08/06/19 04:35:39
どこに

381:デフォルトの名無しさん
08/06/19 08:01:31
そのソースだけだと、どっちでもいいとしか言えんがなw

382:デフォルトの名無しさん
08/06/19 09:17:15
TraverseEventってなに?
マウスイベントとか、キーイベントで、ででてくるんだけど、
イマイチ英和辞典の訳じゃ掴めない。

trav・erse ━ vt. 横切る, 横断する; 通過する; あちこち動く;

383:デフォルトの名無しさん
08/06/19 11:25:27
質問させてください。
Mapの値を降順に表示したいんです。現在下のような記述をしてるのですが、
どうも最善な気がしません。これよりマシな方法をごぞんじなら教えてください。
Mapのインスタンス名はmapです。

Set<Integer> ts = new TreeSet<Integer>();
ts.addAll(map.values());

List<Integer> order = new ArrayList<Integer>();
order.addAll(ts);

for(int i= order.size()-1; i>=0; i--){
int num = order.get(i);

for(Entry<String, Integer> en:map.entrySet()){
String key = en.getKey();
Integer value = en.getValue();
if(value == num){
StringBuilder sb = new StringBuilder("Products: ");
sb.append(key).append(": Number: ").append(value);
System.out.println(sb.toString());
}
}
}

384:デフォルトの名無しさん
08/06/19 11:32:59
TreeSetの値を出力すればいいのではなくて?

385:デフォルトの名無しさん
08/06/19 11:54:42
>>383
値の降順にソートするコンパレータを設定したTreeMapにmapをputAllして、
そのTreeMapから順番に取り出せばいいんじゃない?

386:デフォルトの名無しさん
08/06/19 11:58:04
あ、キーの値じゃなくて値か
じゃあ385はダメだね

387:385
08/06/19 12:08:03
Entryの値の方で降順にソートするコンパレータを設定したTreeSet<Map.Entry<String, Integer>>に
map.entrySet()をaddAllして、そのTreeSetから順番に取り出せばいいのかな。

388:デフォルトの名無しさん
08/06/19 12:11:05
配列に全部突っ込んでからソートした方が速そう

389:デフォルトの名無しさん
08/06/19 12:23:26
おおまかにはこんな感じかな?
Set<Map.Entry<String, Integer>> set = new TreeSet<Map.Entry<String, Integer>>(
new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
set.addAll(map.entrySet());
for (Map.Entry<String, Integer> e : set) {
System.out.println("Products: " + e.getKey() + ": Number: " + e.getValue());
}

StringBuilderを使っているところはインスタンスをループの外で生成するのなら別だけど、
わざわざそう書かなくても+で結合する書き方でもコンパイラがそんな感じにしてくれる。

>>388
それもいいかも

390:デフォルトの名無しさん
08/06/19 12:34:23
どうもgenericsの記述量に負けてあまりシンプルって感じに見えないや。
流れは単にnew TreeSetしてaddAllだけなのに。

391:デフォルトの名無しさん
08/06/19 17:34:42
JavaSE6からjavax.tools.Compilerを使えばJREだけでJavaのコンパイルできるってこと?

392:デフォルトの名無しさん
08/06/19 18:05:52
>>391
JRE には tools.jar が無いから無理のはず。

393:デフォルトの名無しさん
08/06/19 18:18:21
JREにtools.jarは入っていないけれど、
tools.jarをJREといっしょに再配布するのは構わなかったはずなので、
あとはtools.jarにパスが通っていればおk

394:393
08/06/19 18:23:07
自分の作成した動的コンパイル機能付きのプログラムを配布する場合、という意味ね
自分の環境だけでいいのなら素直にJDKをインストール

395:デフォルトの名無しさん
08/06/19 18:24:52
なるほど、tools.jarの再配布条件を調べてみます
ありが㌧

396:デフォルトの名無しさん
08/06/19 22:17:29
質問です
jarを実行したところエラーが出まして
Can't find resource for bundle java.util.PropertyResourceBundle, key table.section.pointup9
というエラーが出たのですが、ドコから調べていいのかわからず。
設定ファイルを読んで処理をするjarなのですが・・


397:デフォルトの名無しさん
08/06/19 22:43:48
久しぶりにJavaのお仕事…
既存のWebシステムに一画面追加するだけのお仕事だったのですが、
SIとSLを作成し、ローカルでコンパイルし、
作ったクラスファイルをUNIXサーバにFTPで配置したのに404

WebOTXを何度落とし上げしても404・・・

ずっと悩んでしまったんだけど、
これってもしやasant deployを忘れてるってことでおkですか?

398:デフォルトの名無しさん
08/06/19 22:52:14
>>396
その設定ファイルが正しく読めてない予感

399:396
08/06/19 23:00:58
pointup9
という項目を追加して読もうとしてるので、そこがおかしいみたいです・・ね
javaのmain定義部分をもう少し見直してみます

400:デフォルトの名無しさん
08/06/19 23:26:37
初心者です
歌詞検索みたいなのってJavaでつくることは可能ですか?

401:デフォルトの名無しさん
08/06/19 23:34:30
データがあればね

402:デフォルトの名無しさん
08/06/20 00:00:07
>>383
もっと素直に
ArrayList<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>(){
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o1.getValue().compareTo(o2.getValue()) * -1;
}
});

for (Map.Entry<String, Integer> entry : list) {
System.out.printf("Products: %s, Number: %s%n", entry.getKey(), entry.getValue());
}


403:デフォルトの名無しさん
08/06/20 00:23:02
> * -1;

初めて見た

404:デフォルトの名無しさん
08/06/20 01:26:42
そんな奴には Integer.MIN_VALUE を渡すことにしている。

405:デフォルトの名無しさん
08/06/20 02:11:20
すいません、質問させて下さい。

classpath上に存在するクラスの中から、特定のアノテーションが付いているものだけを抽出する方法を調べています。

Javaで実行時のclasspath上に存在する全クラスを取得する方法ってないのでしょうか?
もしくは特定のpackage以下に存在する全クラスでも良いのですが・・・。

ClassLoaderを自作するサンプルとかにあるみたいに、ディレクトリ以下の.classを直接読みに行く他ないのでしょうか・・・。


406:デフォルトの名無しさん
08/06/20 02:24:26
ええ本教えて

407:デフォルトの名無しさん
08/06/20 03:29:59
>>397

JavaとWebOTXについて言うと
WebOTXを使ったWebアプリ開発についての書籍とかサイトって
なかなかないんだよな・・・

WebOTXユーザって相当少ないのかな・・・
事例とか簡単入門とかもあんまり見当たらないよな・・・

だれか詳しい人、何か参考になる情報あれば、ぜひ

408:デフォルトの名無しさん
08/06/20 03:34:46
>>407
君が詳しい人になって本を書くかサイトを立ち上げてほしいな。

409:デフォルトの名無しさん
08/06/20 03:40:18
3ヶ月間職業訓練校行った人
授業の内容どんなの?

410:デフォルトの名無しさん
08/06/20 06:35:48
>>389
>>402
383です。おそくなりましたが、カキコをありがとうございます。
教えていただいたComperatorインタフェースの使い方、大変参考になりました!
まさに知りたい事だったように思います。

411:デフォルトの名無しさん
08/06/20 06:44:01
スペル間違い、Comparatorでした。

412:デフォルトの名無しさん
08/06/20 09:03:29
私は今年javaを本格的に学び始めた者ですが質問です。

interface Frame {
String Frame = "Alumi";
String getFrame();
}
上記の内容のinterfaceがあるとき実際にはどのような記述と同意であるか?というものです。

いろいろ調べてはみたのですが問題の定義もなんだかイマイチ曖昧で分かりません。
どなたか分かる方教えていただけませんか?

413:デフォルトの名無しさん
08/06/20 09:21:18
っinterface 暗黙 修飾子


414:デフォルトの名無しさん
08/06/20 09:29:50
>>413
abstract?

415:デフォルトの名無しさん
08/06/20 11:49:00
DecimalFormat exFormat2 = new DecimalFormat("###,###,###,##0.##");
System.out.println("hoge=" + exFormat2.format(99.999));

上記ソースで実行結果が99.99となるような切捨てにしたいのですが
どうしたらよいでしょうか?


416:デフォルトの名無しさん
08/06/20 11:51:54
>>405
クラスパスを自力で辿って、すべてのクラスの名前を (ファイル名等から) 知る
Class#forName で、その名前のクラスをロードする
Class#getAnnotation で、ロードしたクラスのアノテーションを調べる

417:デフォルトの名無しさん
08/06/20 12:35:18
>>415
1.6以降なら exFormat2.setRoundingMode(RoundingMode.DOWN) とかすりゃ切捨てできるけど

418:デフォルトの名無しさん
08/06/20 13:33:21
すいません、ここでJSPの質問をしても大丈夫でしょうか?

419:デフォルトの名無しさん
08/06/20 13:34:09
>>417
さんくす。1.5なので100かけて100で割ることにしました。

420:デフォルトの名無しさん
08/06/20 14:58:24
BufferedImageに読み込んだ画像の背景を透明にしたいのですが
どのような方法がいいでしょうか?


421:デフォルトの名無しさん
08/06/20 15:11:56
最初から背景が透明な画像 (透過GIFやアルファ付きPNG) を読み込むのが一番簡単だと思うよ
それじゃだめな理由があるなら、説明よろしく

422:デフォルトの名無しさん
08/06/20 15:53:16
>>420
何をもって背景にするかによって方法はいろいろあるけど、
一番お手軽で処理が速いのは>>421の言う通り最初から透明化したリソースを用意すること。
動的に透過色を変更したいとかの要求があるなら、イメージフィルタを通す方法がある。
例えば真っ白を背景色として透明にするなら、白のピクセルのアルファを0にするイメージフィルタを介してやる。
おおまかにはこんな感じで。
Image transimage = Toolkit.getDefaultToolkit().createImage(new FilteredImageSource(
sourceimage.getSource(),
new RGBImageFilter() {
public int filterRGB(int x, int y, int rgb) {
return (rgb & 0x00ffffff) == 0x00ffffff ? rgb & 0x00ffffff : rgb;
}
}
));
これは背景色が固定された処理だけど、
背景にしたい色を与えて動的に背景色を変更するようにフィルタを実装すればそれなりにいろいろと。

423:420
08/06/20 16:14:09
>>421>>422
返信ありがとうございます

できれば最初から透過された物を使用するのがベストだと思うのですが
アプリケーションを実行する時にpngに関する事でエラーを起こしてしまい
うまくいきません

これは画像の作り方が悪いのでしょうか?

424:デフォルトの名無しさん
08/06/20 16:16:54
>>423
少なくともエラーは晒せ
できればソースも
それともエスパーによる回答希望?

425:420
08/06/20 16:41:26
本当にすいません
画像を作り直したら成功しました
ありがとうございました

426:デフォルトの名無しさん
08/06/20 17:12:38
whileで永久ループしているプログラムに外から停止命令を
出したいのですが、こういう場合はソケット通信が適切でしょうか?
ほかに良い方法がありましたら教えてください。

427:デフォルトの名無しさん
08/06/20 17:15:40
普通はThreadじゃないの?

428:デフォルトの名無しさん
08/06/20 17:15:48
っスレッド

429:426
08/06/20 17:23:55
>>427,428
ありがとうございます。

たとえば
>java hoge.class
で実行して
>java hogestop.class
を実行するとhoge.classのプログラムが終了するような感じにしたいです。

このような場合ですがスレッドはどのように使えますでしょうか?

430:デフォルトの名無しさん
08/06/20 17:45:17
なんだ、小出し野郎か。

431:デフォルトの名無しさん
08/06/20 18:11:37
staticなflagを作って外部から書き換える

432:デフォルトの名無しさん
08/06/20 18:32:00
canvas3D上にpaintでfillRectを用いて描画したいと思っているのですが、
最前面に表示されません。何かいい方法ご存知でしたら教えて下さい。
よろしくお願いします。


433:デフォルトの名無しさん
08/06/21 01:53:26
javaアプリケーションからjarファイル(他のjavaアプリ)を起動することはできるのでしょうか?
方法をご存知でしたら教えていただきたいです。よろしくお願いします。

434:デフォルトの名無しさん
08/06/21 02:03:41
>>433
クラスパスが通ってれば、String[] argsを用意して
com.example.app.FooApplication.main(args);
を呼ぶだけ。

・クラスパスが通ってない場合
・mainのクラス名がわからない場合
などなどあるけど、まあ基本は↑ので。


435:デフォルトの名無しさん
08/06/21 08:58:12
>>434
ありがとうございます。試してみたところ起動できました。
今は同一プロジェクト内のクラスのmainを複数起動してみたのですが、
クラスパスが通っていれば他プロジェクトのmainも起動できるのでしょうか。
一つ問題なのが、この方法だとおそらく複数のアプリが同一プロセスで
実行されている気がするのですが、別々のプロセスで実行することは可能でしょうか。
答えていただければ幸いです。

436:デフォルトの名無しさん
08/06/21 09:21:18
ProcessBuilderとかRuntime(1.4まで)とか

Javaではサブプロセスと縁を切ることはできないんだっけ?


437:デフォルトの名無しさん
08/06/21 10:45:23
独習JAVAで勉強してるんですが
スレッドの章でRunnableを実装したクラスで
MyThread4(String str, long msec) {
this.str = str;
this.msec = msec;
new Thread(this).start();
}
と言う部分があり、その中の
new Thread(this).start();
の部分が意味がいまいちわかりません。
質問があいまいですいませんが
どなたか説明していただけないでしょうか。
お願いします。

438:デフォルトの名無しさん
08/06/21 10:51:36
// 自分自身をスレッドで実行されるコードとして、スレッドを作成する
Thread t = new Thread(this);
// スレッドを開始する
t.start();


439:デフォルトの名無しさん
08/06/21 11:23:58
MouseMotionListenerをimplementsしないと
・mouseDragged(MouseEvent e)
・mouseMoved(MouseEvent e)
が実装できないのはなぜでしょうか。
インターフェイスはあくまで、指定したメソッドの
実装を義務付けるみたいな感じで習ったので。

440:デフォルトの名無しさん
08/06/21 11:33:21
>>439
MouseMotionListenerをimplementせずに
・mouseDragged(MouseEvent e)
・mouseMoved(MouseEvent e)
を実装しても一向に構わないが、
MouseMotionListenerを実装したとは認識されない。ただそんだけ。

441:デフォルトの名無しさん
08/06/21 11:52:57
っダックタイピング

442:デフォルトの名無しさん
08/06/21 11:54:33
ダックタイピングか強い静的タイピングの違いだな。

443:デフォルトの名無しさん
08/06/21 11:55:16
ち、リロードしてなかったぜ

444:439
08/06/21 12:14:32
>>440
ありがとうございます。
addMouseMotionListner(this)によって渡すものが
MouseMotionListenerクラスのオブジェクトでないと
いけないのだと解釈しました。

445:439
08/06/21 12:17:13
ああ、何かおかしい

クラスというよりは、MouseMotionListenerという型で
受け取れる形だから、継承または実装されたオブジェクト
でないと、うまいこといかないってことなのかなぁ

446:439
08/06/21 12:19:27
MouseMotionListenerというインターフェイスを
実装してないとダメなわけですね!

447:デフォルトの名無しさん
08/06/21 14:29:59
ダックタイピング だとしてもimplementsやらないと結局機能しないんじゃないの?

448:デフォルトの名無しさん
08/06/21 14:57:52
ダックタイピングは持ってるメソッドで所属するクラス(オブジェクト)決めてるからそんな心配ナス

449:デフォルトの名無しさん
08/06/21 15:34:40
リスナーの呼び出し元はどうするの。
addMouseListener()とかしないでどうやってcallするの?

450: [―{}@{}@{}-] デフォルトの名無しさん
08/06/21 15:41:54
ホスト名(FQDN)が正当かどうか評価する方法はないでしょうか。
どうも . が付いても InetAddress#getByName 等では引けてしまうようで、

1. www.example.com  : 当然 OK
2. www.example.com. : OK
3. www.example.com.. : これは NG

といった状態になってしまいます。
或いは RFC 的に 2 も OK(1 と同じ場所を指す)と言う事なのでしょうか。
であると逆に、InetAddress#getByName で引ければ正当と判断して良い?

451:デフォルトの名無しさん
08/06/21 15:52:46
. つけてもブラウザで見れるね

452:デフォルトの名無しさん
08/06/21 16:25:32
>>449
addはもちろんするが型がなんであるかは関係ない。
普通はメソッドテーブルを検索して対応するメソッドがあれば呼ぶ。
この場合だとコールバック関数名が一致するオブジェクトをadd(これがcallee側になる)しといてcaller側が必要なコールバック関数を呼び出せるかどうか試してみる。
それに成功すればcallee側のコールバック関数を呼び出す。
ダックタイピング採用してるruby辺りをいじるのが早くて分かりやすい。

453:デフォルトの名無しさん
08/06/21 16:27:39
implements MouseListener
じゃないと、型が違うからadd出来ないと思うが?

454:デフォルトの名無しさん
08/06/21 16:37:11
おまえはまずダックタイピングを理解しろ

455:デフォルトの名無しさん
08/06/21 16:50:24
このスレ的にはダックタイピングの議論を深めるのはスレ違いだし初心者を混乱させる元だ
今のjavaをやっている限りはダックタイピングについて理解しなくても構わない

456:デフォルトの名無しさん
08/06/21 17:08:28
いっそ、java.beans.EventHandlerについて語ろうぜ

457:デフォルトの名無しさん
08/06/21 17:09:57
いやここはJAXB2.0だろ

458:デフォルトの名無しさん
08/06/21 17:50:33
eclipsでtomcatを使用できるようにしようとしているんですが
サーバービューで起動するとポートが使用されているか既に使われていて使えないと出てしまいます。


どうすれば使えるようになるのか教えてください。

459:デフォルトの名無しさん
08/06/21 18:05:10
eclipseスレに行け

460:デフォルトの名無しさん
08/06/21 18:31:27
そのポートを使用しているアプリケーションを終了するかポートを変更してください

461:デフォルトの名無しさん
08/06/21 18:46:17
JSFでFragmentを切り替えるにはどうしたらいいでしょうか

462:デフォルトの名無しさん
08/06/21 18:55:25
InputStreamのread()の返却値の型がintになっている理由がよく分からないのですが、
read()はストリームから次の1バイトを読み込み、それを返すというものと考えて良いのでしょうか?
OutputStreamのwrite(int)ではintを引数にして上位24bitを無視することで1バイトの書き込みをするというのも不自然な気がして、
これもreadの仕様が素直にbyteなら良い気がするのですが。

463:デフォルトの名無しさん
08/06/21 18:58:28
255と-1(EOF)を区別するためだろうけど、Cへのオマージュではなかろうか。

464:デフォルトの名無しさん
08/06/21 18:58:56
>462
JavaDoc嫁
int read()  入力ストリームから次のバイトデータを読み込みます。
戻り値:  データの次のバイト。ストリームの終わりに達した場合は -1

intな理由はint read(byte[] bytes)との兼ね合いかもね

465:デフォルトの名無しさん
08/06/21 19:00:33
むしろ、Byte read() だったならばOKなのか、ストリームの終わりの場合はnull(EOF)とできるから

466:461
08/06/21 19:05:06
リンクにイベント発生させるようにすればいいのかしら

467:デフォルトの名無しさん
08/06/21 19:19:30
JavaAppletからJavaScriptを操作する方法を知りたいので、
検索して調べたところ、「netscape.javascript.*」を取り込まないといけないと書いてあり、
コンパイルのために、JDKに付属するライブラリをCLASSPATHに通す必要がある、
と書いてありました。
それでCLASSPATHを通すというのが分からないので教えて下さい。

開発環境は
CPAD for JAVA2 SDK
j2sdk1.4.2_15
です。お願いします。

468:デフォルトの名無しさん
08/06/21 19:26:00
環境変数設定しろ。あとはググレ。
あとcom.netscapeパッケージはNN系しか使えないからRhino組み込め。

469:461
08/06/21 19:30:33
やっぱjavaコード側で何とかする話なんだよねえ

470:デフォルトの名無しさん
08/06/21 20:10:28
素直にページ作るよ

471:デフォルトの名無しさん
08/06/21 20:38:15
>>468
IEでも動くがな

472:デフォルトの名無しさん
08/06/21 20:47:15
>>471
一部だけな

473:439
08/06/21 21:04:07
ダックタイピングってもしかして私に対するレス!?
だとしたら、みなさんありがとうございます。

ダックタイピングも調べてみたのですが、やっぱり
>>453さんの仰るように、
implements MouseListener
がないとエラーが出てしまいます。
Javaはダックタイピングができないのかな

それから、もうこの話はしない方が良いのでしょうか?

474:デフォルトの名無しさん
08/06/21 21:10:15
ダックタイピング知らないなら気にしなくて良いよ。

475:デフォルトの名無しさん
08/06/21 21:56:55
>>473
すくなくともJavaをふつうに使っている限りは関係がない。


476:デフォルトの名無しさん
08/06/22 04:37:27
>>473
implementsをつければ、クラスを作る側がそのインターフェースを実装する気だったことが早い段階で確認できるでしょう。
偶然メソッド名などが一致していて動作の辻褄も合うなら同類とみなす、というダックタイピング的考えとは対照的(だから参考になる)。
Javaの型の基本が身についていれば出てこない疑問かもしれない。

477:467
08/06/22 08:25:07
>>468
com.netscapeの使い方が分かるようになりました。
ありがとうございます。
あと、Rhinoについて調べてrhino1_7R1というのをダウンロードして、
今度は使い方について調べたのですが、
コマンドラインからの利用法しか載っておらず、
JavaAppletなどからの利用法が見つかりませんでした。
よろしければ使い方を教えて頂けませんか?
もしくは使い方の載ってるサイトを教えて下さい。お願いします。

478:デフォルトの名無しさん
08/06/22 11:07:12
Listの中身をチェックしながら消したいんですけど

for (ManagerImpl manager : managerList) {
if (manager.cleanup()) {
managerList.remove(manager);
}
}

こういう書き方だとjava.util.ConcurrentModificationException
が出ます。

どういうお作法がいいんでしょうか。

479:デフォルトの名無しさん
08/06/22 11:46:25
OKWaveに同じ質問がありました。

for (Iterator<ManagerImpl> i = managerList.iterator(); i.hasNext();) {
if (i.next().cleanup()) {
i.remove();
}
}

だそうです。

480:デフォルトの名無しさん
08/06/22 11:51:29
URLリンク(java.sun.com)
> for-each ループでは反復子が隠されるため、remove メソッドを呼び出すことができません。
> そのため、for-each ループをフィルタリングに使用することはできません。

481:デフォルトの名無しさん
08/06/22 11:56:09
>>477
rhinoのページに組み込みかた載ってるしrhinoのサンプルにも組み込みサンプルがあるよく見てみ。

482:デフォルトの名無しさん
08/06/22 11:57:00
>>478
Listのremoveでなくイテレータのremoveを使わないと
for (Iterator<ManagerImpl> iter = list.iterator(); iter.hasNext(); ) {
ManagerImpl manager = iter.next();
if (manager.cleanup()) iter.remove();
}

483:デフォルトの名無しさん
08/06/22 12:43:51
2chでのマルチが減った代わりに
教えて君御用達Q&Aサイトとのマルチが増えたな

484:デフォルトの名無しさん
08/06/22 12:48:48
質問です。
JTableのセルにJbuttonを配置したいのですが、うまくいきません。

具体的には、JTableのセルにImageIconを配置するサンプルプログラム
URLリンク(www.javadrive.jp)
のページの下にあるソースコードの、テーブルデータの配列中のImageIconを指定している部分
new ImageIcon("./img/***.gif") を
new JButton("a") のように置き換えてみましたが、javax.swing~という文字列が表示されるだけです。

クラスが正しく扱われていないのではと思い、

public Class getColumnClass(int col){
return getValueAt(0, col).getClass();
}

上部分のソースコードのreturnを、
return JButton.class;
のように置き換えて直接指定してみたのですが、結果は同じでした

説明が拙くて恐縮ですが、JTableのセルにJbuttonを配置する具体的な方法を
どなたかご存知でしたら教えてください


485:デフォルトの名無しさん
08/06/22 13:16:30
>>478
まあ for(member:list)構文の弱点の一つだな。
見栄えはいいんだけど、イテレタ展開しちゃうからね。

このパターンだけは、昔ながらの書式で、
for(int i=list.size()-1;i>=0;i--){
 if(list.get(i).cleanup()){
  list.remove(i);
 }
}
と書くのが好み。

Iteratorの実装はなんどかやったことあるけど、
remove()は必要になるまで書かない(というか書きたくない)からさ、
使うのも自重してる。

486:デフォルトの名無しさん
08/06/22 14:20:57
javaアプレットでさ、動画と画像を描画するときに動画が手前にくるんだが、z軸を調整する関数はなんだっけ?

487:デフォルトの名無しさん
08/06/22 14:30:55
API何使ってんだよ?

488:デフォルトの名無しさん
08/06/22 17:07:02
>>486
動画?

489:467
08/06/22 17:24:24
URLリンク(www.mozilla-japan.org)
このページ読んだのですが、使い方が分かりませんでした。
まずはimport org.mozilla.javascript.*;を使うにはまた環境変数をいじらないといけませんよね?
あと、これを書けばJavaScriptの文法を使用可能になると言うことでしょうか?

490:デフォルトの名無しさん
08/06/22 18:03:23
>>489
実行時にクラスパス通せばいい。

>あと、これを書けばJavaScriptの文法を使用可能になると言うことでしょうか?
そう

491:使用書無しさん
08/06/22 19:17:24
javaフリークの皆さん。100%PureJavaでドローソフト URLリンク(jdrafter.sakura.ne.jp)
を作ったので是非使ってね。javaの帳票設計にも使えるよ。

492:デフォルトの名無しさん
08/06/22 19:25:37
java3D?



493:使用書無しさん
08/06/22 19:27:13
2Dだよ


494:デフォルトの名無しさん
08/06/22 19:28:39
おー
頑張った頑張った。だが…

495:使用書無しさん
08/06/22 19:32:02
だが?

496:デフォルトの名無しさん
08/06/22 19:32:03
初心者から中級者ってどこで判断するんだ
開発経験年数?

497:デフォルトの名無しさん
08/06/22 19:36:47
>>491
すっげぇ!!!!
まじで感動したw
俺もがんばろっとー

498:使用書無しさん
08/06/22 19:51:23
>>497よかったら使ってね。

499:デフォルトの名無しさん
08/06/22 20:01:56
javaなのになんでexeなの?

500:デフォルトの名無しさん
08/06/22 20:08:30
ただの自己解凍zipだよ。解凍したらclassファイルいっぱいでてくる。
けど・・・ほんとすごいわ。
経験が浅いからこんなでっかいプログラム見たこともなかった。

馬鹿にされそうw

501:使用書無しさん
08/06/22 20:09:14
jarパッケージでもよかったんだけど、jarだと中身丸見えだしアイコンも
ダサいので、あえてExeにラップしました。

502:デフォルトの名無しさん
08/06/22 23:26:45
あの~
色決めるときに { | | } こんな感じで区切ってbyteに代入するのはいったいどういう意味があるんですか?
ほかにも | で区切る表現が偶に出てきて戸惑うんですけど・・・・・
入門書にも載ってなくて 誰か教えてもらえませんか?

503:デフォルトの名無しさん
08/06/22 23:37:25
| は区切りではない
ビットごとの論理和 (OR) の演算子
その入門書の演算子の一覧かなんか見てみろ、載ってるはず

504:デフォルトの名無しさん
08/06/23 01:26:41
趣味で為替のチャート表示のプログラミングをJAVAでしたいと思っているのですが、為替のリアルタイムでのデータをネットから取り込むことは出来るのでしょうか?
質問が漠然としていて申し訳ないのですがお願いします。

505:デフォルトの名無しさん
08/06/23 01:32:42
>>504
きみのPCのブラウザで表示できる情報はすべてJavaで取得できる手段が
存在すると考えていい。すごく難しい場合もあるけど。


506:デフォルトの名無しさん
08/06/23 01:48:37
>>505
ありがとうございます。
大学ではCとFortranを使ってたのですがどちらも制御系のプログラムばかりでこういった類の経験がありませんでした。
林晴比古の入門JAVAシニア編でもネットから情報を取り込むことに触れられないので不安に感じましたが、もっと勉強しようと思います。
その辺を詳しく解説してくれる書籍などはないでしょうか?

507:デフォルトの名無しさん
08/06/23 02:31:02
赤音れおん

508:デフォルトの名無しさん
08/06/23 03:33:11
>>504 >>506
よくわからないけど、java.netパッケージあたりが基本では
URLリンク(java.sun.com)

509:デフォルトの名無しさん
08/06/23 07:31:09
>>508
ありがとうございます。その系列の本をあさってみようと思います

510:デフォルトの名無しさん
08/06/23 09:42:26
>>504
原則的には>>505が言ったとおりなんだけど
ファイナンス系サイトはデータを流用されないように工夫しているところもあるから注意
例えば数字に見えても画像だったりFlushで表示を制御してたり

511:デフォルトの名無しさん
08/06/23 10:02:41
プログラムのために準備されたものでないものからデータを拾う場合は
それないりに工夫や苦労はつき物。
相手がレイアウトや内容を変えない保障はどこにもない。
うちの社内なんていくつかのシステムの寄せ集めで、
システム間のデータのやり取りの大半が、
印刷直前の帳票データから拾ってるから間違い多いしカオスすぎる・・・

512:デフォルトの名無しさん
08/06/23 10:32:44
特定のフォルダ内からフィルタを掛けて、条件に引っかかるファイルの内容を表示したいので、
finamefilterを使って実現したのですが、当然の如くフォルダ内のファイル数増加に伴って応答が遅くなります。
なにかいい解消手段はないでしょうか?

513:デフォルトの名無しさん
08/06/23 10:42:39
>>510
なるほど・・・たしかに証券会社のチャートやボードはフラッシュや動画の類いに見えます。
実際問題、個人でそういったデータを引っ張ってきて表示させるのはきつそうですね。
ありがとうございました

514:デフォルトの名無しさん
08/06/23 11:15:17
MT4辺りにDLLフックかけてJNI経由で取り込む

515:デフォルトの名無しさん
08/06/23 12:27:35
>>512
(十分な効果が出るか分からんけど)ファイル名をあらかじめメモリに展開するとか
よほど大量なら、全文検索エンジンに放り込んでおくという手もあるが
取り扱いが面倒になる

516:デフォルトの名無しさん
08/06/23 12:59:21
>>513
もうちょっと有力な回答があるとまってたんですけど・・・
確か個人ですけど、リアルタイム(1秒毎)は証券会社に加入するしかないです。

yahooのあれは20分遅れだったかな?
個人集団が作ってる有力な株ソフトがいくつかあるんで、それを参考にしたらどうですか。
やってることもhtmlのテキスト解析・分析・処理のようですけど。

517:デフォルトの名無しさん
08/06/23 13:20:03
eclipseでパッケージの中にパッケージをつくるにはどうやるんですか?

518:デフォルトの名無しさん
08/06/23 15:32:10
eclipseスレにいけ

519:デフォルトの名無しさん
08/06/23 20:26:11
javaでstrutsでなにかしてみたいのですが
お勧めのHPあれば教えてください。

520:デフォルトの名無しさん
08/06/23 20:46:11
為替と聞かれて証券教えるこの不思議

521:デフォルトの名無しさん
08/06/23 22:14:40
なに、御礼もないし嬉しくもないの?
まあ、もう答えないからいいよ。

522:デフォルトの名無しさん
08/06/23 22:25:39
いじけちゃってかわいい♪

523:デフォルトの名無しさん
08/06/23 22:53:26
殺すぞ?

524:デフォルトの名無しさん
08/06/23 22:57:50
通報すっぞ?

525:デフォルトの名無しさん
08/06/23 22:58:46
ってかわいい♪

526:デフォルトの名無しさん
08/06/23 23:06:04
以下のソースだと、
java.lang.NullPointerException
がtd[count].setWord(strAry[1]);のところで
出てしまいます。
かれこれ4時間やっているのですが、わからないので、
解決法をおしえてください。
また、できるだけ、影響が少ない方法(データモデルをあまり変えない)
だと助かります
よろしくお願いします。

int count = 0;

while ((line = br.readLine()) != null) {
String[] strAry = line.split(" ");

System.out.println(strAry[1]);
if (strAry.length==2) {
System.out.println("aaa");
}
else if (strAry.length==3){
System.out.println("gp" + strAry[1]);
td[count].setWord(strAry[1]);
td[count].setSpeech(strAry[2]);
} }
count++;
}

527:デフォルトの名無しさん
08/06/23 23:08:47
>>526
td[] はどこでどうやって宣言してる?恐らくそれが間違っている。

528:デフォルトの名無しさん
08/06/23 23:13:23
S!アプリ造りたいんですけどいいサイト知りませんか?

529:526
08/06/23 23:26:25
>>527
ありがとう

public class Manager {
TokenData[] td;

という感じで,クラス宣言の後で,宣言しています.

また,TokenDataは,以下のクラスで宣言しています.
よろしくお願いします.
public class TokenData {
private String word = "";
private String basicWord = "";
private String speech = "";
public void Token() {}
public String getWord() {
return word; }
public void setWord(String word) {
this.word = word; }
public String getBasicWord() {
return basicWord; }
public void setBasicWord(String basicWord) {
this.basicWord = basicWord; }
public String getSpeech() {
return speech; }
public void setSpeech(String speech) {
this.speech = speech; }}

530:デフォルトの名無しさん
08/06/23 23:29:35
>>526
配列の宣言と初期化について調べたほうが良いと思います。

項目数が不明な取り込みには ArrayList を使いましょう。
配列での保持が必要なら、後で変換しましょう。

531:526
08/06/23 23:33:20
ありがとう。
ArrayListを使う場合の例をおしえていただけませんか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch