【初心者】Java質問・相談スレッド101【大歓迎】at TECH
【初心者】Java質問・相談スレッド101【大歓迎】 - 暇つぶし2ch175:デフォルトの名無しさん
07/05/06 10:12:10
>>166
つ null layout

176:デフォルトの名無しさん
07/05/06 11:09:04
>>170
食らうヒープ量が全然違うので関係大あり。


177:デフォルトの名無しさん
07/05/06 11:17:24
JAVAでロボット動かせるって本当ですか

178:デフォルトの名無しさん
07/05/06 11:20:22
>>177
ロボットにJava仮想マシン載せれば

179:デフォルトの名無しさん
07/05/06 12:26:10
ウインドウアプリケーションを作ろうと思っています。
Appletクラスの継承を用いてアプレットを起動する場合には、
htmlファイルの中に
<applet code="XXX.class" width=256 height=256>
を記入すればいいと思いますが、Frameクラスの継承を用いた場合、
同様にインターネットエクスプローラーから起動させるにはどうすればいいのでしょうか?



180:デフォルトの名無しさん
07/05/06 12:27:53
>>179
Java Web Startでぐぐる

181:デフォルトの名無しさん
07/05/06 12:31:51
>>174
これ使ってもうまくいかなかった。
ていうかJavaは用意されたレイアウトを組み合わせることでGUI部品を配置していく
仕組みを奨励してるのかな。面倒だよな。配置の仕方に限界がありそう。
なんで他言語のようなリソースエディタがないのだろう。
GUI部品のレイアウトをいちいち回りくどく記述するなんて古いよ


182:デフォルトの名無しさん
07/05/06 13:05:13
同一環境でしか動かさないつもりなら別にいいが
そうでないなら絶対座標指定のほうがよっぽど限界があるわ。

183:179
07/05/06 13:08:21
>>180
ありがとうございます。ちょっくらやってみます。

184:170
07/05/06 13:09:16
>>172
>>176
速度的な面はどうなんでしょうか…?

185:デフォルトの名無しさん
07/05/06 13:15:40
>>184
実測して計ってみるのがいいでしょう

186:デフォルトの名無しさん
07/05/06 13:17:02
>>181
>>175は見たか?


187:161
07/05/06 16:08:50
知識が乏しくて恐縮ですが
自分が使っているファイルシステム?ってのはどうやって調べられるのでしょうか。


188:デフォルトの名無しさん
07/05/06 17:39:17
現在専門学校生なのですが、学校と同じ環境を作りたく設定で悩んでいます

コマンド プロンプトで、terapad ----.javaと打てばterapadが立ち上がるようにしたいのですがどうすればいいのでしょうか?

189:デフォルトの名無しさん
07/05/06 17:40:16
JFrameで質問があります。
Core Javaのボールオブジェクトが跳ね返るプログラムの応用で、
JFrame内に存在するオブジェクト(この場合、四角です)をD&DでJFrame内なら
自由に移動出来るJavaプログラムを作成しているのですが、
JFrameの外(見えない部分)にも移動でき、そうした場合、オブジェクトが見えなくなるので、
強制終了する以外終了する方法がないという意味のないプログラムになってます。

どうすれば、オブジェクトをJFrame内のみ移動可能なプログラムにする事ができるのでしょうか?

190:デフォルトの名無しさん
07/05/06 18:00:13
>189
どうしてボールが跳ね返る(ようにみえる)か考えてみたら?

191:デフォルトの名無しさん
07/05/06 18:23:56
遠坂凛に質問です。

宝石製のバイブでオナニーすると、魔力を溜めることはできるんでしょうか?

192:デフォルトの名無しさん
07/05/06 18:30:00
>>189
ズバリ解答を言うと、端に来たらD&Dでき無くすればおk

193:デフォルトの名無しさん
07/05/06 18:35:55
>>188
exploreのオプション->ファイルタイプ
で.javaにそのterapadとやらを割り付ける

だけど、なんでterapadなんだ?
terapadとかcpadとか、わけわからん

194:デフォルトの名無しさん
07/05/06 18:47:37
>>188
java関係ないがterapadをパスの通った場所に置けば良いじゃん。
てか、start XXX.javaじゃだめなん?

195:189
07/05/06 19:25:24
>>190
Core Javaを参考にして、dx を -dxにしてみたのですが、上手くいきません。

>>192
それはどういう風に設定すればいいのでしょうか?

一応、ソースをサラしておきます。

URLリンク(a-draw.com)

196:デフォルトの名無しさん
07/05/06 20:13:45
>195
全然無関係のところをまねしてどうする?
やるべきことはShapeに渡す値を描画エリアのサイズ内に調整すること

197:189
07/05/06 20:54:32
>>196
shapeBeingDragged.moveBy(x - prevDragX, y - prevDragY);

の部分を調整すればよいのでしょうか?

198:デフォルトの名無しさん
07/05/06 20:58:22
>>181
つ NetBeans

199:デフォルトの名無しさん
07/05/06 21:07:42
eclipse使ってたらなんか上書きモードになっちゃった。
どうやったら治るの

200:デフォルトの名無しさん
07/05/06 21:13:30
>>199
デフォルトのキーバインドなら insertキー

201:デフォルトの名無しさん
07/05/06 21:17:39
>>200
インサートキーってどうやってonにしたりoffにしたりできるの?教えて

202:デフォルトの名無しさん
07/05/06 21:24:07
これはひどい

203:デフォルトの名無しさん
07/05/06 21:25:38
eclipseでお勧めの本おしえて

204:デフォルトの名無しさん
07/05/06 21:27:24
>197
そう
元のCore Javaのソースはしらないけど
ボールが描画エリアの端にあたってはねかえるのは
端の座標を越えたら増分を反転させているから

そしてこの場合はDnDだから(つまり人間が操作しているから)
増分を反転させるのではなくそこの座標に制限する
言葉で説明するの面倒になってきたので
コードで書くとこんな感じかな

if (shapeBeingDragged == null) return;
int x = evt.getX();
int y = evt.getY();
Dimension cs = this.getSize();
int maxw = shapeBeingDragged.width - cs.width;
int maxh = shapeBeingDragged.height - cs.height;
if (x < 0) x = 0; else if (x > maxw) x = maxw;
if (y < 0) y = 0; else if (y > maxh) y = maxh;
shapeBeingDragged.moveBy(x, y);
repaint();


205:デフォルトの名無しさん
07/05/06 21:45:49
>197
わるい逆だ
なれない変数名だったので混乱した
int maxw = cs.width - shapeBeingDragged.width;
int maxh = cs.height - shapeBeingDragged.height;


206:189
07/05/06 21:50:16
>>205
ありがとうございます。
ソースに組み込んでみたのですが、クリックをするとはぐれメタルが逃げるかのごとく、
画面上からオブジェクトが右下に消えてしまいます。

207:デフォルトの名無しさん
07/05/06 21:57:30
>206
mouseReleased()の方の実装もかえてね
mouseDragged()と1行違いだから共通部分を切り出して
別メソッド呼び出しにすればいいかな

if (shapeBeingDragged == null) return;
int x = evt.getX();
int y = evt.getY();
Dimension cs = this.getSize();
int maxw = cs.width - shapeBeingDragged.width;
int maxh = cs.height - shapeBeingDragged.height;
if (x < 0) x = 0; else if (x > maxw) x = maxw;
if (y < 0) y = 0; else if (y > maxh) y = maxh;
shapeBeingDragged.moveBy(x, y);
shapeBeingDragged = null;
repaint();


208:189
07/05/06 22:07:18
>>207
こうでしょうか?

synchronized public void mouseDragged(MouseEvent evt) {
if (shapeBeingDragged == null) return;
int x = evt.getX();
int y = evt.getY();
Dimension cs = this.getSize();
int maxw = cs.width - shapeBeingDragged.width;
int maxh = cs.height - shapeBeingDragged.height;
if (x < 0) x = 0; else if (x > maxw) x = maxw;
if (y < 0) y = 0; else if (y > maxh) y = maxh;
shapeBeingDragged.moveBy(x, y);
repaint();
}

synchronized public void mouseReleased(MouseEvent evt) {
if (shapeBeingDragged == null) return;
int x = evt.getX();
int y = evt.getY();
Dimension cs = this.getSize();
int maxw = cs.width - shapeBeingDragged.width;
int maxh = cs.height - shapeBeingDragged.height;
if (x < 0) x = 0; else if (x > maxw) x = maxw;
if (y < 0) y = 0; else if (y > maxh) y = maxh;
shapeBeingDragged.moveBy(x, y);
shapeBeingDragged = null;
repaint();
}
URLリンク(a-draw.com)

209:デフォルトの名無しさん
07/05/06 22:14:49
>208
いいんじゃないかな
逃げ去るってことはその他にタイマー処理が行われているって
可能性が考えられるけど元のソースのボールの処理が残ってない?


210:189
07/05/06 22:39:11
>>209
タイマー処理は行われていません。

211:デフォルトの名無しさん
07/05/06 23:10:12
>210
moveBy()で加算しているようだから以下のように書き換えてみて

left = dx;
top = dy;


212:デフォルトの名無しさん
07/05/07 12:40:08
二つのクラスがあったとして
Class1のテキストフィールドにClass2のメソッドの処理結果を表示させたいんですがどのような方法が
ありますか??メソッドは引数をもたないものとして

213:デフォルトの名無しさん
07/05/07 12:45:05
SocketChannelでreadで-1が帰ってくる以外に正常切断を判断する方法はありますか。
FINで終わったのかどうかが知りたいです。

214:213
07/05/07 12:47:44
Class1のインスタンスをClass2に事前に持たさせておいて
Class2のメソッドの処理結果がでたタイミングで
Class2で保持しているClass1のインスタンスのテキストフィールドに表示させる

215:デフォルトの名無しさん
07/05/07 14:25:23
>>214
ありがとうです

class2{
class1 cls=new class1
処理
cls.text.setText(処理結果);}

このようにやってみたんですが表示してくれません・・・
エラーはないんですがどこが間違ってますか><?

216:デフォルトの名無しさん
07/05/07 14:41:05
>>215
class1でのテキストフィールドのsetTextはちゃんと働いてるの?

217:デフォルトの名無しさん
07/05/07 14:41:55
>>213
> readで-1が帰ってくる以外に正常切断を判断する方法
むしろ、こっちから close() してみる。
たぶん、相手はFINフラグを受け取るはず。

マジレスすると、仕様に書いてないなら無理だと判断すべき。

218:213
07/05/07 15:08:55
>>217
>>マジレスすると、仕様に書いてないなら無理だと判断すべき。
レスありがとう。Javadocにはかいてないんですよ。
FINフラグを受け取ってのread=-1なのか、その他の問題でのread=-1なのかを判断したいだけなのですが、
方法がさっぱしです。

219:213
07/05/07 15:14:18
>>215
class Class2 {
private Class1 target;
public void setNotifyTarget(Class1 target) {
this.target = target;
}
public void Kekkadasu() {
nankaNoSyori();
target.text.setText("処理終わり");
}
}
public static void main(String[] args) {
Class1 cls1 = new Class1();
Class2 cls2 = new Class2();
cls1.text.setText("処理前");
cls2.setNotifyTarget(cls1);
cls2.Kekkadasu();
}

みたいなかんじではどうでしょうか。

220:デフォルトの名無しさん
07/05/07 15:38:45
質問なのですが

interfaceを利用してclassを作成しています
作成したclassを利用する際、設定ファイルやDBから読み込んだ文字列を利用して
動的にnewする対象を指定したいのですがやり方がわからないので教えてください

