[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 15:14 / Filesize : 271 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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

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

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド100【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1175317038

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

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

次スレは>>980あたりで。

231 名前:224 mailto:sage [2007/05/07(月) 17:48:53 ]
わかりました

ありがとうございます!

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

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

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

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

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

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

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

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

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

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

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

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



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

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



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

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

242 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 21:36:06 ]
parseIntでうまくいくかどうか調べる

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

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

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

246 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:46:42 ]
>>230
> java.awt.List の話でしょ?

エスパーすげー

247 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 22:57:23 ]
Linuxか?

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


248 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 23:00:29 ]
>>245
この辺見て、デスクトップマネージャが入ってるか確認して。
java.sun.com/javase/ja/6/webnotes/install/system-configurations.html
よほどの野良ディストリ使ってるとかでない限りは、Gnomeが標準になってると思うけど。

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



250 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:06:19 ]
エンディアン無関係だからこそBOMは本来不要だし

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

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

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

254 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:26:11 ]
バイナリエディタがアンリエッタに見えた俺はアニオタ

255 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:26:43 ]
>250
unicode.org/faq/utf_bom.html#29
An initial BOM is only used as a signature ―
an indication that an otherwise unmarked text file is in UTF-8.

256 名前:251 mailto:sage [2007/05/08(火) 00:31:40 ]
>>253
理解し損ねてました
.classファイルを.javaに変換できる方法はありますか?

257 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:33:43 ]
allabout.co.jp/internet/java/closeup/CU20051206B/index.htm

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

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




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

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

262 名前:260 mailto:sage [2007/05/08(火) 05:14:33 ]
>>261
ありがとう
検討してみる

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

https://bean-builder.dev.java.net/

264 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 06:19:25 ]
GroupLayoutってのもよさげ
いろいろあんだね
もうGridBagLayout使うのやめよう

265 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 06:29:07 ]
NeXTStepもOSXも同じAPIですぜ

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

267 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 07:56:51 ]
>>266
色々すんなりって例えば?

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

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

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

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

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



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

271 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 09:20:39 ]
swfup.info/view.php/6857.swf
↑このフラッシュを見てくれ
もし、参加したくなったら
日本奇跡の逆転劇!! スロベニアを抜き単独4位へ
wwwww.2ch.net/test/read.cgi/news4vip/1178574359/

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


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

273 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 10:44:54 ]
+

274 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 11:27:08 ]
>>273
何文字か指定するにはどうしたらいいですか?

275 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 11:57:45 ]
サンクス!
やっぱ繰り返すしかないのかな・・・

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

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

278 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 14:30:20 ]
>>266
数学の話だが中学校のころ数学教師が教えてくれた。

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

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

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



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

281 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 15:30:50 ]
>>280
FORTRAN はウンコだから。
まあ、0 オリジンにしようと思えばできるけど。

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

285 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:53:18 ]
リスナーって1つのクラスに1つまで??

286 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 16:58:15 ]
>>285
なぜそう思うのかを知りたいもんだなw

287 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:02:10 ]
でへ^−^

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

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

289 名前:287 mailto:sage [2007/05/08(火) 17:13:24 ]
わかりました!!
で、itemlistenerってクリックされたときのみですか、、、?
selectでindex指定しても動いてくれないんですが、、、



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

291 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 17:22:28 ]
addItemListenerの説明にも書いてるね

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

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

294 名前:デフォルトの名無しさん [2007/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 名前:デフォルトの名無しさん [2007/05/08(火) 21:26:02 ]
↑事故解決しました。

296 名前:デフォルトの名無しさん [2007/05/08(火) 21:45:18 ]

       FOX★公認!!!

俺たちのクリックで日本を一位にしようぜ!!
“30年は日本に手は出せないな”という勝ち方をしたい
wwwww.2ch.net/test/read.cgi/news4vip/1178602852/

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

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

・戦場
www.clickclickclick.com/default.asp
・まとめサイト
www33.atwiki.jp/clickvip/


297 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 21:59:50 ]
コピペ君って馬鹿だな、まで読んだ。

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

299 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:08:12 ]
>>298
俺はやったが無駄ではなかった。

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

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



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

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

302 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:26:23 ]
.xlsって段階で見る気がしない

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

304 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:27:05 ]
あれ?2回も。。すんません。。

305 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:39:31 ]
いい忘れましたが問題は英語で書いてあります。。

306 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:41:23 ]
うっさいだまれ

307 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:41:53 ]
先週って連休じゃん

308 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 22:44:48 ]
>>307
いえ、海外にいるんで連休ではなかったです。

309 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:00:53 ]
お二方、コメントいただいてありがとうございました。

>247
なるほど・・・

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

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

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




310 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:04:57 ]
質問です。

class A{
 int x;
}

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

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

311 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:13:37 ]
A[] a = new A[2];
a[0] = new

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

JWSおすすめ。

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

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

314 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 23:52:09 ]
ボタンの配置にご助言お願い出来ますか?
up.spawn.jp/file/up19856.txt
※EUC-JPで保存されてます

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

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

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

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

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

319 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:50:29 ]
>>319
基本形=値渡し
参照型=参照渡し

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


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

322 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:53:38 ]
値を2つ返すから戻り値じゃ・・・ってことじゃないのか?

323 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:58:26 ]
>>323
はいはい ぬるぽぬるぽ
フィールドpublicにするな

325 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:59:33 ]
それ呼び出し側で r.a r.b 書き換わるの?


326 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:59:59 ]
>>292
VM の実装依存じゃね?

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

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

329 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/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 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:06:18 ]
別にjavaでプログラミング=オブジェクト指向的プログラミングじゃないし敢えて茨の道を
そして死亡






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<271KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef