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 あたりで。
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でプログラミング=オブジェクト指向的プログラミングじゃないし敢えて茨の道を そして死亡
332 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 01:08:40 ] A a = new A(); B b = new B(); じゃ、いけないのか? 失敗したら例外出すか、結果を知らせるメソッド持たせば。