URLリンク(www.wikiroom.com)
のclassを例にすると、
Performableインターフェイスを利用したEntertainerクラスとAthleteクラスが存在するときに
設定ファイルに
Entertainer
と書かれていたら
Performable test = new Entertainer();
が実行され、
Athlete
と書かれていたら
Performable test = new Athlete();
が実行されるようにしたいです
例だとclassが2つのためifで判断したらよいのですが
実際には不定な1個以上の複数classが同一のインターフェイスで定義され
それらのどれを利用するかをDBのマスタテーブルからclass名を読み込んで、その読み込んだ文字列にてnewを行いたいのです
また、classは不定期に追加され、利用される可能性があります

こういった実装は出来ないのでしょうか
もしくは、実装できる場合、どのように文字列のclass名を指定したらよいのでしょうか
よろしくおねがいします

221:デフォルトの名無しさん
07/05/07 16:03:23
>>220
Classクラスを使えばいいんじゃね?
forName() と newInstance() あたり。

   String str;
   Performable perf;

    /* このへんに設定ファイルから
      クラス名を読み出して str に
      代入する処理があるとする。
     */

    try {
       Class c = Class.forName(str);
       perf = c.newInstance()
    } catch (Exception e) {
      // 例外処理
    }

だいたいの流れはこんな感じで。

222:デフォルトの名無しさん
07/05/07 16:07:10
>>220

java.lang.Class.forName(String className)#newInstance()

223:デフォルトの名無しさん
07/05/07 16:15:30
>>213
できました!!
どうやら単純なミスをしていたようです^^;

いろいろ参考になりました
ありがとうございますm(__)m

224:デフォルトの名無しさん
07/05/07 16:49:50
質問でs!

a,b,cというlistと配列に入ってる"a","b","c"の文字列を比較したいのですが
どうしたらいいでしょうか??

225:デフォルトの名無しさん
07/05/07 17:06:34
> a,b,cというlistと配列に入ってる"a","b","c"の文字列を比較したいのですが
解釈の仕方が複数あって、
具体的に何がどーなってるのか良く分からん。

226:224
07/05/07 17:30:16
たしかにわかりにくいです!すいません

a,b,cという項目があって最初は選ばれていない状態ですよね。
で配列にはこのようにはいっていて
配列1 配列2
Aサン a
Bサン b
Cサン a
Dサン c

配列Bを指定したらlist項目のbを選択させるといった感じです

227:224
07/05/07 17:32:46
間違えました
配列1のBを指定したらですね

228:デフォルトの名無しさん
07/05/07 17:34:21
で、お前は何がわからんのだ

229:224
07/05/07 17:42:22
項目を選択させるにはselectしかないかどうかってことです

selectだとintしか指定できないから分岐させるしかないのかと・・・

230:デフォルトの名無しさん
07/05/07 17:44:54
>>229
java.awt.List の話でしょ?
なら、項目選択するにはユーザが操作するか select(int) するしかない。

231:224
07/05/07 17:48:53
わかりました

ありがとうございます!

232:デフォルトの名無しさん
07/05/07 17:54:40
国際化対応の場合に、UTF-8が多く採用されるのはなぜですか?
JavaがUTF-8を採用しているからか、ASCII文字との親和性が高いからかな。
 →どのようなメリットがあるかわかっていないですが…

Java=ユニコード=ALL2バイトと思ってたけど、違うんですね…
UTF-8は、レスポンス悪いとかあります?

233:デフォルトの名無しさん
07/05/07 18:08:58
>>221
>>222
確かにそれでOKです
大変勉強になりました
ありがとうございました

234:デフォルトの名無しさん
07/05/07 18:15:51
>>232
> 国際化対応の場合に、UTF-8が多く採用されるのはなぜですか?
国際化対応で Shift_JIS とか EUC-JP は使えないでしょ。
ISO-2022でも ある程度国際化できるけど、実装面倒くさいし。

> Java=ユニコード=ALL2バイトと思ってたけど、違うんですね…
= をどーゆー関係のつもりで書いてるのか分からんので、なんとも言えない。

> UTF-8は、レスポンス悪いとかあります?
場合による。1ギガバイトとかの馬鹿でかいテキスト読んだらレスポンス悪くなるだろうし。

235:デフォルトの名無しさん
07/05/07 18:56:09
>UTF-8が多く採用されるのはなぜですか?
1バイトで足りる連中がUnicode実装するとき楽だから。
PL関係なく実装者の都合でしかない。

236:デフォルトの名無しさん
07/05/07 20:09:21
エンディアンが存在しないとか、
ASCIIと互換性があるとか、
バイト指向だとか、
CCSがUCS4だとか、
結構便利なエンコーディングじゃん。

237:デフォルトの名無しさん
07/05/07 20:41:32
Java初めて20日です。
応用問題を解いているのですが、

各サイト、APIみても、
これを使うとか構造とかがでてこないもの
がでてきました。

こういう場合はどうしたら
良いのでしょうか。

また 何を使うとかの
ひらめきはどうしたら
みにつくのでしょうか?



238:デフォルトの名無しさん
07/05/07 20:46:56
> ひらめきはどうしたら
ロマサガで特訓してこい。

239:デフォルトの名無しさん
07/05/07 21:21:53
String strに何か文字が入っているとします。
この中に入っている文字が整数かどうか調べるにはどういう風にすればいいでしょうか?

240:デフォルトの名無しさん
07/05/07 21:25:01
>>239
一文字だけ調べるなら Character.isDigit(str.charAt(0))

241:デフォルトの名無しさん
07/05/07 21:30:50
一文字ではなく文字列を調べる場合は他に方法ありますか?
このCharacter.isDigit(str.charAt(0))をforとかで文字数文まわすとかしかないでしょうか?

242:デフォルトの名無しさん
07/05/07 21:36:06
parseIntでうまくいくかどうか調べる

243:デフォルトの名無しさん
07/05/07 21:42:05
正規表現
-?[0-9]+
とか

244:デフォルトの名無しさん
07/05/07 21:48:53
なんか
 isDigitsメソッドは指定された文字列が数字だけを含むかどうかを返します。例えばNumberUtils.isDigits("123")はtrueを返します。
URLリンク(www.atmarkit.co.jp)
とか書いてるんですけど、これって何か拡張しないとだめなんですよね・・・

245:デフォルトの名無しさん
07/05/07 22:45:01
JAVAの入門書に載ってる最初のコードを実行したら、
X11のライブラリがねえとか言って怒られたよ。
本を見たらwin用の本だった。
JAVAってそういうのは吸収してくれないのな。
なんでもいいからウィンドウ出せやボケと思いました

246:デフォルトの名無しさん
07/05/07 22:46:42
>>230
> java.awt.List の話でしょ?

エスパーすげー

247:デフォルトの名無しさん
07/05/07 22:57:23
Linuxか?

Javaの、そういう差を吸収する部分(AWT)がX11を必要としているのよ。


248:デフォルトの名無しさん
07/05/07 23:00:29
>>245
この辺見て、デスクトップマネージャが入ってるか確認して。
URLリンク(java.sun.com)
よほどの野良ディストリ使ってるとかでない限りは、Gnomeが標準になってると思うけど。

249:デフォルトの名無しさん
07/05/07 23:37:33
>>236
エンディアンはないがBOM忘れてる奴が多いがな。

250:デフォルトの名無しさん
07/05/08 00:06:19
エンディアン無関係だからこそBOMは本来不要だし

251:デフォルトの名無しさん
07/05/08 00:07:45
サイトに埋め込まれてるjavaアプレットのソースを知りたくそのページのソースを調べて、
「ファイル名」.classのファイルをDLしたのですが、eclipseやテキストで開くと(拡張子を.javaにしたりして)
、文字化けしていて読むことができません。
このような.classファイルは読むことができますか?

252:デフォルトの名無しさん
07/05/08 00:09:56
>>236
日本語は大抵3バイトになるのが鬱陶しいけどな。

253:デフォルトの名無しさん
07/05/08 00:21:12
>>251
バイナリエディタ。
つーかなんでバイトコードにソースが含まれてんだと小一時間・・・。
素直にお帰りください。

254:デフォルトの名無しさん
07/05/08 00:26:11
バイナリエディタがアンリエッタに見えた俺はアニオタ

255:デフォルトの名無しさん
07/05/08 00:26:43
>250
URLリンク(unicode.org)
An initial BOM is only used as a signature ―
an indication that an otherwise unmarked text file is in UTF-8.

256:251
07/05/08 00:31:40
>>253
理解し損ねてました
.classファイルを.javaに変換できる方法はありますか?

257:デフォルトの名無しさん
07/05/08 00:33:43
URLリンク(allabout.co.jp)

258:デフォルトの名無しさん
07/05/08 00:58:49
>>255
だから?
UTF-8のBOMはエンコーディングの認識精度を上げるくらいしか役にたたないし、
在ることで困ることの方が無くて困ることより多いと思うが。
UTF-8 must contain a BOM.じゃなくてUTF-8 can contain a BOM.て書いてあるじゃないか。
だから、BOM付きを邪険にはしないけど、自分からわざわざ付けたりはしたくないな。

259:デフォルトの名無しさん
07/05/08 03:00:17
>>256
javap
ディスアセンブラとかデコンパイラでググれ
空気読めるようになろうね。


260:デフォルトの名無しさん
07/05/08 04:19:20
GridBagLayoutがまんどくさすぎる
このくらい自由が利いてもっと楽なのあれば教えて☆

261:デフォルトの名無しさん
07/05/08 04:39:21
SpringLayoutとかは?
それか自由が利いてもっと楽なのを自作する

262:260
07/05/08 05:14:33
>>261
ありがとう
検討してみる

263:デフォルトの名無しさん
07/05/08 05:40:55
>>261
>SpringLayout
へーこんなレイアウトマネージャがあったんだ
これって機能的にNeXTとかMac OS Xのレイアウト機能とほぼ同じだね
直書きするのはめんどそうだけどSunがツールを用意してるのか
今度使ってみよう

URLリンク(bean-builder.dev.java.net)

264:デフォルトの名無しさん
07/05/08 06:19:25
GroupLayoutってのもよさげ
いろいろあんだね
もうGridBagLayout使うのやめよう

265:デフォルトの名無しさん
07/05/08 06:29:07
NeXTStepもOSXも同じAPIですぜ

266:デフォルトの名無しさん
07/05/08 07:54:18
Javaに限ったことではありませんが、配列番号ってどうして0から始まるんでしょう。
1からのほうが色々すんなり行くと思うのです。

267:デフォルトの名無しさん
07/05/08 07:56:51
>>266
色々すんなりって例えば?

268:デフォルトの名無しさん
07/05/08 07:57:14
一長一短だが、大体において 0 の方が便利。
なにかと計算量を減らせる。

269:デフォルトの名無しさん
07/05/08 08:40:45
>>267
一つ目の要素: array[0] より
一つ目の要素: array[1] のほうが分かりやすく自然だと思うんです。

もしあなたがそう思わないなら、それはプログラマーとしての観点を既に持っているからでしょう。

x番目の要素の添え字はx-1ですが、これがx-372だったとしたら
三番目の要素の添え字は、え~っといくつだ?ってことになりますよね。

>>268
なるほど、確かにそうです。
納得しました。

270:デフォルトの名無しさん
07/05/08 09:12:46
>>269
量的にではなく指標だから0からは当然だとおもうよ。
定規が1から始まるのが自然だとは思わない。

271:デフォルトの名無しさん
07/05/08 09:20:39
URLリンク(swfup.info)
↑このフラッシュを見てくれ
もし、参加したくなったら
日本奇跡の逆転劇!! スロベニアを抜き単独4位へ
スレリンク(news4vip板)

歴史的瞬間にぜひご参加を!!!
どこから誘導されたかも書き込んでねー


