1 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 01:35:28 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド98【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1171787388/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
196 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 04:09:57 ] >>195 new Sensyu[0]でも何でもいいからSensyu[]型を放り込んでおけば、 もしサイズが足りなければ新たに確保してくれる。 APIリファレンスのtoArrayの項目をきちんと読むんだ。
197 名前:193 mailto:sage [2007/03/09(金) 04:29:14 ] >>196 さんありがとうございます。 でっ、できました。ヽ(^o^)丿 難解だけどAPIリファレンス出来るだけ読むようにします。 つきあってくれてありがとう‥
198 名前:デフォルトの名無しさん [2007/03/09(金) 04:48:13 ] 音声の再生についての質問です。 好きなタイミングで音声を鳴らしたり消したりしたいのですが、 スレッド処理を用いている場合はどう書いたらいいのでしょうか? startメソッドにac.loop;と書くと延々鳴ってしまいますし、 runメソッド内に書くとやはり音声の冒頭部分だけが繰り返し再生されてしまいます。 ソース sourcepost.sytes.net/sourceview.aspx?source_id=29248 startメソッドに再生部分を記述 www.za.ztv.ne.jp/yosi-h/Java_Ski.html
199 名前:デフォルトの名無しさん [2007/03/09(金) 10:26:18 ] どなたかご存知でしたら教えてください。 JavaでPDFを作成するiTEXTにて テーブルを作成するときに途中でページからはみ出そうなときは 次ページに改ページしてくれる方法ってないでしょうか? よろしくおねがいします。
200 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 11:21:38 ] >>198 アプレットは単音鳴らすか鳴らせ続けるかだからループさせつつ任意のタイミング止めて再開とかしたいなら適当なサウンドエンジン使った方が良いよ。 >>199 どっかで制御方法見た気がするが・・・javadocくらい叩き込んだ?
201 名前:デフォルトの名無しさん [2007/03/09(金) 11:30:17 ] >200 javadocはよくわかりませんが こちらのサイトでiTEXTのコマンドについては大体わかったのですが ttp://itextdocs.lowagie.com/tutorial/ 質問した内容のサンプルコードが無かったので悩んでます。
202 名前:デフォルトの名無しさん [2007/03/09(金) 11:36:18 ] >200 ありがとうございます。 iTEXTのJAVAdoc見つかりました。 理解できるか分かりませんがちょっと読んでみようと思います。
203 名前:デフォルトの名無しさん [2007/03/09(金) 11:39:01 ] table.tableFitsPage きっとコレジャン! 200サンクス!
204 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 13:53:33 ] >>191 いろいろ解決方法はあるみたいだが、 al = Collections.checkedList(al, Sensyu.class); を使いたくなってくるなあ。これならObjectなど他の型に渡しても 警告が出なくなる。 @SupressWarning("unchecked")でもいいけどさ
205 名前:デフォルトの名無しさん [2007/03/09(金) 14:54:12 ] https://sdlc6e.sun.com/ECom/EComActionServlet/DownloadPage:~:com.sun.sunit.sdlc.content.DownloadPageInfo;jsessionid=A232C894EA5C4D2F03723CB5357D7872;jsessionid=A232C894EA5C4D2F03723CB5357D7872 まとめ見てここからダウンロードしようとしてるんですけどこの後どうすればいいんですか?
206 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 16:47:43 ] >>205 Accept License Agreement してから Java(TM) SE Development Kit Documentation 6, Japanese 選べば? 英語版欲しいなら、English の方選んで。
207 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 16:50:25 ] >>206 サンクス
208 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 19:47:33 ] 英語読めない奴が英語版欲しいと思えんが、jdk6のl10n終わって良かったな。 相変わらず変な訳だが
209 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 20:04:01 ] そういやなんでJavaって日本語版あるんだろ?
210 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 20:18:14 ] むしろ英語マニュアルのが読みやすい俺ガイル
211 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:09:04 ] >>208 i10n って、日本語訳終わっただけで中国語訳とかまだじゃない?
212 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:37:28 ] >>209 1. 市場が大きい。 2. 訳の需要が大きい。 日本語は造語力が大きいので高等教育で用いられる用語も訳すことが出来、 結果として日本語しかできなくても高等教育が受けられる。 アジアの準先進国の言語などでそれほど造語力が高くない場合、そこまで できないので、英語で高等教育を行わざるを得なくなり、結果として高等 教育を受けた人はみな英語が出来るので、英語で困らなくなってしまう。 という意見を聞いたことがある。
213 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:43:59 ] 日本だろうと曲がりなりにも高等教育を受けたら普通英語ぐらいできると思うのだが もし高等教育の意味が文字通り高卒の事だったのなら謝る
214 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:49:04 ] >>213 学校教育英語に幻想持ってないか?
215 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 21:52:08 ] ただ単にi18nの一環でかつ日本人は母国語版を欲しがる人種ってだけじゃね? 技術文書の翻訳版を欲しがるのは日本人くらいだし
216 名前:125 mailto:sage [2007/03/09(金) 22:32:27 ] Rubyでは簡単に実現できたので、再びJavaに戻ってきて作成しています。 ファイルのコピー、移動はFileクラスとFileInputStream,FileOutputStreamあたりを使うことで、簡単に実現できました。 ところでお聞きしたいのですが、InputStreamのread( byte[] buffer )、OutputStreamのwrite( byte[] buffer )で使用する 配列サイズというのは、どれくらいが適しているのでしょうか? バッファーが大きければ処理が早く済むがメモリの消費量が大きくなる、ということはなんとなくわかるのですが、 適量のバッファーサイズの見当がつきません。 現在主流となっているマシンスペックだと、適量のバッファーサイズとはどれくらいなのでしょうか?
217 名前:187 mailto:sage [2007/03/09(金) 22:37:51 ] >>190 返事が遅くなってしまってすみません。 提示していただいたコードを参考にやってみます。 ありがとうございました。
218 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:40:22 ] >>213 英語で小説読もうとして三日であきらめたことを思い出した 資料としてなら読み進めるのは大して苦じゃないが大量になるとかなりウザい メインで英語使うなんて信じられん
219 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 22:54:05 ] >>216 セオリーは無いと思う。 俺はなんとなく 4kB 〜 16kB あたり取ってるが。
220 名前:デフォルトの名無しさん mailto:sage [2007/03/09(金) 23:01:30 ] >>218 小説と技術文書は全然違うでしょ。 語彙空間がまるで違うよ。 俺自分の専攻の論文ならすらすら読めるけど、 一般向けの小説(ハリウッド映画の原作)は 3ページで挫折しかけてるw
221 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:26:59 ] jarファイルをダブルクリックしても反応してくれません。 (Test.classファイル) class Test{ public static void main(String[] args){ System.out.println("aaa"); } } これを jar cf Test.jar Test.class でjarファイル生成 jar xf Test.jar でjarを解凍 マニフェストファイルにMain-Class: Testを追加して保存 jar cfm Test.jar META-INF\MANIFEST.MF Test.class で再びjarに圧縮 こいつをダブルクリックしてもコマンドプロンプトが出てきてくれないです。 エラーメッセージも出ず無反応です。 ただし、コマンドプロンプトから java -jar Test.jar と打ち込むと aaa と表示されます。 どなたかお助けください。
222 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 00:47:21 ] 関連付けの問題か、あるいはコマンドプロンプトが一瞬出ているのに気付かないかのどっちか
223 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:00:44 ] 3つの整数をキーボード入力させてそこから計算させるプログラムを作っているのですが、 入力させた文字列の中に英字または小数がある場合、「○個目には整数を入力してください」という メッセージを表示させたいのですが、Integer.parseIntでの例外をNumberFormatException で拾うという手段を取ってみたのですが、この場合何個目の入力が整数でないのかを個別に 表示することが出来ません。どの入力が間違っていても同一のメッセージ表示しか出来ません。 この方法以外に入力された文字列の中で整数以外の入力を判別して、どの入力がエラーなのかを知らせる方法はありますか?
224 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:02:50 ] ちとその部分のコード書いてみ?
225 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:10:12 ] >>221 Windowsだとjavaじゃなくjavawに関連づけられてるかもしれない。
226 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:31:23 ] >>222 >>225 ありがとうございます。今見てみましたが、javawなってました。 javaにかえて再びwクリックしてみると一瞬だけコマンドプロンプトが表示されましたが、すぐに消えてしまいました。 これはこういうものなのでしょうか?コマンドプロンプトの画面をずっと表示させておくことは出来ますか?
227 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:45:48 ] BufferReaderか何か使ってキーボード入力待ちにするのが一番お手軽w
228 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 01:50:28 ] 今ならjava.util.Scannerを薦めたい。 ttp://www.javadrive.jp/start/scanner/index1.html
229 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 02:04:30 ] なるほど。勉強になりました。ありがとうございました。
230 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 03:57:05 ] 空の文字列 "" と、null の違いがよくわからない。。。
231 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 04:16:57 ] >>230 空の文字列は、長さは0だけど文字列。つまり、Stringのオブジェクトが存在する。 nullは、何もないということ、オブジェクトがないという状態を表す。
232 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 04:20:30 ] >>221 パッケージ作っといて修飾名でクラス指定してないって訳じゃなさそうだね。 winの関連づけはjavawだからそれはいじらないでコマンドプロンプトから打て。 CUIプログラムをクリックしても動きません!って発想が既におかしい。プロンプト立ち上げてからならjavaが終了してもプロンプトが残ってて消えないはず。 OSのしくみとかそこら辺を分かってないだけだからまずそこら辺を勉強した方が良い。 てか独学?専門生? >>230 MS VMだと同義w nullはObject派生型なんだけど値は何にも関連付けられてない。 空文字列は"\u000000"になるんだっけ? 他言語やってて言語によって定義が違うから掴めないの? ただ単にjavaのnullが分かってない? 後者ならjavaの本見ればいい。
233 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 04:39:01 ] >>232 > MS VMだと同義w そんな話は聞いた事がない。 > nullはObject派生型なんだけど値は何にも関連付けられてない。 Java では null は null型だよ。空型とか訳される事もあるけど。 Object からは派生してない特別な型。 > 空文字列は"\u000000"になるんだっけ? は? 薀蓄語りたいなら、ちゃんと言語仕様ぐらい見てからやれ。
234 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 04:39:56 ] >>232 >nullはObject派生型なんだけど値は何にも関連付けられてない。 null は null 型のただ一つの値。 Object 派生型でもないし値が関連付けられていないわけでもない。
235 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 05:39:34 ] >>232 何か自分の知識を語りたいのは分かるんだが その表現をする言語力が伴っていないようで少し哀れ 相手の理解力を超えた表現しか出来てないよ・・・・
236 名前:223 mailto:sage [2007/03/10(土) 06:45:41 ] >>224 遅いレスで申し訳ありません。 try{ timeAtBat = Integer.parseInt(str1); sacrifice = Integer.parseInt(str2); hit = Integer.parseInt(str3); average = (double)hit / (timeAtBat - sacrifice); NumberFormat formatter = NumberFormat.getNumberInstance(); formatter.setMaximumFractionDigits(3); System.out.println("打率は" + formatter.format(average) + "です。"); } catch (NumberFormatException e) { System.out.println("数は0〜1000の整数で入力ください"); } str1,2,3はBufferedReaderを使って読み込んでいます。 System.out.println("数は0〜1000の整数で入力ください");の部分を 打席数、安打数、犠打数のどの入力が整数でないのかを"〜数は0〜1000の整数で入力ください" でそれぞれメッセージを表示させたいのです。 助言をいただけたら幸いです。
237 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 09:01:07 ] >>236 parseInt を3つまとめてtry-catchするんじゃなくて、 ひとつづつtry-catchすればわかるじゃん。 あとはカウンタ変数でも作って、今何番目のparseIntやってるかわかるようにするとか。
238 名前:223 mailto:sage [2007/03/10(土) 09:06:27 ] >>237 ひとつずつキャッチする手はもうやってみたのですが、やっぱりそれが一番早いですかね? カウンタ変数のほうをチャレンジしてみたいと思います。 ありがとうございました!
239 名前:223 mailto:sage [2007/03/10(土) 09:17:34 ] >>237 忘れてました。ひとつずつtryのすぐあとでcatchしていくと例外は拾えるんですけど、 処理をそこで終われないですよね?その後にある計算式は例外でも実行されてしまって エラーになってしまいました。 もし、ひとつずつtry-catchしていくのであれば、どこに計算式などを入れるべきですか?
240 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 09:41:12 ] >>236 入力ください で吹いたw
241 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 09:42:37 ] >処理をそこで終われないですよね? return;
242 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 10:39:34 ] >>239 try-catchだと記述が長ったらしくなるから、parseをラップするメソッドを作る手もある。 引数は文字列、戻り値はInteger但しparse失敗時はnull。 そのメソッドの中でtry-catchを使う。 .NETにあるTryPaseの亜流みたいなもん。
243 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 10:55:31 ] HashMapを使って文字列と数字を扱いたいのですが HashMap<String, int>はintがObjectじゃないからできないんでしょうか? この場合HashMap<String, Integer>とするべきですか?
244 名前:221 mailto:sage [2007/03/10(土) 10:59:49 ] >>232 スクールに通ってましたが素人同然です('A`) 関連付けはjavawを変更できないとすると、 結局>>221 のプログラムはwクリックでは実行出来ないということでしょうか? 誰かにこのプログラムを使ってもらう時に 「コマンドプロンプトからjava -jar Test.jarって入力してね」 と言うのはちと苦しいです。
245 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 11:03:57 ] >>243 プリミティブ型は入れられないのでそうする必要がある。 使うときはautoboxing/unboxingが効くので直接プリミティブを使う コードを書いてもOK。コンパイラがこっそりIntegerに入れたり出したり してくれる。
246 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 11:05:08 ] @echo OFF java -jar Test.jar なバッチを一緒に置いておいてもダメだっけか? 最近WindowsでJava使ってないから忘れたわ。
247 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 11:15:38 ] >>245 ありがとうございます 色々調べたり実験したりでちょっと遅れてしましました 宣言だけIntegerにすれば、他ではintとして扱っても問題ないんですね
248 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 11:52:50 ] >>244 ダブルクリックみたいなGUIど真ん中なことやりたかったら、普通はswingとか使う。 コマンドプロンプトがどうしても必要な場合は>>246 の言うとおりバッチでラップすればおk。
249 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:31:28 ] >>219 ありがとうございます。 調べてみたら、Javaの上位IOクラスは内部バッファとして8192byteつかっていることがわかりました。 その値に統一して使いたいと思います。
250 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 14:34:43 ] バッチファイル使うんなら、pause で入力待ちすればOKか。
251 名前:221 mailto:sage [2007/03/10(土) 15:47:13 ] バッチファイルというのは初耳でした。 >>246 をTest.jarのあるフォルダにa.batとして保存してこれをwクリックで無事実行できました! 皆さんに感謝します。
252 名前:230 mailto:sage [2007/03/10(土) 17:44:56 ] なるほど、ヌル文字列とヌルポインタの関係みたいなもんですね(`・ω・´) 遅レスですが、ありがとうございました。
253 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 17:55:32 ] Cのようなポインタを使用するプログラムだと常識として覚えてるものだが、 JAVAのようなオブジェクト指向だとポインタ意識しなくていいから知らない人が増えてきたな。 便利になると共に起こる、知識不足の弊害だな。
254 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 18:10:00 ] >>253 >JAVAのようなオブジェクト指向だとポインタ意識しなくていいから んなアホな
255 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 18:13:10 ] >>254 ポインタ操作って普通に使わないでしょう。
256 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 19:23:16 ] ポインタ演算とか冗長な書き方を許容してないだけでポインタを使ってることを意識しないわけじゃないだろ
257 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 19:27:04 ] 意識しなくていいというと語弊があるが、 実際に意識していない初心者が増えてきたってことだと思う。
258 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 21:02:20 ] private int id; public int getId(){return id;} public void showId(){ System.out.println("idは" + ● + "です。"); } この場合、●に入れるのはidかgetId()のどっちがいいんかな。 好みの問題でおk?
259 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 21:03:49 ] >>216 つうか、他のIOクラスでデコレートすれば サイズなんて気にしなくても良いはずだが。
260 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 21:06:24 ] >>246 つうか、マニフェストとJava Web Start使えよ
261 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 21:22:11 ] >>258 getId() がいいと思う。
262 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 21:27:19 ] >>261 thx
263 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 21:39:39 ] >>261 おなじ暮らすないならidでもいいとは思うけど。
264 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:06:13 ] >>261 うーん、悩ましい問題だなぁ…好みというか、目的による? けど、まぁ、getId()のほうが良いと思う。 例えばそのクラスのサブクラスでgetId()をオーバーライドして getId() { return "00" + id; } とかしたときに・・・
265 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:11:29 ] >>264 を風呂入る前に訂正 まず、アンカーは>>258 に。 あと、 ×getId() { return "00" + id; } ○getId() { return "00" + super.getId(); }
266 名前:デフォルトの名無しさん mailto:sage [2007/03/10(土) 23:13:02 ] >>265 …駄目だ俺(笑 getId()は int なのな。 まぁ意図は汲み取ってください(汗
267 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 01:21:31 ] 抽象化はその部分における汎用性・再利用性を増すが 同時に複雑さが増し、保守が難しくなる。 また、よく考えられていない抽象化は、 結局それを使う場合に1から考え直す必要があり、 無駄な労力になる。むしろ、誤解を生む弊害すらある。 そして、「よく考える」とは言っても難しく、的外れになることが多く、 無駄な抽象化がプログラム中に散乱することになりやすい。 そこで、アジャイル的には、まず単純に作って、 例えば顧客に叩いてもらって、抽象化が必要なところを早期に発見する。 (テスト駆動なら、まずテストに叩かれるだろう) その観点から見ると、 必要と分かるときが来るまで getId() よりも id を使うのがいい。
268 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 03:00:38 ] 外から見ることを基準に考えちゃ駄目なのかな。 getId で取得した値と showId で表示した値は、大抵の場合で一致しなければおかしいから、 直感的に考えた場合は id より getId のほうが適切だろうと思う。たとえ getId が final だったとしてもね。
269 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 03:05:07 ] 追記:「外から見る」ってのは、id が private であって外から見れないことも含めてる。 外から見た場合、id を使うと 『何かよく分からないけど ID の内部表現を showId が表示している』 ってなって分かり難いんじゃないかと。
270 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 08:53:30 ] >>268-269 同意 使う側の視点で考えるのがいいと思う idという情報をを操作したい人のためのものなのだからその人のことを 考えなければ、悪く言えば独りよがりな実装になってしまうと思う
271 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 09:06:40 ] 俺の経験から言うと、極力生のフィールドは使うべきではない。 ボトルネックになる可能性、どうしても生フィールドでなければできない処理などは 例外的に使用を許可する、くらいの縛りを加えるようにする方が良い。 トラブル対応、仕様変更対応には絶対にこの方針が必要。無いと死ぬ。大規模だとね。
272 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 09:19:12 ] 使う場所によってフィールドを直接参照したりgetter経由だったり まちまちなのは良くない。
273 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 11:09:41 ] モジュール結合度の観点から考える結合度は低い方が独立性が高いため、 データ結合で単一のデータを引数として渡すべき。
274 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 11:29:20 ] iを打てば補完できるのでid。 getterはgetIまで打たないと補完が面倒。
275 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 12:02:11 ] >>271 同意! >>274 開発時に面倒臭がって楽しようとすると後々痛い目にあったりする予感
276 名前:デフォルトの名無しさん [2007/03/11(日) 12:32:01 ] 30個近くのclassファイルをjarにコンパイルするにはどうすればいいんですか?
277 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 12:49:20 ] >>276 jar cf foo.jar *.class 詳しくはここを読め。 ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/tooldocs/windows/jar.html 「jarにコンパイル」と言われると違和感を覚えるな。
278 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 13:17:31 ] >>274 getまで打てば、そのクラスのアクセッサが一覧出来るのでむしろ便利。 フィールド名だとごちゃごちゃしてる。 >>271 んだんだ。 それに、遅延初期化の為にも入れているかな。 private Hogehoge hogehoge; public Hogehoge getHogehoge(){ if( hogehoge==null ){ hogehoge = new Hogehoge(); } return hogehoge; } (synchronized はどうしたとかややこしい話は取りあえず抜きな、初心者スレだと荒れそうだから)
279 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 13:25:43 ] >>278 フィールドが20個あればgetまで打っても20個出てきてそこから選ばないといけない。 変数名なら頭文字打つだけで絞り込める。 まあ俺はthis.をつけるのでそこまで打つだけでOKのときもあるが。
280 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 13:26:13 ] >>277 j2re1.4.2_13 をDL、インストールしてみたのですがこの後がわかりません コマンドプロンプトに打ち込んでも 'jar' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 とでてきてしまいます;;
281 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 13:59:17 ] パスが通ってない >>1 を読め
282 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:06:44 ] >>280 j2re だと jar 入ってないような。 j2dk か jdk 使え。
283 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:07:40 ] >>280 コマンドプロンプトに java -version って打ってみ?
284 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:45:08 ] フィールドが20個あったらthis打っても20個候補が出るだろうによw
285 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:48:50 ] JAVAでもプロパティ導入すればいいのに・・・ わざわざ毎回アクセッサメソッドつくるとフィールド参照からメソッド記述にするのめんどくさい。
286 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:49:35 ] >>284 getと3文字打つのが怠いんだろうね。 って、どんだけwwww まぁ、publicアクセス不要なフィールドにはgetter付けないから 20個フィールドがあってもホントはもっと絞れるんだけどね。
287 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:55:29 ] >>285 リファクタリング機能がある開発環境使えば良いじゃん。
288 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 14:56:56 ] >>285 jdk7の議論でプロパティは話題に上っている。 [mustang/Java SE 6] 次世代Javaの動向 4 [dolphin] ttp://pc11.2ch.net/test/read.cgi/tech/1163986696/ の中に、情報へのポインタがあるよ。 まだ本決まりじゃなくて構文は揺れてるだろうけど、 クロージャよりは揉めずに入りそうな気がしてる。
289 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 15:19:31 ] >>258 つ もしかして "自己カプセル化"
290 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 15:38:54 ] >>265 同じクラスないであればthis.idで良いジャマイカ スーパーなときだけgetId()
291 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 15:40:32 ] >>278 Factory MethodパターンやFlyweightパターンで 改造したくなってくるなあ。
292 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 15:41:42 ] >>284 どういうクラスなんだか。委譲も集約を ちゃんと使っていれば極力減らすこともできよう
293 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 15:42:06 ] >>285 IDEで自動生成しろよ
294 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 16:42:11 ] >>292 たとえば携帯電話のスペックをオブジェクトで表現しようとしたら 20なんて軽く超えると思うけど。どうやって削るの? 高さ 幅 厚さ 質量 連続待受時間静止時 連続待受時間移動時 連続通話時間音声通話時 連続通話時間テレビ電話時 液晶サイズメインディスプレイ 液晶サイズサブディスプレイ 液晶最大同時発色数メインディスプレイ 液晶最大同時発色数サブディスプレイ 液晶解像度(ドット数)メインディスプレイ 液晶解像度(ドット数)サブディスプレイ 名前最大登録件数 電話番号最大登録件数 メールアドレス最大登録件数 メール保存容量送信メール メール保存容量受信メール iアプリ保存件数 ミュージックプレーヤー バックグラウンド再生 連続再生 iメロディ・着信メロディ バーコードリーダー 赤外線通信対応 Bluetooth通信 FOMAプラスエリア対応
295 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 16:49:44 ] 携帯電話という込み入ったものをひとつのクラスで完結させようとするという発想が恐ろしい気がする 液晶が別のメーカーのだったら一気に変えないといけないんだよな、そのクラス……
296 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 16:54:28 ] >>294 なんで無理して一つのクラスでやるんだよw