1 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 17:52:10 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド115【歓迎】 pc11.2ch.net/test/read.cgi/tech/1210529127/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
252 名前:245 mailto:sage [2008/06/17(火) 21:12:56 ] どこかこういうTIPが載っているサイトありましたら教えてください 初めてiアプリ自作してるのでわからないことだらけ・・ですOrz
253 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:16:17 ] >>245 整数の商、整数の剰余の出し方はさすがにわからないとおかしいと思ったんだけど。。 123 / 10 == 12 (123 / 10) % 2 == 2 123の十の位は2。
254 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:16:38 ] やべ、何だ % 2 ってw % 10 ね
255 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:19:51 ] >>245 いえ、大歓迎とまでは
256 名前:デフォルトの名無しさん [2008/06/17(火) 21:27:47 ] 初心者っつーか ちと、質問がある 誰か教えてくださいまし 俺はインターネットファイルを取り出して 自分のPCにディレクトリごとにフォルダを作ってコピーし オフライン時にこのように模擬サイトを作って見るんだが javaアプレットが入ったサイトだと、そのファイルを取り出せずに 仕方なくjavaなしのオフラインサイトを見ることになるんだが どうやったら、javaアプレットを動作させる模擬サイトを作れるか教えてくださいまし
257 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:36:30 ] >>233 Pragmatic Starter Kitのどれか(たぶんVersion ControlかAutomation)に載っ てるのがひとつの参考にはなると思う。 訳は↓ 達人プログラマー―ソフトウェア開発に不可欠な基礎知識 バージョン管理/ユニットテスト/自動化 www.amazon.jp/dp/475614599X まぁ立ち読みしてみてくれい。
258 名前:245 mailto:sage [2008/06/17(火) 21:45:12 ] >>253 ありがとぅ>< >>255 大歓迎・・は、してなかったですねOrz
259 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:46:05 ] >>256 アプレットがどのファイルを使うか、というのは基本的にHTML上のリンクとして現れないから、 アプレットの中身を分析するとか、そういうツールを調達するとかしないとダメな場合が多いと思われ。
260 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:48:43 ] いや、JREのキャッシュから復元できたりするのか?やったことないけど
261 名前:256 [2008/06/17(火) 21:57:17 ] >>259 >>260 どもども、すいませんです プログラミングとしての質問でなくて肩身狭いっす>< java自体仕組みが分かってないので 専門の方にはバカっぽい質問でしょうが、 その、俺が復元したいサイトはjavaアプレットを使って中学数学を教えているサイトでして、 そのアプレットが動作しないと、文章や画像があってもサイトとしての意味がないものに なってしまいます>< ソースを見るとどうやら、拡張子がclassのファイルがjavaアプレットだと思うのですが(それって当たってます?) どうも、キャッシュにないです>< どうにか復元したいので、教えてください;;
262 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:06:27 ] Appletはオフラインよりオンライン(ネット上のアプリ)を想定してるので、素直につなげていた方がいいですよ。 出来なくも無いですけど、アレコレやるの面倒でしょ 何なら作者に連絡取るとか
263 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:07:49 ] >>261 >javaアプレットを使って中学数学を教えているサイト ちょっと設定に無理がある
264 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:12:01 ] 参照渡しの概念って厳密にはどんな定義なんですか? 今まで自分は配列を参照する変数やオブジェクトを参照変数を引数で渡すことが 参照渡しだと思ってたのに、Cの本なんかを読むとどうやら違うみたいなので。
265 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:56:08 ] 厳密な定義などはないけど、C的にはメモリ上のアドレスの値を渡すこと
266 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:00:31 ] javaでいう参照渡しとC++でいう参照渡しは別モノ
267 名前:デフォルトの名無しさん [2008/06/17(火) 23:05:41 ] >>258 オレの答えたcharAtじゃご不満なわけか
268 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:11:32 ] >>265 Cに参照渡しはない
269 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:12:58 ] FORTRANの引数やC++の参照型の引数は純粋な参照渡し。 Cのはポインタ渡し。
270 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:13:14 ] 用語は違うがあるけど? Cやったこと無いくせにに、適当なこと言う言うな
271 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:14:51 ] Cのはポインタの値渡し。 参照渡し使ってる言語をちゃんと知ってるなら ポインタ渡しが参照渡しなんて口が裂けても言えないはず。
272 名前:デフォルトの名無しさん [2008/06/17(火) 23:16:28 ] >>265
273 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:18:07 ] >>267 たぶんこのjavaスレは呪われてんだろ
274 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:18:23 ] 多重継承とか参照渡しとか何時まで釣れるんだよw
275 名前:256 mailto:sage [2008/06/17(火) 23:18:54 ] >>262 ,263 やっぱりサイト主に連絡しないとですか… 復元してるなんて、、言って大丈夫なのか心配です、、 いい方法があったら、教えてください。 場違いを感じてきたので、ロムりながら勉強します。 アプレットは 作図の手順をクリックすると順番に線が現れるやつとか 比例反比例のグラフが点が多くなってゆき最後に線になる奴とか なんかフラッシュでもできそうなやつです…
276 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:20:20 ] >>264 「変数」に関する参照渡し(参照呼出し)はできない、と言っていい。 javafaq.jp/S012.html#S012-21 Cの場合、「参照による変数渡し」のような文法的概念はないけど、 変数への参照を明示的に渡すことによってほぼ同等のことができるという感じか。
277 名前:デフォルトの名無しさん [2008/06/17(火) 23:21:30 ] >>275 初めの質問のときとだいぶ態度が違うけど、何で?
278 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:22:54 ] >>272 仮引数の値をコピーして実引数に渡すのが値渡し。 仮引数に対する操作が(可能なら)実引数に及ぶのが参照渡し。 厳密に定義されています。 ポインタ渡しは単に値をコピーするだけなのであくまで値渡し。 参照渡しのエミュレートでしかありません。 残念でした。
279 名前:256 mailto:sage [2008/06/17(火) 23:27:14 ] 前スレ読まず、ただ教えてくれ〜の気持ちが強くて ちょっと強気に言ってました。。。 気に障ったらごめんなさい。。 すげぇ場違いだったと今反省してます;; オフラインで使用可能な方法がありましたら、よろしくです。 id表示ありませんがすべて自分ですのでよろしく。
280 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:30:36 ] >>278 はぁ?
281 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:33:42 ] >>279 十分教えてもらったのにまだ教えてもらいたいなどと考えてるし、 たぶん君が願っている事はもうかなわないと思う。
282 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:34:08 ] まあなんていうか、「厳密には参照渡しじゃねーよ」というものも、 「実質的にはそーじゃねーか」とか言われてるね、みたいな空気を感じるあたりで手を打たないかw
283 名前:256 mailto:sage [2008/06/17(火) 23:38:02 ] 279 あ、前スレじゃなく このスレを読まず いきなり質問してしまいましたが、 レス入れていただいた方ありがとうございます。 では、<(__)>
284 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:38:06 ] そうやって甘やかすから void foo(int *p) { p = malloc(sizeof(int)); } で int *p; foo(p); free(p); とかして、ポインタに代入して参照渡しにしたのに 何かエラーになりますとか言う奴が現れるんだろ・・・。
285 名前:デフォルトの名無しさん [2008/06/17(火) 23:41:55 ] Cをちゃんと勉強してからジャヴァやるもんじゃないですか?普通は
286 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:42:05 ] >>256 はいさようなら
287 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:43:36 ] Java の引数も値渡しだな。
288 名前:デフォルトの名無しさん [2008/06/17(火) 23:45:20 ] >>283 個人的な意見で申し訳ないが、なんかアパマン・ショップの物件案内の社員(DQN)と似てるんだがw やっぱりDQNはどの分野でもDQNであって、決してそのようなDQNに期待してはいけないのだろうかといつも悩んでいるんだけど、誰か教えてくれませんか?
289 名前:264 mailto:sage [2008/06/17(火) 23:47:24 ] たくさんのレスありがとうございます。 まだモヤモヤしてるけど雰囲気は掴めました。 CもJavaも基本は値渡しだけどポインタとか使っちゃうと似た感じにできちゃうけど でもそれは厳密には参照渡しじゃないぜ って感じですね 面白そうだから純粋な参照渡しを仕様としてる言語を勉強してみます
290 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:47:30 ] 何か質問者も回答者も頭おかしいのがちらほら増え始めたな >>288 はそんな質問ここでして何がしたいんだ
291 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:48:23 ] 毎度のことながら値渡し/参照渡しで揉める理由が分からん C, Javaには参照渡しはない。C++, C#にはある。 というだけの話しだろう
292 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:48:40 ] >>289 正確に理解してくれて嬉しいぜ。
293 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:49:50 ] >>289 というか、あなたの理解は根本的に間違ってますね。 少しCをかじったことあるみたいですけど・・
294 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:50:52 ] >>293 ^^;
295 名前:256 mailto:sage [2008/06/17(火) 23:52:20 ] ・・・すいません。失礼します。
296 名前:デフォルトの名無しさん [2008/06/17(火) 23:55:05 ] >>256 >>286 おいでくさいまし
297 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:55:22 ] C++でもint& b = a;を「参照」という言葉で表現するという罠があるし、 まあいいんじゃねそんな世界
298 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:57:04 ] 値渡しor参照渡しってのは、呼び元に影響を与えるかどうかだ。 int[] data = new data[5]; この変数dataには実体ではなく配列データが保存されたメモリを指す だからf(data)と渡してf関数の中でdataをいじれば呼び元の配列に影響を及ぼす よって参照渡しである。 OK?
299 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:57:09 ] いや、それは参照で合ってるだろ。 b に対する操作が a に及ぶんだから。
300 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:58:20 ] >>298 data の参照先に影響を及ぼすが data には影響を及ぼさない。 仮引数をいくらいじろうが、data の中身が急に int[10] に変わることは無い。 よって値渡し。 OK?
301 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:59:32 ] >>298 引数に指定した変数そのものを指すのが参照渡し 実体がどうとかじゃなくて,そういう風に見せる言語機能
302 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:00:39 ] >>300 例えば関数の中でdata[0] = 1 と代入したら 呼び元のdataに入ってる配列の値も変わるんですが。 意味分かってる?
303 名前:デフォルトの名無しさん [2008/06/18(水) 00:00:50 ] >>256 みたいな人をここでバカにすると、今度は>>256 みたいな人が他のところでjava技術者を馬鹿にするから、そういう事はやっちゃダメ!!
304 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:01:40 ] 298 = 馬鹿 ってことぐらいしか分からない
305 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:01:46 ] >>302 分かってるに決まってるだろwww
306 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:02:12 ] 盛り上がって参りました(棒読み) >>299 あれは参照渡しに使えるけど、参照そのものではない
307 名前:デフォルトの名無しさん [2008/06/18(水) 00:02:47 ] もうツマンネー自演はいいから
308 名前:デフォルトの名無しさん [2008/06/18(水) 00:04:13 ] >>288 をこのスレの方々はどう考えてるのか教えていただけないでしょうか・・
309 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:05:04 ] void 参照渡し(ref int[] data) { data = new int[] { 4, 5 }; } int[] a = { 1, 2, 3 }; 参照渡し(ref a); 出力(a);//{4, 5}が出力される C#だとこんな感じ
310 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:05:33 ] ポインタの話と同様、 void foo(int[] hoge) { hoge = new int[10]; } で int[] data = new int[5]; foo(data); とやっても data が参照してるのは new int[5] のままであって new int[10] ではない。 Java の引数が本当に参照渡しなら、data は new int[10] を指すようになる。
311 名前:256 mailto:sage [2008/06/18(水) 00:08:05 ] 一応、ロムしてましたが、 アプレットはオフラインはできない という答えを受け取って消えます。 さようなら。
312 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:08:13 ] >>309 と >>310 の差をきちんと理解し実感していれば Java が参照渡しなんて口が裂けても言えなくなる。 「Java が参照渡し」 という言葉は初心者にいらぬ誤解を与える邪悪な言葉だ。
313 名前:デフォルトの名無しさん [2008/06/18(水) 00:09:48 ] いつの時代でも、Cのポインタを理解するのは鬼門ってこと char*manko=&tinpo
314 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:12:21 ] >>310 それってdataはnew int[10]になるんじゃないの?
315 名前:デフォルトの名無しさん [2008/06/18(水) 00:12:59 ] >>312 じゃ、何渡しがいいかな?
316 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:13:34 ] 「オブジェクトの参照値渡し」とか?w
317 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:14:07 ] >>315 ポインタ渡しでいいよ。 ぬるぽとか言うくらいだし。
318 名前:デフォルトの名無しさん [2008/06/18(水) 00:14:30 ] 一応、ポインタを全快に理解してないと、GCを実装できないんだが・・
319 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:14:48 ] お前らが頭いいのは分かったが 何言ってんのかがさっぱり分からん!
320 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:15:48 ] >>314 ならないよ
321 名前:デフォルトの名無しさん [2008/06/18(水) 00:15:54 ] >>316 あまり厳密に突っ込みを入れたくは無いだが、それは「インスタンスの」じゃないの?
322 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:17:34 ] >>314 みたいなのが出てくるから Java は参照渡しとか言うのは邪悪としか言いようが無いんだよな。
323 名前:デフォルトの名無しさん [2008/06/18(水) 00:19:12 ] Javaやる前にCを勉強してください。それも鬼門とか超難関といわれる「ポインタ」(と参照)についてしっかりやっておかないとついてこれなくなります。
324 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:20:57 ] >>315 参照の値渡しでいいんじゃね?
325 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:21:17 ] Cに参照はないし 別にポインタは難関でもなんでもない。
326 名前:デフォルトの名無しさん [2008/06/18(水) 00:23:45 ] アパマンの奴はDQNしかない。「とーちゃん。派遣面接受かったみたいだよー」のあの派遣会社のCMと同程度のDQNしかいない。
327 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:33:46 ] >>326 なにいってんだ?同じ人間だし、確かに変なやつだとしてもな、どこかにいいところがあるだろ。 そういうところを互いに評価しないといけないんじゃないのか?
328 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:38:13 ] >>321 java.sun.com/docs/books/jls/third_edition/html/typesValues.html#12028 > An object is a class instance or an array. だから「オブジェクト」のほうが正確なんじゃないかな?
329 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:44:08 ] いや、Java的にはね
330 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:00:22 ] >>328 たぶん君もアパマンのDQNと同等と思ったけどね、そう噛み付きなさんなw
331 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:03:15 ] 「アパマン」「DQN」がマイブームの香具師がいるな
332 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:03:53 ] オレ的解釈だと、C的にはオブジェクトの」、Java的にはインスタンスの」かな。 オブジェクトの単語自体があいまだからなんともいえないけど。>>328 の引用は単なる君が権威主義(英語とかSUNとか)が好きなだけじゃないのかな?
333 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:05:57 ] よくわからんw
334 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:09:26 ] >>328 は権威にあこがれるDQNってことじゃないの?
335 名前:デフォルトの名無しさん [2008/06/18(水) 01:17:09 ] >>328 ,331,333 食わず嫌いはいけませんね。 そうなってしまったのは、あなたの人格が歪んでるからでしょうか?
336 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:55:47 ] 権威も何も、Sunが作った言語なんだから、 Sunの見解を参照するのは当然でしょ。
337 名前:デフォルトの名無しさん [2008/06/18(水) 02:26:01 ] 英語の文脈で使われるobjectと日本語の文脈で使われるオブジェクトは違うでしょ javaを使うならJLSは当然第一に参考にすべき文書だけど日本語に訳する時に直訳はいかんよ
338 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:28:49 ] >>268 >Cに参照渡しはない >>270 >用語は違うがあるけど? Javaでいう参照渡しはC/C++でいうアドレス渡し ところで、 >>270 >Cやったこと無いくせにに、適当なこと言う言うな ??
339 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:11:17 ] toStringで任意の型のオブジェクトを文字列に変換することができますが、 逆に、Type型の値と文字列からオブジェクトを作成するような枠組みは無いのでしょうか? よろしくお願いします。
340 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:00:02 ] >>339 意味がよく判らないんだけど、 "int", "1" => int で 1 "float", "1" => float で 1.0 みたいな感じ? で、それは既存の組み込み型だけでいいの?
341 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:32:46 ] sprintf() の 逆なら atoi() static Integer Integer.valueOf(String s) <指定された String の値を保持する Integer オブジェクトを返します。> Type型と文字列から、じゃなくて? 表現は正確に。
342 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:56:44 ] Cのscanf()に相当する関数が欲しいって話かな。
343 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:15:23 ] スクリプト系言語のeval相当のものが欲しいようにも読める
344 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:34:41 ] そこでJson-libですよ。
345 名前:339 mailto:sage [2008/06/18(水) 13:50:08 ] 説明がわかりにくくてすみません。 Object a = fromString(java.util.Date.class,"2008/1/1"); System.out.println(a.getClass()); // class java.util.Date System.out.println(a); // Tue Jan 01 00:00:00 JST 2008 Object b = fromString(Integer.class,"10"); System.out.println(b.getClass()); // class java.lang.Integer System.out.println(b); // 10 上のfromStringのように、文字列と変換後の型を指定すると、 文字列を指定した型のオブジェクトに変換できるような物が欲しいのです。 .NETのTypeConverterのように、 既存の組み込み型や標準ライブラリで定義された型に対して使用でき、 さらに、自分で作成したクラスに対する動作も指定できるような枠組みがあればよいのですが このようなものはありませんでしょうか?
346 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:51:30 ] JDK6でrhinoでevalすればいいだろ
347 名前:346 mailto:sage [2008/06/18(水) 13:53:03 ] >>343-344 あてね
348 名前:デフォルトの名無しさん [2008/06/18(水) 13:57:57 ] Class.forName()
349 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:59:30 ] >>339 「toStringの逆」という変換が一般には無理だとわかった上で? 具体例をどうぞ
350 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:59:51 ] やべ遅れたw
351 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:32:23 ] リフレクションで出来そうじゃない?
352 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:35:23 ] よくわからんけど、インターフェースが統一されないとやなのか