272:デフォルトの名無しさん
07/05/08 10:37:37
初心者です
textfieldに"java"と入ってたとして、それに対して指定した数だけ"*"を追加したいんですが
どうしたよいでしょう?
指定した数が3なら"java***"といった感じです。
値は変数にはいってます。

273:デフォルトの名無しさん
07/05/08 10:44:54
+

274:デフォルトの名無しさん
07/05/08 11:27:08
>>273
何文字か指定するにはどうしたらいいですか?

275:デフォルトの名無しさん
07/05/08 11:56:41
>>274
一昨日Java始めたばかりのオレが答えてみよう。

public static void main(String[] args) {
String hoge = "java";
String fuga = "*";
int piyo = 3;
for(int i = 1; i <= piyo; i++){
hoge += fuga;
}
System.out.println(hoge);
}

276:デフォルトの名無しさん
07/05/08 11:57:45
サンクス!
やっぱ繰り返すしかないのかな・・・

277:デフォルトの名無しさん
07/05/08 12:02:39
>>276
>指定した数だけ"*"を追加
って時点で繰り返しは必須だと思うんだけど。

繰り返しで何か都合悪いことでもあるのか?

278:デフォルトの名無しさん
07/05/08 14:30:20
>>266
数学の話だが中学校のころ数学教師が教えてくれた。

人間てのは非数を見つけてしまったから数字の0は無を表す
数字ではなく、負数を除いて起点となる数字らしい。
何もないわけではなく「0」という数字が存在している。
だから数学的に数字は0から始まる0起算らしい。

279:278
07/05/08 15:06:44
そういえば、数字ってのは+か-方向に無限に伸びていくけど0はそのどちらでもない±0という状態で・・・と続き
最終的にメタ数学の話になったから気にしない方が良いよ。

特に0と配列と演算記号の関係なんて。

280:デフォルトの名無しさん
07/05/08 15:12:02
>>266
>>269
Javaに限ったことではありませんってFORTRANプログラマの観点の立場は…

281:デフォルトの名無しさん
07/05/08 15:23:45
>>276
どうしてもというのなら繰り返し追加するものが文字列でなく文字限定だが、
public static void main(String[] args) {
String s = "java";
char c = '*';
int n = 300;
char[] cs = new char[n];
java.util.Arrays.fill(cs, c);
System.out.println(s + String.valueOf(cs));
}
みたいに繰り返し文を自分では書かない方法があることにはある。
あと、繰り返しでStringに追加する場合は、
StringBufferかStringBuilderを明示的に使った方がいいかもしれない。
追加するものが3個程度なら大して違いはないと思うけど、大量に追加するなら。

282:デフォルトの名無しさん
07/05/08 15:30:50
>>280
FORTRAN はウンコだから。
まあ、0 オリジンにしようと思えばできるけど。

283:デフォルトの名無しさん
07/05/08 15:40:07
>>266
配列を配列の配列のように扱いたい場合、
0 から始まった方が便利。

インデックス i, j が与えられた場合、
0 から始まる場合は i * SIZE + j だけでいいけど、
1 から始まる場合は (i - 1) * SIZE + j と、-1 が必要になる。

とか何とか、色々と 0 から始まった方が計算量が少ない事が多い。
一部逆もあるんだけどね。

0 から始まるというイメージは、C をやった方が分かりやすいと思う。
C だと「始点 + インデックス」の位置にある値を参照するという処理になってるから、
1 から始まると始点がムダになる。
始点をズラすと、始点の値を使いたい時にまたズラさないといけない。

他の言語も、このあたりのイメージを受け継いでるんじゃないかな。

284:デフォルトの名無しさん
07/05/08 16:36:02
>>269
1番目から始まる自然な序数を選択するよりも、
計算量の減少等の効率を重視して選択した結果なんで、
そういうものだと思って慣れるしかない。
0から始まる場合のインデックスは序数と考えずに、
>>283が言うように始点からのオフセットと考えればいい。

285:デフォルトの名無しさん
07/05/08 16:53:18
リスナーって1つのクラスに1つまで??

286:デフォルトの名無しさん
07/05/08 16:58:15
>>285
なぜそう思うのかを知りたいもんだなw

287:デフォルトの名無しさん
07/05/08 17:02:10
でへ^-^

どんな風にかけばよろしいのかと

288:デフォルトの名無しさん
07/05/08 17:04:56
>>285
質問がインスタンスにリスナーをadd~Listenerで登録するって意味ならたいてい複数のリスナーを追加できる。
もしset~Listenerとかのメソッドなら一つしか設定できないかもしれない。
そのクラスのドキュメントを見れ。

289:287
07/05/08 17:13:24
わかりました!!
で、itemlistenerってクリックされたときのみですか、、、?
selectでindex指定しても動いてくれないんですが、、、

290:デフォルトの名無しさん
07/05/08 17:19:35
>>289
だからドキュメントを見ろと言ってるだろ。
java.awt.ListとかChoiceの話か?
ちゃんとselectのところを読め。
> ItemEvent をトリガする唯一の方法はユーザの操作です。

291:デフォルトの名無しさん
07/05/08 17:22:28
addItemListenerの説明にも書いてるね

292:デフォルトの名無しさん
07/05/08 18:57:16
スレッドに関してですが、テスト環境がないので質問させてください。
スレッドプールというものは実行のたびに空いてるCPUコアを探してくれたりするんでしょうか?
それともスレッドが生成された時点でどのコアに所属するか決定してしまうのでしょうか?

293:デフォルトの名無しさん
07/05/08 20:10:01
最近javaを勉強し始めました。
www.stackasterisk.jp/tech/java/javaPractice06_06.jsp#2_4
上記のサイトの通りにjspでカレンダーを作成する、というプログラムを書いていたのですが、
このサイトにあるDayTypeConstクラスの意味がよくわかりません。
この定数を変えると土曜日曜の色が変になってしまうのですが、どうしてそうなるのかがよくわかりません。
ご教授お願いします。

294:デフォルトの名無しさん
07/05/08 21:19:16
pattern = Pattern.compile("ほげほげ");

文字列が入ったString変数をmatcher.matches()で判定したいのです。
そこで数値(1~9)以外の文字が入っていた場合trueとなるようにするには("ほげほげ")の部分に何と入れればいいでしょう?
ためしに
String str = "あ457"

pattern = Pattern.compile("[^0-9]");
でやったらfalseでした。

しかしString str = "あ"

pattern = Pattern.compile("[^0-9]");
でやったらtrueでした。




295:デフォルトの名無しさん
07/05/08 21:26:02
↑事故解決しました。

296:デフォルトの名無しさん
07/05/08 21:45:18

       FOX★公認!!!

俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
スレリンク(news4vip板)

1. ポーランド  139,797,680
2. チリ     137,040,439
3. ★日本    86,475,213★
4. イスラエル  80,930,530
5. スロベニア  57,137,042
6. フィンランド  40,857,499

石を投げる戦争から人は進化・進歩を遂げ、剣や槍などの武器をもって戦うようになった
人間はさらに発展し兵器を使う戦争を始めた
そして今、指先一つを武器とした電脳戦争が勃発したのであった・・・
皇国を勝利へと導くには貴様らの参戦が不可欠である

・戦場
URLリンク(www.clickclickclick.com)
・まとめサイト
URLリンク(www33.atwiki.jp)


297:デフォルトの名無しさん
07/05/08 21:59:50
コピペ君って馬鹿だな、まで読んだ。

298:デフォルトの名無しさん
07/05/08 22:00:27
これからJavaを学ぶ人にアプレットを勧めるのは無駄?
Javaで動くのがやりたいそうなんだけど・・・

299:デフォルトの名無しさん
07/05/08 22:08:12
>>298
俺はやったが無駄ではなかった。

つっても本のサンプル見る程度じゃ無駄だと思うがな。
言語に限らず、自分で色々やりたいことやっていじりまくらないと身につかんと思うよ。

C言語のWIN32APIも少しやってるけどドット・座標の考え方とか関数とか似てるから
何も知らずにC言語始めるよりは確実に楽に覚えられてる。

300:デフォルトの名無しさん
07/05/08 22:18:58
>>272 亀レス ↓のような方法もあるよ。
String[] tbl = {"*******","******","*****","****","***","**","*",""};
String word = "java";
System.out.println(word + tbl[word.length()]);

301:デフォルトの名無しさん
07/05/08 22:24:37
URLリンク(www.uploda.org)
この問題が宿題で出たんだけど先週授業休んじゃって今日からすることに。。
しかも期限は明後日。
だけどここまだよく理解してなくて、、やばい!
誰か助けてください!お願いします><;;

302:デフォルトの名無しさん
07/05/08 22:26:23
.xlsって段階で見る気がしない

303:デフォルトの名無しさん
07/05/08 22:26:23
URLリンク(www.uploda.org)
この問題が宿題で出たんだけど先週授業休んじゃって今日からすることに。。
しかも期限は明後日。
だけどここまだよく理解してなくて、、やばい!
誰か助けてください!お願いします><;;

304:デフォルトの名無しさん
07/05/08 22:27:05
あれ?2回も。。すんません。。

305:デフォルトの名無しさん
07/05/08 22:39:31
いい忘れましたが問題は英語で書いてあります。。

306:デフォルトの名無しさん
07/05/08 22:41:23
うっさいだまれ

307:デフォルトの名無しさん
07/05/08 22:41:53
先週って連休じゃん

308:デフォルトの名無しさん
07/05/08 22:44:48
>>307
いえ、海外にいるんで連休ではなかったです。

309:デフォルトの名無しさん
07/05/08 23:00:53
お二方、コメントいただいてありがとうございました。

>247
なるほど・・・

FreeBSDを使っています。
そこで「文系のためのjava入門」というwin向けに書かれた
コードを実行しようとしています。
helloって書かれたウィンドウを出して終わるプログラムです。

今日、本屋に行ってみたのですが、
X11環境かつjava入門みたいな本が無かったので
前向きにX11でも動くようにいろいろ調べてみようと思います。

>248
FreeBSDでJDKやX11環境は整っていますので、
たぶん、win用のコードをX11でも動かせるように変更しなきゃいけない
と思っています。
いろいろ調べつつやっていこうと思います。


310:デフォルトの名無しさん
07/05/08 23:04:57
質問です。

class A{
 int x;
}

A a = new A();
A b = new A();

とせずに、a,bを配列とかでまとめられないでしょうか。

311:デフォルトの名無しさん
07/05/08 23:13:37
A[] a = new A[2];
a[0] = new

312:デフォルトの名無しさん
07/05/08 23:40:25
>>298
日本に限って言えば無駄ではないと思う。
けど、今時アプレットなんて国内でもエロブラウザゲーしか見ない。
入門本はコマンドラインすら使えない人を考慮してる。

JWSおすすめ。

>>303
せめてテキストエディタで見れるようにしてから宿題スレ行こうね。

313:デフォルトの名無しさん
07/05/08 23:46:54
>>311
ありがとうございました。
2行目が思いつきませんでした。

314:デフォルトの名無しさん
07/05/08 23:52:09
ボタンの配置にご助言お願い出来ますか?
URLリンク(up.spawn.jp)
※EUC-JPで保存されてます

下の方を左右分割してパネルでボタンを配置しようかなと思ってます。
しかしながらGridLayoutとかだとパネル全体をボタンが埋め尽くしてしまいます。
で、それはやめといてsetBoundsで座標指定しようかなと思うのですが上手くいきませぬ。
パネルとレイアウトをコメント化して
  upBtn.setBounds(10,10,100,50);
  downBtn.setBounds(20,20,100,50);
  ・・・
だけでコンパイルしたのですがボタンが表示されませんでした。
JSplitPaneは消すしか無いのでしょうか?

315:デフォルトの名無しさん
07/05/08 23:59:53
>>299 312
なるほどなー。
JWSも考えたんだけど、選択肢としてもう1度検討してみるわ、thx

316:デフォルトの名無しさん
07/05/09 00:17:28
>>314
中身を検討せずにぱっと見ただけなので見当外れかもしれんが、
setBoundsで直接指定したいのならFlowLayoutなんて使っちゃダメじゃないか?
setLayout(null)しないと。

317:314
07/05/09 00:28:02
なんと!レイアウトにnullが設定出来るとは思っても見ませんでした。
レイアウトをコメント化しても上手く行かなかったのですが、こういうことだったのですね。
大変役に立ちました。ありがとうございました!

318:デフォルトの名無しさん
07/05/09 00:32:29
>>315
JWSってJavaWebStartか?
ならAWT/Swingなんだからアプレットと部品一緒。
どっちか覚えたらどっちもできるよ。

319:デフォルトの名無しさん
07/05/09 00:43:45
検索してもよくわからなかったのでここで聞いてみます

関数をつくるときにPascalで云う参照渡しCで云うポインタってどうするのでしょう?

Cでは

int hoge(int *a, int *b){
*a = 123;
*b = 456;
return 789;
}

int x, y;
int result = hoge(&x, &y);

みたいなことを
Javaでは

int hoge(int[] a, int[] b){
a[0] = 123;
b[0] = 456;
return 789;
}

int x[1],y[1];
int result = hoge(x, y);

みたいに書くしかないのでしょうか?


320:デフォルトの名無しさん
07/05/09 00:50:29
>>319
基本形=値渡し
参照型=参照渡し

基本形をラップするクラスが用意されてる(Integerなど)
しかしそんな意味不明な関数やめなさい。
その程度だったら参照渡しよりも戻り値のほうが可読性高い。


321:デフォルトの名無しさん
07/05/09 00:51:28
Cじゃないから
int x[1],y[1];
はコンパイルを通らない。
int[] x = new int[1], y = new int[1];

322:デフォルトの名無しさん
07/05/09 00:53:38
値を2つ返すから戻り値じゃ・・・ってことじゃないのか?

323:デフォルトの名無しさん
07/05/09 00:57:09
class result{
int a,b;
}

int hoge(result r){
r.a = 123;
r.b = 456;
return 789;
}

result r;
int result = hoge(r);

かなぁ


324:デフォルトの名無しさん
07/05/09 00:58:26
>>323
はいはい ぬるぽぬるぽ
フィールドpublicにするな

325:デフォルトの名無しさん
07/05/09 00:59:33
それ呼び出し側で r.a r.b 書き換わるの?


326:デフォルトの名無しさん
07/05/09 00:59:59
>>292
VM の実装依存じゃね?

327:デフォルトの名無しさん
07/05/09 01:00:46
Integerはimmutableだからこの場合役に立たない
Integerかintをラップするmutableなクラスを作ってその参照を渡さないと
>>319が具体例なのかどうか分からないので何ともいえないけど
それならint[] hoge() {return new int[]{789, 123, 456};}とかの方が(どっちもどっち)

328:デフォルトの名無しさん
07/05/09 01:01:55
呼び出し側で書き換えてもらうって考えはオブジェクト指向的じゃない。
自分(インスタンス)の値は自分(インスタンス)が管理する。
外部に公開するのはメソッド。

329:デフォルトの名無しさん
07/05/09 01:03:59
class Result {
final int a;
final int b;
final int result;
Result(int a, int b, int result) { (略) }
}

Result hoge() { return new Result(123, 456, 789) }


330:デフォルトの名無しさん
07/05/09 01:04:23
>>320
回答ありがとうございます
すみません最初の例が良くなかったかもしれません

オブジェクトを複数作ってもらう関数で作業結果をintで返すみたいな仕様です

class A{
}

class B{
}

int hoge(A a, B b){
a = new A();
b = new B();
return 0;
}

呼び出し側

A a;
B b;
int result = hoge(&a, &b);

みたいなことがしたいのです



331:デフォルトの名無しさん
07/05/09 01:06:18
別にjavaでプログラミング=オブジェクト指向的プログラミングじゃないし敢えて茨の道を
そして死亡

332:デフォルトの名無しさん
07/05/09 01:08:40
A a = new A();
B b = new B();

じゃ、いけないのか?
失敗したら例外出すか、結果を知らせるメソッド持たせば。

333:デフォルトの名無しさん
07/05/09 01:11:52
インスタンスを作るメソッドなら作られたインスタンスこそ返すべきもののような気がする。
作業結果は返されたインスタンス自身が知っているだろうし、
結果によってはnullを返されたり例外を投げられたりしてもいいかもしれない。
そして関連性の無い二つのインスタンスを同時に返したりするのは設計そのものの再検討の余地あり。

334:デフォルトの名無しさん
07/05/09 01:13:30
>>331
ご指摘ありがとうございます
確かにそのおかしさを感じてたんです
むしろJava(というかオブジェクト指向)的に
望ましい書き方とかあるならそれでも結構です

やっぱり
class Wrapper{
A a;
B b;
}

Wrapper hoge(){
Wrapper r = new Wrapper();
r.a = new A();
r.b = new B();
return r;
}
(失敗は例外)

みたいにしたほうが良いのでしょうか?

他にも回答くださったかたありがとうございます
もう少し考えて見ます


335:デフォルトの名無しさん
07/05/09 01:17:24
Wrapper hoge()はWrapperのコンストラクタじゃいかんの?


336:デフォルトの名無しさん
07/05/09 01:20:43
オブジェクト指向は処理中心に考えるものじゃないから
目的がわからなければアドバイスしようがない

337:デフォルトの名無しさん
07/05/09 01:23:23
class Hoge {
final A a;
final B b;

Hoge() throws CannotCreateException {
a = new A();
b = new B();
}


338:デフォルトの名無しさん
07/05/09 01:23:59
>>320
> 参照型=参照渡し
ウソを書くな、ウソを。

339:デフォルトの名無しさん
07/05/09 01:24:32
>>336
おかげさまで自分が間違った方向に行こうとしてたのを食い止めることは出来たみたいです
目的はあるのですがこのまま鸚鵡返しで質問繰り返すのもどうかと思いますので
まず設計を見直してもう少し煮詰まってまた分からなくなったら聞きに来たいと思います
色々ありがとうございました


340:デフォルトの名無しさん
07/05/09 01:25:45
>>318
APIレベルの話をしているわけではなくてだな・・・

341:デフォルトの名無しさん
07/05/09 01:26:24
class Hoge {
 final A a;
 final B b;
 Hoge() {
  a = new A();
  b = new B();
 }
}
AとBに関連性がなかったら相当気持ち悪いクラスだが。

342:デフォルトの名無しさん
07/05/09 04:01:17
このコードを実行すると下のように計算にずれが出てくるんですがどうしてですか。
解決法を教えてください。

class DoubleTest {
public static void main(String[] args) {
double hoge;
for(hoge = 0; hoge < 1; hoge += 0.1) {
System.out.println(String.valueOf(hoge));
}
}
}

0.0
0.1
0.2
0.30000000000000004
0.4
0.5
0.6
0.7
0.7999999999999999
0.8999999999999999
0.9999999999999999

343:342
07/05/09 04:03:40
環境を載せ忘れました。

java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Client VM (build 1.6.0_01-b06, mixed mode, sharing)

344:デフォルトの名無しさん
07/05/09 04:14:17
>>342-343
    _,,,,._                  、-r
   ,.','" ̄`,ゝ _,,,_   _,,,_   _,,,,__,. | |  _,,,,,_
  { {   ,___ ,'r⌒!゙! ,'r⌒!゙! ,.'r⌒!.!"| l ,.'r_,,.>〉
  ゝヽ、 ~]| ゞ_,.'ノ ゞ_,.'ノ ゞ__,.'ノ | l {,ヽ、__,.
   `ー-‐'"   ~    ~  〃 `゙,ヽ ̄` `゙'''"
                 ゙=、_,.〃

     _____________
    |2進数 小数 丸め誤差     |
      ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    [Google検索] [I'm Feeling Lucky!]


URLリンク(javafaq.jp)

345:デフォルトの名無しさん
07/05/09 04:28:49
なんというやさしさ

346:342
07/05/09 04:34:21
>>344
ありがとうございました。


347:デフォルトの名無しさん
07/05/09 11:37:59
アクションイベントによってパネルの色を変えたいんだけどどうしたらいい??
フレームの色は変えられるけどパネルができましぇん

348:デフォルトの名無しさん
07/05/09 12:48:40
public void setForeground(Color c)

349:デフォルトの名無しさん
07/05/09 14:32:13
Frameを継承したクラスで、ウインドウアプリケーションを作っています。
コマンドプロンプトから、hogehoge.javaをjavacコマンドでコンパイル → javaコマンドで実行する際、
適用されるランタイムのバージョンはどこで設定されているのでしょうか?

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

350:デフォルトの名無しさん
07/05/09 16:57:13
>>349
プロンプトで
java -version

351:349
07/05/09 17:02:05
って質問が違ったね。

URLリンク(www.hellohiro.com)
にあるように環境変数のJAVA_HOMEを変えると、反映されるかと。

352:デフォルトの名無しさん
07/05/09 17:10:16
こんにちは。
北朝鮮から出稼ぎに来ている28歳の無職です。
先日、梅田のハロワのトイレに入って
ウンコをした際、
「トイレットペーパー以外の物は流さないで下さい」
と壁に張り紙がしてありました。
仕方がないので、ウンコを新聞紙に入れて持って来ましたが
非常に不便さを感じました。
皆さんはどのようにしているのでしょうか
参考までに聞かせていただけませんか?

353:349
07/05/09 18:20:15
>>350
ご回答ありがとうございます。

JAVA_HOMEはC:\Program Files\Java\jdk1.6.0_01 とし、
Pathは%JAVA_HOME%\bin としています。
コマンドプロンプトのカレントディレクトリにclassファイルを常に置いているので、クラスパスは設定していません。

レジストリエディタでレジストリの値を見たところ、Java Runtime Environment\CurrentVersionは1.6となっています。
JDKのバージョン=ランタイムのバージョンという認識でよいのでしょうか?

354:デフォルトの名無しさん
07/05/09 18:34:59
>>353
> JDKのバージョン=ランタイムのバージョンという認識
違う。

JDKのインストーラのデフォルトの設定(全部OKした場合)では、JDKとは別に、JREが入る。
JAVA_HOMEが指してるのは、普通は JDK内のランタイム。
で、JREにはjavacはないけど、C:\Windows\SYSTEM32 とかに java.exe を突っ込むから、
どっちを使うかは、環境変数 PATH の設定による。

レジストリの値は関係ない。

355:デフォルトの名無しさん
07/05/09 19:15:10
Microsoft VMを使ったhttp上のシステムにログインする際に、
IEアンダーバーに「アプレット ClientManager notinited」の表示が出て停止してしまいます。
システムは他PCからだと正常に運用されているようです。
JAVAコンソールを見ると、以下の内容のエラーが出ています。
F&Qなどで該当例を探したのですが見つからず、助言いただければ幸いです。
============================================================
load: クラス MGBC940_01BJ.ClientManager.class が見つかりません。
java.lang.ClassNotFoundException: MGBC940_01BJ.ClientManager.class
(中略)
Caused by: java.io.IOException: open HTTP connection failed.
(中略)
load: クラス browserClient.MsgText.class が見つかりません。
java.lang.ClassNotFoundException: browserClient.MsgText.class
(中略)
Caused by: java.io.IOException: open HTTP connection failed.
(後略)

356:349
07/05/09 19:36:21
>>354
なるほど。最初から入っているのとは別にもう一つランタイムが入るわけですね。

>C:\Windows\SYSTEM32 とかに java.exe を突っ込むから、
↑すいません。ここの表現がよくわかりません。
 コマンドプロンプトからjavaコマンドを実行したときには、SYSTEM32内のjava.exeを探しにいくということでしょうか?

ちなみにPATHは以下のとおりです。
%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;%JAVA_HOME%\bin;C:\Program Files\Common Files\GTK\2.0\bin

357:デフォルトの名無しさん
07/05/09 19:44:36
>>356
PATH に書かれたディレクトリを順番に検索するから、PATHの設定が
> %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\QuickTime\QTSystem\;%JAVA_HOME%\bin;C:\Program Files\Common Files\GTK\2.0\bin

ならば、最初に書かれた %SystemRoot%\system32 は %JAVA_HOME%\bin より優先順位が高い。

358:349
07/05/09 20:13:53
>>357
わかりました。そういう意味があったんですね。ありがとうございます。
アプリケーションをjarファイルにして他PCでも動かしたいのですが、
適応するランタイムのバージョンというのは、どうやって見極めればいいのでしょうか?

359:デフォルトの名無しさん
07/05/09 21:58:49
>>358
新たに追加されたクラス、メソッドは API仕様見れば since タグふってあるから、
それを調べれば、どのAPIがどのバージョンで動くかは大体分かる。

あとは javac -target とかで、出力したクラスファイルの互換性を気をつける事とか。

360:349
07/05/09 22:03:25
ありがとうございました。API仕様を確認してみます。
またここで質問させてもらうことがあるかと思いますが、よろしくお願いします。

361:デフォルトの名無しさん
07/05/09 22:27:43
プログラム中で、trueのラジオボタンを setSelected(false); でfalseにしたはずなのに、isSelected()で調べてみたらtrueでfalseになっていません。
どうしたらいいでしょうか?

362:デフォルトの名無しさん
07/05/09 22:34:21
>>361
setSelected(false) しても、実際に反映されるのは
次にイベントディスパッチスレッドに処理が移った時なのよ。

>>143 のリンク先とか見てくれ。

363:デフォルトの名無しさん
07/05/09 22:39:09
>>362
早速ありがとうございます。
見てみることにします。

364:デフォルトの名無しさん
07/05/09 23:09:21
配列に要素を挿入するコードを書いてみましたが、
もっとスマートにかけませか?

String[] str = {"hoge", "huga", "foo", "bar"};
String sonyu = "挿入";
String[] buff = new String[5];

// 三つ目に挿入
int j = 0;
for (int i = 0; i < str.length; i++) {
if (j == 2) {
buff[j] = sonyu;
j++;
}

buff[j] = str[i];
j++;
}


365:デフォルトの名無しさん
07/05/09 23:26:04
Listでも使えば?

366:デフォルトの名無しさん
07/05/09 23:54:22
>>364
String[] buff = (String[])str.clone();
buff[2] = sonyu;

367:デフォルトの名無しさん
07/05/10 01:15:22
遅レスだけど、
>>309
win用のコードをX11でも動かせるように変更する必要は”ない”。
物理フォントを指定してたら依存する可能性があるが、そういうのはとりあえずコメントアウトしてよし。
問題は単なる環境設定。JDKやX11環境が整っているという認識が間違っている。
とりあえずFreeBSDのスレでも行って聞いてみたら?

368:デフォルトの名無しさん
07/05/10 07:18:17
>>365
これ便利ですね。
ありがとうございました。

>>366
そうではないです。

369:デフォルトの名無しさん
07/05/10 08:44:56
URLリンク(java.sun.com)
このクラスで改行文字を表すにはどうすればいいでしょうか。
もしそれよりも一般的な方法があれば教えてください。

Element date = document.createElement("date");
document.appendChild(date);

Text lf = document.createTextNode("改行文字");
date.appendChild(lf);

Element name = document.createElement("name");
date.appendChild(name);

Text textnode= document.createTextNode("ひろゆき");
name.appendChild(textnode);


<date> ここで改行したい
<name>ひろゆき</name>
</date>

370:デフォルトの名無しさん
07/05/10 08:50:15
数値a,bを読み込み格納している数値を交換する方法で分らない部分があります。
変数は a,b,w でa,bは読み込んだ所まで大丈夫です。
a = w;
b = a;
w = b;
上記の式だとa=wは初期化されてないとエラーがでます。
たぶんwに何も数値がないからでしょうか?
フロートチャートだと上のような順番なんですけど

371:デフォルトの名無しさん
07/05/10 08:56:24
>>369
"\n" でいいかと。
XMLならそもそも改行しなくていいじゃんとは思うが。


372:デフォルトの名無しさん
07/05/10 08:58:09
>>370
> たぶんwに何も数値がないからでしょうか?

そのとおり。

> フロートチャートだと上のような順番なんですけど

フローチャートが間違っている。自分の頭で考えれば、間違っているこ
とは明白でしょでしょ?



373:デフォルトの名無しさん
07/05/10 09:05:48
>>372
やっぱりそうですか、wに何かしろの数字をいれないと駄目なんですね。
退避用の変数を設ける以外何の説明も無かったけど助かりました。

374:デフォルトの名無しさん
07/05/10 09:14:26
先ず、2つのコップを用意しよう。
それを机に置いてみよう。
そして、その2つのコップの位置を、
コップを1つずつ動かして、交換してみよう。

さて、どういう風に動かしたかな?

375:デフォルトの名無しさん
07/05/10 09:49:28
初心者に例出して理解させようとするのはいいが、最後までやれよ?
いつも中途半端に終わってるぞ。

376:デフォルトの名無しさん
07/05/10 09:52:35
a と b を交換したいんだろ?

a = w;
b = a;
w = b;

訳分からんよw

a => w;
b => a;
w => b;

っていう意味じゃないのか?

w = a;
a = b;
b = w;

おもいっきり釣られてみるテスト


377:370
07/05/10 10:15:23
>>376
ほんっとご親切にありがとうございます。
逆さになってましたね(汗)それと出力の部分も逆になってたようで成功してたのに変わってないようなってました。
アルゴリズムの観点で考える力が未熟ですよね、もっと勉強します

378:デフォルトの名無しさん
07/05/10 14:32:45
Cしか知らない初心者です。

Javaで継承されたメソッドのバイトコードはコンパイル時、
親classファイルに吐き出されるのでしょうか?
子classの継承したメソッドは親クラスのメソッドへのリンクになるんでしょうか?





379:378
07/05/10 14:35:03
すみませんわけ分からん質問をしてしまいました。
流してください。

380:378
07/05/10 14:53:01
JVMドキュメントなんかを軽くでも読んでから出直します;;

381:デフォルトの名無しさん
07/05/10 14:56:35
JVMドキュメント? VM仕様? API仕様?

382:デフォルトの名無しさん
07/05/10 16:58:32
ソースコードからクラスのインスタンスのサイズを知ることは可能でしょうか?

383:デフォルトの名無しさん
07/05/10 17:35:48
>>382
コンパイラとVMに依存すると思うよ

384:デフォルトの名無しさん
07/05/10 17:45:22
Char ってどう読むのが一般的なんでしょうか?
人前で発声しなくても自分の心の中だけでの読み方でも良いので教えて下さい。

385:デフォルトの名無しさん
07/05/10 17:50:19
>>382
> クラスのインスタンスのサイズ
なにそれ。

386:デフォルトの名無しさん
07/05/10 17:52:29
練習用のプログラムを書いて保存しようとすると、
メモリが足りないとかでるんですけど、
これはどうすれば解消できますか?
今までコンパイルされたものをリセットとかできますか?

387:デフォルトの名無しさん
07/05/10 17:53:38
>>384
キャラ もしくは チャー と呼んでいる人が多い

388:デフォルトの名無しさん
07/05/10 17:59:11
>>386
> これはどうすれば解消できますか?
条件が抽象的すぎて答えられまセン

> 今までコンパイルされたものをリセットとかできますか?
質問の意図が不明デス

389:デフォルトの名無しさん
07/05/10 18:08:04
>>384
キャスバル兄さん

390:384
07/05/10 18:21:48
>>387
チャー と読む人もそこそこ居るんですね。
実は自分も チャー 派なんですが、人前で読む場合は
何となく負けた感じがするので キャラ にしています。

>>389
アルテイシア乙

391:デフォルトの名無しさん
07/05/10 18:29:14
>>388
本に載ってるサンプルのコードをメモ帳に入力して、
保存しようとするときにメモリに関する警告が出るときがあります。
なのでマイドキュメントに溜まった、
メモ帳に書いたサンプルのコードをかなり消したんですが、
未だに新しいコードを保存しようとすると同じ警告が出るときがあります。
(出ないときもあります。)
なので他の原因を考えたんですが、
今までコンパイルしたものは、
改めてコンパイル(javac)しなくてもjava ~.javaだけで実行できますよね。
なので今までパソコンに記憶されたコードを消せば警告もでなくなるかなと思いました。
なのでどうやってそれを消せばいいかなと思いました。

392:デフォルトの名無しさん
07/05/10 18:31:44
>>391
java ~.java×

java ~○

393:デフォルトの名無しさん
07/05/10 18:36:53
.classのことを言ってるのか
てかPCのスペックは?

394:デフォルトの名無しさん
07/05/10 18:42:52
XP
Home Edition

intel(R) Celeron(R)M
processor 1500MHz
1.50Ghz, 248MB RAM

と書いてます。

395:デフォルトの名無しさん
07/05/10 18:44:16
>>393
そうです。.classやソースコードです。

396:デフォルトの名無しさん
07/05/10 18:44:29
かなりの初心者です。
円の内側に色を塗りつぶしたいのですがどのような方法が一番手軽ですか?
あとJava Runtime Environmentはどうやって起動するのですか?

397:391
07/05/10 18:56:06
パソコンのメモリは電源を消せばリセットされるんですよね。
つまりクラスファイルが消去しなくても電源を消せばいい。
でも電源を消しても警告がでたのでクラスファイルを消しました。
まあ一応まだソースコードは保存できるので様子を見てみます。
ありがとう御座いました。m(_ _)m

398:デフォルトの名無しさん
07/05/10 18:57:02
>>397訂正
クラスファイルが→を

399:デフォルトの名無しさん
07/05/10 19:48:24
>>397
ちょwイミフwwwて言われたいのか?

自作板の人間としてはそんなイミフなサポ来たら
間違いなく死ねるからその前に答えておくと
メモリ増設するかPC買い替えろ。

俺も>>397と同じスペックでEclipse+EclipseME+VE動かしてた時期があるがOSの使用メモリを73Mまで削って物理256-32M+スワップ384Mで運用してたが動くだけだったぞ。

400:デフォルトの名無しさん
07/05/10 21:05:35
>>399
ソースコードのを中のintとかdoubleをコンパイルする度に
メモリがどんどん消費されていくのかなと思ったり・・。
まあ今のところは作業が継続可能なので、
作業が継続出来なくなるようなら買い換えます。
レス有難う御座いますm(_ _)m

401:デフォルトの名無しさん
07/05/10 21:19:54
>>399
イミフwwww

402:デフォルトの名無しさん
07/05/10 21:24:51
何度読んでも397の意味がわからん

403:デフォルトの名無しさん
07/05/10 23:55:35
リスナについての質問です。

Swingでアプリを作っているのですが、
JFrameの上に配置したSwingコンポーネント上でも、
JFrameに登録したリスナのイベントを拾うことは可能ですか?

具体的にはJFrameにMouseMotionListenerをaddしてMouseMoved処理を書いているのですが、
JFrame上に配置しているJTabbedPane等を透過できず、イベントが拾えません。
もちろんJTabbedPaneにMouseMotionListenerを登録することもできますが、
結局その上に配置したボタンやらテーブルに邪魔されて同様の問題が発生します。

力技で全てのコンポーネントにリスナを登録するのは、
コンポーネント数が多すぎて現実的ではないと思います。

要は下部のコンポーネントに登録したリスナのイベントを、
上部のコンポーネントに関係なく拾いたいということなのですが、
このようなことは可能でしょうか?

もし可能であれば、ヒントを頂けるとありがたいです。
長文で申し訳ありませんが、よろしくお願いします。


404:デフォルトの名無しさん
07/05/11 00:27:29
>>403 つ「GlassPane」
こんどからは↓で
Java低速GUI Swing 5
スレリンク(tech板)

405:デフォルトの名無しさん
07/05/11 01:24:25
早速のアドバイスありがとうございました。
Swing用のスレがあったんですね。。
スレ違いになってしまいますが、話の続きなのでここで書かせていただきます。


以下のようにリスナのadd先をGlassPaneにして、setVisible(true)を追記しました。

getGlassPane().addMouseMotionListener(new MyMouseMotionListener());
getGlassPane().setVisible(true);
.......

//内部クラス
class MyMouseMotionListener implements MouseMotionListener{
public void mouseMoved(MouseEvent e){
System.out.println(e.getX() + "," + e.getY());
}
.....
}

結果、マウス移動のイベントを拾ってはくれるのですが、
配置したコンポーネント(ボタン等)を全く押せなくなりました。
まさにアプリの上にガラスを被せたような状態ですw

マウス移動のイベントだけガラスに拾ってもらいつつ、
マウス押下のイベントはガラスを突き抜けて、下のコンポーネントに到達させる様な挙動はさすがに無理なのでしょうか。
ちょっと都合が良すぎる考えのような気がしてきました。。

406:デフォルトの名無しさん
07/05/11 03:58:30
>>397
電源を消すとクラスファイル等いろいろ消えるパソコンに買い替えなさい

407:デフォルトの名無しさん
07/05/11 04:21:29
おそろしいパソコンだw

408:デフォルトの名無しさん
07/05/11 08:35:48
>>405
URLリンク(java.sun.com)(java.awt.Component, java.awt.event.MouseEvent, java.awt.Component)


409:デフォルトの名無しさん
07/05/11 10:14:43
>>397
URLリンク(www.so-net.ne.jp)

410:デフォルトの名無しさん
07/05/11 11:37:27
Javaとは関係ないんですが、JavaVMのアプレットが起動したとき
Window下部に 警告 アプレット ウインドウ と表示されますが
この表示バーを消すことはできませんか?

411:デフォルトの名無しさん
07/05/11 11:39:27
>>405
URLリンク(java.sun.com)

412:デフォルトの名無しさん
07/05/11 16:58:23
>>371
レスありがとうございます。
うまくいきましたが、一つ疑問が起きました。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
の直後で改行しようとした所HIERARCHY_REQUEST_ERRが出ました。
調べた所このノードは子ノードにテキストノードを持てないということがわかりました。

ということはつまり、XMLでは一般的に改行しないんでしょうか?
テキストエディタで一見したときにわかりやすいと思のですが。

413:デフォルトの名無しさん
07/05/11 17:05:37
>>409
怖ぇー

414:デフォルトの名無しさん
07/05/11 21:51:41
すいません!java初心者です!テキスト見てもどう手をつけていいか
わかりません。どなたか詳しい方ご教授願います。

とりあえず、2,10,16進数だけ勉強しました^^;)
本日から入社しましたのですが、なかなか教えてもらう機会がなかった
ので・・。やはり皆さんは23時帰りですか?
素人で申し訳ないです。

415:デフォルトの名無しさん
07/05/11 21:54:55
何か作ってみれば、何が必要なのかが分かってくるはず。

416:デフォルトの名無しさん
07/05/11 22:00:57
>>415 何を作るんですか?? 
それがプログラムが作れない未経験の状態なんで、基本的なことが
わからないんですよ。お奨めのサイトや本てありますか?
図々しくてごめんなさい。


417:デフォルトの名無しさん
07/05/11 22:01:21
>>414
会社の人に聞いた方が早いよ。

418:デフォルトの名無しさん
07/05/11 22:04:33
cygwinで実行して出た結果をコピペしたいのですが、
どうすればいいでしょうか?

419:デフォルトの名無しさん
07/05/11 22:06:46
>>418
ここ、Javaスレだから。

420:デフォルトの名無しさん
07/05/11 22:11:44
javaで書いたプログラムということでだめですか

421:デフォルトの名無しさん
07/05/11 22:13:16
自己解決しましたスマソ

422:デフォルトの名無しさん
07/05/11 22:22:44
これが噂のDQNか…

423:デフォルトの名無しさん
07/05/11 22:27:01
進数はJavaに限った事じゃないから。
まだココで聞くには早いと思うぞ

424:デフォルトの名無しさん
07/05/11 22:43:18
>>414
23時帰りではありません。

425:デフォルトの名無しさん
07/05/11 22:52:48
>>416
何でもいいじゃん。
簡単なゲームでもいいし、何か計算させてもいいし。

426:デフォルトの名無しさん
07/05/11 23:11:48
>>418
stdout(場合によってはstderrも)をファイルに送ればいいだけじゃないの?

427:デフォルトの名無しさん
07/05/11 23:28:32
scriptコマンドとか
cygwinにあったっけ

428:デフォルトの名無しさん
07/05/12 01:53:20
>>412
ルート要素外にはテキストノードは置けないですね。

試してないけど、
URLリンク(faq.javaranch.com)
このへんを参考すると、自動で改行など挿入できるんじゃないでしょー
か。


429:デフォルトの名無しさん
07/05/12 03:21:01
>>412
> テキストエディタで一見したときにわかりやすいと思のですが。
XMLはプログラムで扱いやすいようにしたもので、
人間が直接見たり編集したりするためのものじゃない。
人間が扱うならテキストエディタでなくXMLエディタなんかを使った方がいい。

430:デフォルトの名無しさん
07/05/12 05:01:09
というか根本的にDOMは総称符号化における
文書インスタンスを動的に変更するものであって
テキストデータをフォーマットするものではない。

まあ、元々はNetscapeのdynamic web architectureであるLiveDocumentの後継技術だからHTML用だが。

>>429の言う通り
意味が分からんなら諦めろ。

431:デフォルトの名無しさん
07/05/12 05:07:45
ミスった。

>>429の言う通り総称符号化とはコンピュータ内での文章を保守・管理・閲覧を容易にするための研究分野だ。

人間が見づらいなんて論外、端から眼中にない。お門違い。
フューマンライクにフォーマットしたいならそういう
フォーマッタライブラリがあるからそれ使え。それか自分で書け。

432:412
07/05/12 16:35:13
直接いじらないので改行しないんですか。
それならバイナリデータの方が良いと思いますが、
これは以前のなごりなんですかね。

皆さんレスありがとうございました。

433:デフォルトの名無しさん
07/05/12 16:42:50
普通に出来ることがなんでこうなるのかわからんなw

434:デフォルトの名無しさん
07/05/12 16:44:12
バイナリデータというのが人間が簡単に読めないデータという意味だとすれば
なぜそっちの方がいいと思ったん?

435:412
07/05/12 16:51:20
>>434
処理速度が上がると思ったからです。

436:デフォルトの名無しさん
07/05/12 17:18:13
スレ違いなので、XMLの特徴、長所と短所を理解してから出なおしてください

437:412
07/05/12 17:54:57
わかりました
スレ汚しスマソ

438:デフォルトの名無しさん
07/05/12 18:36:43
BigDecimalでの加減算の方法を教えてください。
なんで普通に足せないの??

439:デフォルトの名無しさん
07/05/12 18:37:58
>>438
どうやって足しているかを書く

440:デフォルトの名無しさん
07/05/12 18:40:23
BigDecimal a = new BigDecimal("10000000000000000");
BigDecimal b = new BigDecimal("10000000000000000");
BigDecimal c = a+b;

こうやろうとしてエラーになっている。
演算子オーバロードができたらねぇ。

441:デフォルトの名無しさん
07/05/12 18:59:46
BigDecimal c = a.add(b);

442:デフォルトの名無しさん
07/05/12 19:10:57
演算子なんて只の飾りですよ
エロいひとにはそれが分からんのですよ

443:デフォルトの名無しさん
07/05/12 20:55:11
IterableのGenerics型とIteratorのGenerics型が一致しないのはどう解決しますか?
ぜんぶ<T>で呼び出してるから一致しないわけないと思うんだけど、コンパイルが出来ません。

444:デフォルトの名無しさん
07/05/12 20:56:49
> IterableのGenerics型とIteratorのGenerics型が一致しないのはどう解決しますか?
どゆ事?

445:デフォルトの名無しさん
07/05/12 21:04:23
TとTが一致しませんといってエラーが出てるのです。

446:デフォルトの名無しさん
07/05/12 21:18:34
JSliderはスライダ部分をクリックしただけだとイベントを発生しないけど、発生するようには出来ないでしょうか?
ChangeEventでスライダを動かした時だけしか、イベントを発生できないようです。 スライダをクリックして
「握った」状態を感知したいのですが・・・

もしくは、そうできるようなものはないでしょうか? swingでの使用を考えています。

447:443
07/05/12 21:25:35
IterableのT型変数をIteratorのnextで戻していたのが原因でした。
型推論できそうな気もするけど、Iterator内に移したらコンパイルが通りました。

448:デフォルトの名無しさん
07/05/12 21:41:05
JAVAってインラインアセンブラできないの?

449:デフォルトの名無しさん
07/05/12 22:01:19
そんなんでRun Anywhereできると思ってんのかコラァ!

450:デフォルトの名無しさん
07/05/12 22:07:38
JVM 用アセンブラを書くライブラリはあるだろ。
BCEL とか使えばいい。

451:443
07/05/12 22:38:09
自己解決の方法が間違ってたので、フィードバック。

Iterableの型をIteratorに引き継ぐ場合は
private class MyIterator implements Iterator<T>とするだけ。
MyIterator<T>としてしまうと型を上書きするみたい。

こんな間違い私だけかも知れないけど。

452:デフォルトの名無しさん
07/05/12 22:50:52
> private class MyIterator implements Iterator<T>とするだけ。
これ、外側に MyIterable<T> の宣言とかが無いと、
何を書いてるか分からんぞ。

453:デフォルトの名無しさん
07/05/12 23:01:45
インラインアセンブラも、ヴァーチョウマスゥィーンヌのほうで吸収して呉れりゃいいのに。

454:デフォルトの名無しさん
07/05/12 23:31:11
javaの考える力を身につけるにはどう学習すればいいですか?
何かお勧めのテキスト教えてください、情報技術者試験対策の勉強だと知らないようなことを
考えさせられて自分の力の無さを感じてしまうお

455:デフォルトの名無しさん
07/05/12 23:52:35
URLリンク(www.amazon.co.jp)

456:デフォルトの名無しさん
07/05/12 23:58:43
>>455
おK、これで考える力をつけようと思います。
しかし値段すごいですね(((( ;゚Д゚))) とりあえず大きな本屋に行って立ち読みしますわ

457:デフォルトの名無しさん
07/05/13 01:05:32
高いか???
普段、赤本とか物理学などの本買ってると2万3万当たり前なので安く感じる。

最も高かったのが、医学の術式を記した本で5万。

458:デフォルトの名無しさん
07/05/13 01:11:19
高いよ

459:デフォルトの名無しさん
07/05/13 01:13:45
本に2000円以上出すのは抵抗あるお
資格取得の参考本以外は手をつけた覚えないな

460:デフォルトの名無しさん
07/05/13 01:49:36
>>455
まつもとゆきひろ氏が読んで目から鱗が落ちた本だな。
URLリンク(www.ruby-lang.org)

461:デフォルトの名無しさん
07/05/13 02:34:48
同じ場所に end の解説があってワロス

462:デフォルトの名無しさん
07/05/13 02:49:37
>単文・複文問題の回避
{ } 強制の Perl では問題が生じない。

>ぶらさがりelse問題の回避
{ } 強制と elsif の導入で解決する問題。

>可読性の向上
趣味の問題なので何ともいえない。

>begin, caseの構文上の問題
これはある程度納得できる。

463:デフォルトの名無しさん
07/05/13 05:20:05
>>462
お前は俺だ

464:デフォルトの名無しさん
07/05/13 10:28:31
開始時刻の(時h1、分m1)と終了時刻(時h2,分m2)を読み込み開始から終了までの時間(時h,分m)を求める式が考えつきません。

hd = h2 - h1; md = m2 - m1; 単純に時分をそのまま足す引くしか考えが浮かばないんですが終了時刻の方が小さいとマイナスと出ます。
逆にしても同じで開始終了どちらの大小関係なくマイナスにならないようにするヒントを教えていただけませんか?

465:デフォルトの名無しさん
07/05/13 10:38:20
Calendarつかえばいんでね

466:デフォルトの名無しさん
07/05/13 10:47:49
もし開始時刻より終了時刻のほうが早ければ開始-終了、それ以外なら終了-開始

467:デフォルトの名無しさん
07/05/13 10:51:09
>>464
絶対値でOK

468:デフォルトの名無しさん
07/05/13 11:37:41
>464
Date start = new Date();
Date end = new Date();
long diff = start.getTime() - end.getTime();
int diffMinitue = diff / (1000 * 60);
int diffHour = diff / (1000 * 60 * 60);

469:デフォルトの名無しさん
07/05/13 11:39:09
>467
絶対値使うなwww
たぶん、12時25分(開始) 13時10分(終了)のような状況と思われ。

470:デフォルトの名無しさん
07/05/13 12:23:54
h=h2-h1;
m=m2-m1;
if(m<0) {
h=h-1;
m=m+60;
}
引き算のときに下の桁で足りなかったら上の桁から借りてくるって算数で習っただろ?

471:デフォルトの名無しさん
07/05/13 12:26:18
>>470
それでやると日付またいだりしたときに面倒くさそうだね。

472:デフォルトの名無しさん
07/05/13 12:34:24
もともと問題がhとmしかないからね。
日付をまたいだり月をまたいだり年をまたいだりするなら、
さらに上の桁から借りればいい。
月が変わる時の処理がちょっと面倒だけど。
まあ、そこまでの問題なら日時関連の標準APIを使うのが楽だろうが。

473:デフォルトの名無しさん
07/05/13 12:39:27
DateとCalendarを使えって話題じゃないのかね?
どういうながれで問題が出されたのか解らんけど。

474:デフォルトの名無しさん
07/05/13 13:41:33
超初心者です。
今アプリゲットの開発講座を見ながらJ2MEのtoolkitでイメージの描写を
やってるのですが、解説にのってあるpngではなく自分で用意したpngを
使用すると、パッケージのところで
「アプリケーション記述子のJARサイズが実際のJARファイルサイズと一致しません」
と出るんですが。どこをいぢればいいか教えてください。

475:デフォルトの名無しさん
07/05/13 13:44:19
黄色いアプリゲットだぜ!

476:デフォルトの名無しさん
07/05/13 14:38:09
javaのsliderで動画のシークに使える派生モノはないですか? JSliderだとスライダーを握っただけ
だとイベントを発生しないので・・・ スライダーを動かして初めてイベントを発生する・・・

477:デフォルトの名無しさん
07/05/13 14:53:29
動画のシークに使うのならサムを握っただけでイベントを発生させる必要はないのでは?
値が変わった時にシークさせればいいと思うのだが。
MouseEventを捕まえればいちおうイベントは発生してくれる。
サムでない部分をクリックしてもMouseEventが発生するけど、
そのときはChangeEventも発生するはずなので区別を付けられないわけではない。
もしくは実装の詳細に入ってしまうのであまり良い方法ではないが、
MouseEventの発生位置がサムの領域かどうかで判断するか。

478:デフォルトの名無しさん
07/05/13 15:06:25
お願いします
>>474


479:デフォルトの名無しさん
07/05/13 15:17:58
>>474
プロパティ

480:デフォルトの名無しさん
07/05/13 15:21:29
>>477
そのサムを握った時に動画やアニメーションを停止させたいので、イベントが発生してくれるとうれしいのです。
もう少し、調べてみます。

481:デフォルトの名無しさん
07/05/13 15:37:26
>>479
プロパティって言うのは、jadにjarファイルの容量を入れるってことですよね?
今はjavaファイルからclassファイルにコンパイルする段階でできないのですが。


482:デフォルトの名無しさん
07/05/13 16:35:21
携帯はスレ違い
MIDPスレ行け

483:デフォルトの名無しさん
07/05/13 16:36:14
>>482
了解です。。

484:デフォルトの名無しさん
07/05/13 17:38:14
プログラミング経験もほぼ無いに等しいのですが
お勧めの参考書でもあれば教えてください。

485:デフォルトの名無しさん
07/05/13 18:18:16
>484
スレリンク(tech板)l50

俺の考えは、入門書はイラネ。
やさしいとか猫が解るとか6日で学ぶとか色々あるが、金の無駄。
いわゆる入門書のレベルならばWebで探せば幾らでもあるからタダ。

Webで軽く触ったなら、少し難しい本を買って辞書として使用すべし。
あわせて、独習Java等の演習問題を血を吐くまで打ち込むべき。

486:デフォルトの名無しさん
07/05/13 19:09:46
JRE6をインストールしたら今まで使っていたJRE5は削除してもいいんでしょうか?

487:デフォルトの名無しさん
07/05/13 21:45:27
>>486
JRE5を使うか使わないかは君次第

488:デフォルトの名無しさん
07/05/13 22:05:30
>>455はJavaじゃないだろ

489:デフォルトの名無しさん
07/05/13 23:17:26
JavaじゃないけどJavaで考える力はつくよ

490:デフォルトの名無しさん
07/05/13 23:30:41
いや、特につかないだろ
Java問題集とかパズルとか読んだ方がずっといい

491:デフォルトの名無しさん
07/05/13 23:40:01
いや、考える力はつくだろ

492:デフォルトの名無しさん
07/05/14 01:23:17
ファイルがまだ残っているディレクトリツリーをまとめて削除したいのですが
どうすればいいでしょうか?

493:デフォルトの名無しさん
07/05/14 01:28:24
残っているファイルを全部消してから親ディレクトリに移り子ディレクトリを消す
という操作を再帰的に行う
下手すると全部消えるから再帰の止めどころを間違えないように

494:492
07/05/14 01:30:17
>>493
その処理をしてくれるメソッドはないでしょうか?

495:デフォルトの名無しさん
07/05/14 01:37:41
標準のAPIにはたぶんない
apache commonsのorg.apache.commons.io.FileUtilsには
deleteDirectoryやcleanDirectoryがある

496:492
07/05/14 01:45:04
>>495
ありがとうございます。

497:デフォルトの名無しさん
07/05/14 03:38:52

質問質問!

JavaのJFrameにFlashPlayerを乗せるにはどうすればいいですか!
教えてちょんまげ!!
 
ちなみにFlash側はActionScriot3.0で書くつもりです
 

498:デフォルトの名無しさん
07/05/14 03:58:47
>>497
切腹

499:デフォルトの名無しさん
07/05/14 04:03:15
for(;;){} の初期化の部分で複数の型を初期化するにはどうすればいいですか?
int と String の異なる型をfor内部で宣言させたいのですが…

エラーになりますが、イメージとしてはこんな感じです。
for(int i=0, String s=""; i<foo.length; i++){}

500:デフォルトの名無しさん
07/05/14 04:17:23
できないのでforの前でやってください

501:デフォルトの名無しさん
07/05/14 04:41:08
>>500
了解です。ありがとうございます。

502:デフォルトの名無しさん
07/05/14 09:12:10
質問させていただきます。
Excelファイルを参照して、指定したセルに書かれいている文字列を、
配列に格納するという方法はあるのでしょうか?

503:デフォルトの名無しさん
07/05/14 09:20:52
あります

504:デフォルトの名無しさん
07/05/14 09:24:40
>>503
調べてみてはいるのですが検討が付きません。
教えていただけませんか?

505:デフォルトの名無しさん
07/05/14 09:27:34
>>504
POI使え
URLリンク(jakarta.apache.org)

506:デフォルトの名無しさん
07/05/14 09:29:40
ありがとうございます。


507:デフォルトの名無しさん
07/05/14 21:06:17
JAVAを独学ではじめようと思っているのですが。
参考書籍、それとも初心者用の解説サイトで学ぶのがよいのでしょうか?
またそれについてお勧めの書籍等ありましたら、教えていただけると有難いです。

508:デフォルトの名無しさん
07/05/14 21:07:39
>>507
やさしいJavaプログラミング

509:デフォルトの名無しさん
07/05/14 21:26:26
>>508
あんなもん教えるな。

510:デフォルトの名無しさん
07/05/14 21:50:42
否定するなら対案示すとかどこが悪いか示すとか、そういうのすべきじゃね?

511:デフォルトの名無しさん
07/05/14 22:04:40
房乙

512:デフォルトの名無しさん
07/05/14 23:16:26
ファイルをアップロードするサーブレットを作っています。
fileuploadライブラリを使用してアップロードは出来るように
なりました。
しかし、フォームのデータが取得出来ません。

ファイルをアップロードするために、「enctype="multipart/form-data"」を
入れているのですが、これを入れるとHttpRequest#getParameter()で
取得できないことは分かりました。
では、どうすれば取得できるのでしょうか?

FileItem#getFieldName()でフォームの名前(name)は取得できるように
なりましたが、値(value)は取得することが出来ません。

どうすればよいのでしょうか?

513:デフォルトの名無しさん
07/05/14 23:22:26
てst

514:デフォルトの名無しさん
07/05/14 23:44:47
>>512
GWT

515:デフォルトの名無しさん
07/05/15 00:19:42
>>514
GWTというものが存在することは先ほど検索して分かりましたが、
それが今回のものとどういう関係があるのか全く分かりません。
もう少し詳しくお願いします。

516:デフォルトの名無しさん
07/05/15 00:24:50
>>512
最近使ってないので覚えてないが
ドキュメントに書いてなかったか?
サンプルにもあったような気がするが

517:512
07/05/15 00:40:04
>>516
FileItemのリファレンスを見ても分からなかったのですが、
サンプルを見るとgetString()で簡単にいけそうです。
今は環境が無いので、明日試してみます。

// Process a regular form field
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString();
...
}

とりあえず、ありがとうございます。

518:デフォルトの名無しさん
07/05/15 02:50:44
n以下の素数をはじきだすプログラミングをくんだのですが上手く動きません。
添削していただけないでしょうか?

import java.io.*;
import java.io.*;
public class enshu34 {
public static void main(String[] args) throws Exception {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("integer> ");
int n = (new Integer(in.readLine())).intValue();
int i = 2;
while(n % i != 0) { i = i + 1; }
if(i == n) { System.out.println("This is a prime factor"); }
else { System.out.println("This is not a prime factor"); }
}
}

519:デフォルトの名無しさん
07/05/15 03:13:53
>>518
キミが期待する具体的な動作(…を入力したら…が表示されて欲しい)と
そのプログラムがどう期待通りでないか、
を書きましょう。


520:デフォルトの名無しさん
07/05/15 03:56:54
ぬるぽ

521:デフォルトの名無しさん
07/05/15 04:10:44
ガッ… Java 始めたのですが質問です。

Java には標準で make 相当のコマンド/仕組みは無いですか?
皆IDE?

ググったら Jakarta の Ant なるものが引っかかったんだけど、
使い慣れたmakeにしがみつくより覚えて損はなさそうですか?
意見plz

522:デフォルトの名無しさん
07/05/15 04:22:52
使い慣れたmakeを使い続けるもよし、antをかじってみるもよし。
他人とすり合わせる必要がないのなら自分の一番使いやすい方法をとればいい。
javaのプログラミングで使うのならantは覚えても損はないとは思う。

523:デフォルトの名無しさん
07/05/15 04:46:55
とりあえずmakeで済ませつつ、覚えても損はなさそうな代物ということで
折を見て少しかじってみることにします。

すこし Ant の使い方を眺めていたんだけど、
xml で記述っていうのが慣れていないせいか何となく('A`)
ツールとかで機械的に吐くには便利そうだけど

レスありがとうございました。

524:デフォルトの名無しさん
07/05/15 09:30:16
最近mavenが増えて困る

525:デフォルトの名無しさん
07/05/15 11:14:51
>>523
大量にビルドする時とか、JVM起動のフットプリントが結構響くので
makeだと2時間掛かるけどantに切り替えたら10分だった、という過去の経験がある。
最近のスペックのマシンとJVMだとそんなに気にならない可能性もあるけど

526:sage
07/05/15 15:06:31
Java Web Start のスプラッシュ画像を変更する正しい方法を教えてください。
単に画像を入れ替えるだけだと更新されないばかりか
何度起動しても新しいスプラッシュ画像を毎回ダウンロードしてしまいます。

527:デフォルトの名無しさん
07/05/15 16:40:46
slickeditを使っているが、コンパイルエラーが文字化けして使い物にならない。
そこでjavacの出力を英語かslickeditで日本語を表示できるようにするかのいずれかを
考えているのですが、どうすれば良いでしょうか?
slickeditはver11、 javaは最新版です。

528:デフォルトの名無しさん
07/05/15 21:16:50
"1,2,3,4,5,6,"123,23,45",12,55"
のようのCSVデータで"123,23,45"のような""でかこまれた
箇所だけを除いて、カンマ区切りでデータを抽出するにはどうすれば
いいでしょうか。
StringTokenizerを使用しようとしてなかなかうまく行きません。
ご教授よろしくお願いいたします。

529:デフォルトの名無しさん
07/05/15 21:27:46
何が言いたいのかよくわからんがsplitでも使えばいいんじゃないか

530:デフォルトの名無しさん
07/05/15 21:37:33
いや、
1,2,3,4,5,6,"123,23,45",12,55

1 2 3 4 5 6 "123,23,45" 12 55
で分けたいのです。
"123,23,45"この部分をどうすればいいのかと・・・

531:デフォルトの名無しさん
07/05/15 21:39:45
>>530
引用符外れるけど。

List<String> list = new ArrayList<String>();
StringTokenizer st = new StringTokenizer(str, "\"", true);
boolean inQoute = false;
while(st.hasMoreTokens()){
 String token = st.nextToken();
 if(token.equals("\"")) inQuote = !inQuote;
 else if(inQuote) list.add(token);
 else list.addAll(Arrays.asList(token.split(",")));
}

532:530
07/05/15 21:45:32
>>531
サンクス!!
できました。
ありがとうございます!!

533:デフォルトの名無しさん
07/05/15 21:49:20
>>531
123,23,45 の後に余分な空要素が入るような。
ま、>>530 の用が足りてるならかまわんけど。

534:デフォルトの名無しさん
07/05/15 22:07:03
>>533
while(st.hasMoreTokens()){
 String token = st.nextToken(inQuote ? "\"" : "\",");
 if(token.equals("\"")) inQuote = !inQuote;
 else if(!token.equals(",")) list.add(token);
}

535:デフォルトの名無しさん
07/05/15 22:11:09
プログラム未経験で入社して、研修を行っています。
変数とかif文までは理解できたのですが、for文がどうしても理解できず悩んでます。
特に二重ループ(?)になると混乱して・・・
なにかアドバイス貰えませんか?

536:デフォルトの名無しさん
07/05/15 22:15:13
違う参考書を読んでみる

537:デフォルトの名無しさん
07/05/15 22:15:44
>>535
その場で腕立て10回、腹筋10回を 10セットやってみよう。
それが二重ループだ。

538:デフォルトの名無しさん
07/05/15 22:19:56
> 536
やさしいJavaって本で勉強はしたんですけど、研修で出た課題を解こうとしてもサッパリでして。
書き方乗っているから真似して書いて、と言われてます。
どこをどう真似すればいいのか聞いても、for文はループとしか答えてくれないんです。

539:デフォルトの名無しさん
07/05/15 22:22:38
それ以上どういう説明すりゃいいんだよ

540:デフォルトの名無しさん
07/05/15 22:24:15
forの前にwhileを学べ。whileの基本系に特化したのがforと言っても過言ではない。

541:デフォルトの名無しさん
07/05/15 22:25:48
今からでも遅くなから転職を考えたらどうか

それがダメなら
その本でも違う本でも良いから何度も読んで例題をやってみるとか
誇張じゃなくて、本当に100回ぐらい繰り返して読むと突然理解できる時があるから

542:デフォルトの名無しさん
07/05/15 22:26:44
>>537
腕立て1回やったら腹筋10回を10セットじゃね?

for(int 腕立て回数=0;腕立て回数<10; 腕立て回数++){
 腕立てやる();
 for(int 腹筋回数=0;腹筋回数<10;腹筋回数++){
  腹筋やる();
 }
}
System.out.println("もう無理ぽ");

543:デフォルトの名無しさん
07/05/15 22:28:30
>>542
腕立て10回したら1分休憩を 10セットでも何でもいーけど。

544:デフォルトの名無しさん
07/05/15 22:30:42
いやビリーにGJ!っていってもらったほうがいいな。

545:デフォルトの名無しさん
07/05/15 22:31:37
ブートキャンプか

546:デフォルトの名無しさん
07/05/15 22:37:14
>>538
じゃあ、forをどう理解してるか教えて


547:デフォルトの名無しさん
07/05/15 22:40:29
>>542
それってさ、実行すると
腕立て→腹筋*10→腕立て→腹筋*10→・・・
ってことにならね?

548:デフォルトの名無しさん
07/05/15 22:45:19
はいはい、ワロス、ワロス

549:デフォルトの名無しさん
07/05/15 22:46:00
>> 546
理解しているというか教えられた内容はこんな感じです。
プログラムで繰返し処理を行う場合にfor文を使う
for文ではカウンターと呼ばれる変数をまわして処理が繰り返される
書き方はfor(初期化の式; 繰り返す数の式; 変化の式)と書く。

10回表示するとかは書けるんですけど、素数を表示しろってのが解らなくて・・・

550:デフォルトの名無しさん
07/05/15 22:48:28
>>546
あと、変化の式とか初期化の式とかがよく解りません
やっぱり転職でしょうか

551:デフォルトの名無しさん
07/05/15 22:49:31
549を読んで535の会話能力に不安を覚えた。

552:デフォルトの名無しさん
07/05/15 22:58:11
まだ手に馴染んでないだけだろ。もう少し使って見てから質問したらどうだ。

553:デフォルトの名無しさん
07/05/15 22:59:53
どーまん せーまん
どーまん せーまん

554:デフォルトの名無しさん
07/05/15 23:28:48
>>549,550
そこからかぁ
ここで一から懇切丁寧説明すると長くなるからとりあえずJavaの入門サイトをググって自分
なりにある程度理解した上で質問した方がいいかも。
教育担当にしつこく食い下がる、でもいいけど(論点まとめた上でやらないと嫌がられると思うが)
まぁ最初は誰でも初心者だし理解するのは大変だろうけどこういうのってある日突然視界が
拓けるように見えてくるものだから諦めずにがんがれ。

555:デフォルトの名無しさん
07/05/16 00:10:56
いるんだよ。こういうなんでも手取り足取り教えて君がさ・・
とくにJavaに多い
迷惑極まりない
もういいから、しんでくれ

556:デフォルトの名無しさん
07/05/16 00:18:30
>>549
>プログラムで繰返し処理を行う場合にfor文を使う
間違い。
プログラム(アルゴリズム)で同じ処理を何度も行いたい場合、それを繰返し処理と呼ぶ。
for構文ってのは繰返し処理を実現するただの文法。
何を繰り返したいのか、考えてみること。
文字を出力するのか?数値を足すのか?数値で割れるのかを判定するのか?など。

>>555
いるんだよ。こういう文法だけ覚えろって先輩気取クンがさ・・・
とくにJavaに多い
迷惑極まりない
もういいから、しんでくれ

557:デフォルトの名無しさん
07/05/16 01:44:17
JavaでMBRを書き換えるツールは作れますか?


558:デフォルトの名無しさん
07/05/16 01:54:19
通常時はA.jpgの画像が表示され、ENTERを押すとB.jpgに変わる。
B.jpgにENTERを押すとまたA.jpgに戻り、終了時にはC.jpgがうつる。

というプログラムを組んだつもりなのですが、常にC.jpgだけがうつり、ENTERを押してもなんの反応も示しません。
どうすればいいのでしょうか?

559:デフォルトの名無しさん
07/05/16 01:57:40
>>558
きみのプログラムが間違っているんだと思うぞ。


560:デフォルトの名無しさん
07/05/16 02:05:29
ソースも晒さずにどう間違いを指摘しろと言うのだ

561:デフォルトの名無しさん
07/05/16 04:31:15
>>558
18行目のifの条件を見直してみ

562:デフォルトの名無しさん
07/05/16 04:35:36
>>558
> どうすればいいのでしょうか?

デバッグすれば?


563:デフォルトの名無しさん
07/05/16 05:31:31

JFrameの上にFlashPlayer載せるにはどうすりゃいいですか?
 

564:デフォルトの名無しさん
07/05/16 05:47:08
>>527
slickeditってのがどんなものなのか知らないけれど、
javacの実行環境のlocaleを英語にしたければ、
-J-Duser.language=en
をjavacのオプションにすればいい。-Jの後に空白を置かないように。

565:デフォルトの名無しさん
07/05/16 05:48:53
FlashPlayer
JFrame

566:デフォルトの名無しさん
07/05/16 11:29:05
質問です。
a.xlsというエクセルファイルにC:\\b.xlsという記述があるとします。

まずa.xlsをプログラム内で

POIFSFileSystem filein = new POIFSFileSystem(new FileInputStream(
"C:\\a.xls"));
の記述で開きます。

まずa.xlsは上記の様に直接プログラム内で指定しているので開けるのですが、
その後、a.xls内に記述されているC:\\b.xlsという文字列を読み込み、
例えばdataという変数に格納します。
それのdataという変数に格納されているC:\\b.xlsを参照して、

POIFSFileSystem filein = new POIFSFileSystem(new FileInputStream(
"C:\\b.xls"));

という様な形でb.xlsを開けるようにしたいのですがどうすればいいのでしょうか?

わかりにくくてすいません。要するに
直接プログラム内でパスを記述するのでなく、変数に格納されている文字列を読み込み
それをパスとして読み込んでファイルを開くという方法を教えていただきたいのです。

567:デフォルトの名無しさん
07/05/16 11:41:19
変数に格納されているのならその変数をそのまま使えばいいのでは?
パスの形への整形は必要かもしれんが。

568:デフォルトの名無しさん
07/05/16 12:34:06
ありがとうございます。
その整形方法がわからないのですが。。



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