1 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 06:27:39.32 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 (p)ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド152★★ toro.2ch.net/test/read.cgi/tech/1329715551/
2 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 06:29:05.19 ] **** 関連スレッド案内 **** ■ AWT と Swing は -- Java低速GUI Swing & JavaFX 10 toro.2ch.net/test/read.cgi/tech/1316592884/ ■ SWT は -- Java 高速GUI SWT 3 hibari.2ch.net/test/read.cgi/tech/1164877399/ ■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は -- iモード携帯電話用Java(iアプリ) Part22 hibari.2ch.net/test/read.cgi/tech/1295766416/ ■ DoCoMo 以外は -- CLDC+MIDP+携帯電話用Javaスレッド part 9 hibari.2ch.net/test/read.cgi/tech/1249357352/ ■ Androidアプリの作成は -- Androidプログラミング質問スレ Part20 toro.2ch.net/test/read.cgi/tech/1332229701/ ■ 課題・宿題は -- ★★ Java の宿題ここで答えます Part 71 ★★ hibari.2ch.net/test/read.cgi/tech/1309076891/ ■ NetBeansに関する雑談は -- NetBeans Part6 hibari.2ch.net/test/read.cgi/tech/1273665879/ ■ Eclipseに関する雑談は -- Eclipse統合M32【Java/C++/Ruby/Python/Perl】 toro.2ch.net/test/read.cgi/tech/1320318310/ **** 開発環境、実行環境は **** ■ Java SE Downloads www.oracle.com/technetwork/java/javase/downloads/index.html
3 名前:デフォルトの名無しさん [2012/04/15(日) 21:25:43.42 ] >>1 乙です Javaにおけるジェネリックスのメリットって、コンパイル時やIDE上でエラーチェックができることぐらいですか? 型推論のある言語だとそこから更に効果あるらしいんですけど・・・ MapとかListにジェネリックスを使うと見た目がかなりゴチャゴチャするので、 そのぐらいのメリットしかないなら、使いたくないんですが
4 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 21:34:36.66 ] どうであれ、使わなければ関係ない
5 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 22:27:24.72 ] 実行時型検査のキャストでゴチャゴチャしたいか コンパイル時型検査の型宣言でゴチャゴチャしたいかの二択だな。
6 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 01:18:25.90 ] ちがうだろ ライブラリ書く奴が苦労するか ライブラリ使う奴が苦労するか の違いだ プロならどちらを選ぶかは自明
7 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 10:00:27.13 ] 型推論のある言語だとそこから更に効果あるらしいんですけど・ 具体的に何ですか?
8 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 13:46:01.50 ] javaを習得したいんだがおすすめの参考書ってある?
9 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 13:51:56.15 ] >>8 The Java Programming Language
10 名前:質問です [2012/04/16(月) 14:07:55.80 ] JFrame を new して setVisible(true) する時は、 EventQueue.invokeLater() 使って EDT(Event Dispatch Thread) 側でやれって事のようですが、 java.awt.Frame の場合もそうするべきなのでしょうか? ザックリとググッてみたのですが Swingネタばかりで… 一応、main() で古典的なべた書きパターンで作ってみて問題は今の所発生はしてないのですが。 エロい人、よろしくお願い致します。
11 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 19:15:58.45 ] マルチスレッドにちょっぴり対応しているかもとかいう都合のいいことは考えない方が安全
12 名前:デフォルトの名無しさん [2012/04/16(月) 19:29:50.06 ] 今から Java開発環境をつくるなら、Java/Eclipse の バージョンの組み合わせは、どんなのがベストでしょうか?
13 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 20:19:55.98 ] Javadocで、Listなら {@link List#size()} と書くように、 配列のlengthフィールドへのリンクを書きたいんだけど、どうすればいいですか?
14 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 20:34:31.07 ] >>12 自分用・勉強用なら、Java7 + Eclipse 3.7.2(だっけ? Java7対応のやつ)。 ダイアモンド演算子とリソース解放付きtryがすさまじく便利。 業務用ならJava5じゃね? 業務用だと、いまだにJava1.4が主流だと聞いたけど、 1.4はジェネリクスがないから、コレクションがまともに使えなくて、 誰かがコレクション捨てて配列使って書き始めて、全体的にぐだぐだになる。 Java5でジェネリクス使って、生の配列を使わないように書くとすごく楽。 ……と俺は思ってるんだけど、他の人の意見も聞きたい。
15 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 21:14:51.33 ] >>13 {@link docs.oracle.com/javase/specs/jls/se5.0/html/arrays.html#10.7} あたりかねぇ?
16 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 21:18:14.40 ] >>15 {@link}ってそーゆー使い方できたっけか?
17 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 21:23:12.21 ] >>16 無理だったか。じゃ無理だわな。 それでも諦めないならHTML直書きするか、カスタムタグ定義してリンクに変換するか。
18 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 21:44:18.92 ] >>15-17 ありがとう。 素直に書くことはできないっぽいですね。 お手数おかけしましたが、「配列長がxxのとき――」とベタ書きの文章で書くことにします。 というか、自分でも調べてたんだけど、 配列#length フィールドのJavadoc、というか定義文自体が存在しない? そもそも 配列#length ってフィールドじゃないのか…?
19 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 22:11:19.22 ] APIの一部じゃないのでAPI仕様というかjavadocには記述されてないだけ。 言語仕様には記述されてる。 あと言語仕様的にはフィールドだけど、 java.lang.reflect.Field で取ってこれない特別なフィールド。
20 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 22:44:49.39 ] >>19 あー。「API」じゃないのか、言語仕様なのか…。 配列が特別扱いなせいで、色々なところで「配列用の特別なコード」が書かれてるんだよなぁ。 ジェネリックとも親和しないしなぁ…。 うまくAPIに織り込めなかったのかね。 それか、Javascriptみたいに「世界はすべて(連想)配列だ!」くらい割り切ってくれてたらなあ…。
21 名前:>>10 [2012/04/16(月) 23:05:22.56 ] >>11 レスありがとうございます。 そうですね、結局の所、別スレッドと強調するのは必然でしょうしね…
22 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 23:34:02.78 ] すいません ライセンスの質問などはどこのスレッドでさせてもらえますか?
23 名前:デフォルトの名無しさん mailto:sage [2012/04/16(月) 23:40:35.49 ] toro.2ch.net/test/read.cgi/tech/1266247461/ ここじゃね
24 名前:12 mailto:sage [2012/04/16(月) 23:47:07.19 ] >>14 サンクス! とりあえず、書籍の付録CDにあった Java5(TIGER) & Eclipse3.1.1 で、開発環境を作ってみます。
25 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 00:27:46.22 ] なんでわざわざそんな古いEclipse使うの?
26 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 01:29:31.75 ] Pleiadesでいいじゃんな。javaもとりあえず1.5-1.7が入ってるし、 アップデートによって、自分で入れ替えればいい。
27 名前:デフォルトの名無しさん [2012/04/17(火) 08:12:44.65 ] javaの入門書ってどれがおすすめ? プログラミング経験はCをかじった程度
28 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 08:31:42.55 ] どれでも読め。 どれを読んでもハズレ。
29 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 10:25:15.10 ] >>23 ありがとうございます
30 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 13:36:08.30 ] いえいえ
31 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 14:34:08.47 ] Cの習熟度次第じゃないの?Cでバリバリソフト作れるぐらいならネット検索だけで十分だと思うけど。不安なら何か初心者向けの本一冊買ってあとは適時買い足せばいいと思う
32 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 17:41:49.86 ] 起動しているjavaの現在使用メモリ及びMAXメモリを確認する方法はあるでしょうか?
33 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 17:58:55.74 ] 内部からだったら java.lang.Runtime の maxMemory() freeMemory() あたり。 外部からなら jconsole みたいなモニタリングツール使えば。
34 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 20:17:40.30 ] Beans bindingはこちらでいいですか? MVC構築に使える無料のライブラリ を探して見つけたのですが、オススメ とかやめとけとか、皆さんの評価を 聞かせてください。
35 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 20:21:09.38 ] >>31 thx 今日入門書買ってきた がんばるよ
36 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:01:13.74 ] 実践編はコレ! www.amazon.co.jp/dp/4798117153
37 名前: ◆QZaw55cn4c mailto:sage [2012/04/17(火) 23:19:28.05 ] >>36 独習はおすすめしない。
38 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:34:08.68 ] 知ったか乙
39 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:35:55.13 ] >>36 持ってるけど入門編でしょそれ
40 名前: ◆QZaw55cn4c mailto:sage [2012/04/17(火) 23:37:41.83 ] >>38 背伸びして叩かれるのもときにはいいものだ。 で、独習のどこがいいの?読んだの?
41 名前:デフォルトの名無しさん mailto:sage [2012/04/17(火) 23:41:39.61 ] 背伸びして叩かれてろw
42 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 13:03:48.44 ] >>14 EOF過ぎたバージョンを業務で使うキチガイは流石にいないぞw
43 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 13:04:10.21 ] EOLだw
44 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 13:07:17.40 ] >>41
45 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 13:11:02.26 ] 1.4.2 for buisinessってもうサポートされないんだっけか?
46 名前:デフォルトの名無しさん mailto:sage [2012/04/18(水) 16:14:25.48 ] >>33 ありがとうございます。 外部からCtrl-Breakでスレッドダンプを出せとよしゃっと思いましたが、メモリは出ていないですね… 残念
47 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 15:48:29.23 ] javaでプログラム作る場合、アプリケーションの共通設定やユーザの設定ってどこでやるように想定されてるんでしょうか? マルチプラットフォームだから、ウィンドウズのレジストリは論外としても、環境変数も必ず共通で使えるわけじゃないですよね。 OSや環境に応じていちいち別処理にするんでしょうか? 結局環境依存のプログラムになるような。
48 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 16:00:51.85 ] java.util.prefs.Preferences 使ってもいいし、 System.getProperty("user.home") に .aplicationName みたいな設定ファイル作ってもいいし。
49 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 16:05:57.55 ] >System.getProperty("user.home") に .aplicationName みたいな設定ファイル は初耳ですね。どこかに出典はあるんですか?
50 名前:47 mailto:sage [2012/04/19(木) 16:25:00.27 ] >>48 ありがとうございます。 試してみます。
51 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 16:28:48.94 ] >>49 *nixアプリの伝統的な設定保存方法の一つ。 .emacs とか .vi とか見たことあるでしょ。 *nixでjava.util.prefs.Preferences使うと、その方法使うんじゃなかったか?
52 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 16:55:59.35 ] ~/.emacs とか書いたほうがわかりやすいんじゃね?
53 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 17:03:18.92 ] user.homeプロパティーは、linuxだと普通は~/ですけど、windowsでリアルだと普通はどこになるんですか?
54 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 17:07:50.09 ] %USERPROFILE% じゃね?
55 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 17:32:56.34 ] MacOSXは ~/Library/Application Support/ とかが一般的だったりする。 窓付きアプリはあまり~/直下にもの置かないような気がするな
56 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 17:47:10.32 ] eclipseもnetbeansも~/.eclipse ~/.netbeansってディレクトリ掘るし、 jeditなんかも同じだな。 macではどうなるか知らんけど。
57 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 17:54:52.64 ] 既に設定ファイルにもus-ascii,88591だけでなく日本語など混在しているのでvi,emacsなどのレガシーはもう使ってません。 さらにx起動しないときの(tty)コンソールがbash --helpの時でも日本語表示できないので、vi,emacsを極める理由もありません。
58 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 18:05:00.65 ] ISO8859_1と日本語って混在できたっけか?
59 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 18:20:32.87 ] 設定ファイルの説明部分に日本語でコメントを残しておくので、設定ファイルの種類は8859_1,utf8,eucjpなどが混在します。 prefsなら別ですが、home.userに置くような設定ファイルはテキストじゃなくてバイナリーと考えた方がいいんじゃないですかね。
60 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 18:50:48.43 ] そんなもんディレクトリ作って別ファイルにしてもいいし、お好きなように。
61 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 18:56:02.26 ] >>58 ISO2022JPならなんとかならん? 複数のファイルであっても複数の文字コード混在させないだろ、普通。 設定ファイルなんてユーザには直に弄らせないんだから統一するの楽だし。
62 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 18:59:10.42 ] そろそろスレ違い
63 名前:デフォルトの名無しさん [2012/04/19(木) 20:18:30.09 ] JavaFx Scene BuilderのツールバーのEditが開かない。
64 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 20:22:13.26 ] BASICはfor next や if文など、基本的なものはまぁまぁわかっているつもりなんですが、 javaをはじめるにあたって本か何かで身に着けたいと思います。 おすすめの本ありますか?
65 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 20:28:39.15 ] スレちがい toro.2ch.net/test/read.cgi/tech/1332822023/
66 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 20:34:12.52 ] >>65 すみません そちらにいきます
67 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:12:31.12 ] Eclipseで実行やデバッグを押したら自動的に保存されるようにする設定のやり方を教えてくれ
68 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:18:04.33 ] スレち toro.2ch.net/test/read.cgi/tech/1320318310/
69 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:22:32.22 ] 自治厨の屁の役にも立たないレスで1レス消費するのもどうかと思うけどな
70 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:25:06.06 ] そう思うならID表示に汁
71 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:33:08.20 ] >>61 切り替え方式でも8859_1との混在は無理だろ
72 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 21:40:57.74 ] wikipedia見てみたら2022-JP-2 (RFC1554 1993years)から混在できるって書いてあった。
73 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 22:43:01.36 ] 自治厨 = 中二
74 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 23:29:37.84 ] ↑自己紹介
75 名前:デフォルトの名無しさん mailto:sage [2012/04/19(木) 23:52:50.18 ] java自体の質問じゃないんですが、java総合スレってないんでしょうか?
76 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 01:53:37.94 ] javaが見れないのでjavaをアンインストールして新しいのをインストールしようとして コントロールパネルでJava(TM) 6 Update29をアンインストールしたところ 何故かJava(TM) 6 Update20 のアンインストールが始まった挙句 「この Windows インストーラ パッケージに問題があります」と出て行き詰ってしまいます どなたか解決法を教えて頂けないでしょうか?
77 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 02:52:28.27 ] Java(TM) 6 Update20を拾って来て 上書きインストールして アンインストールする
78 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 07:12:39.57 ] エラーメッセージでググればなんか出てきたよ 気のせいかMicrosoftInstaller(MSI)やInstallShieldのトラブルを目にするな最近。 検証不足のセキュリティソフトがなにかやらかしたのか
79 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 09:41:05.64 ] やらかしたのは自分だろ
80 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 11:20:43.41 ] 馬鹿には無理
81 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 14:53:45.95 ] だなw
82 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 21:26:25.25 ] 「馬鹿はjavaやれ」と言われこのスレでは「馬鹿には無理」といわれます><
83 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 21:41:07.70 ] 馬鹿はC#だろw
84 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:09:03.09 ] C#も後出しだけあって、作りやすさは相当なもんだな C#というよりVB#って感じだけど。
85 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 22:56:52.73 ] javaしかできない馬鹿には無理
86 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:00:14.30 ] 馬鹿にはおっぱい言語を勧める
87 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:03:12.85 ] おまえらどうせDBからデーター引っ張ってHTML出力する程度のプログラムしか書けないんだからjavaで十分じゃん
88 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:04:58.75 ] と全角が申しております
89 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:43:39.01 ] charの0の意味について質問します。 普段ならnullかどうかで分ける事を考える様な場所で、charを返すメソッドを使用して場合わけをしようと考えています。 そこで、charは0以上しか取らないことがわかったので、0を返したときに別の動きをするようにしようと考えた時に疑問がわきました。 普通のcharに0を代入するとどのような文字に対応しているのでしょうか? char c = (char)0 if(c == ' ') { System..out.println("aa")} System..out.println(String.valueof(c)) としても何も表示されず悩んでいます。教えていただけないでしょうか?
90 名前:デフォルトの名無しさん mailto:sage [2012/04/20(金) 23:51:47.70 ] Cでは0はナル文字(終端文字)
91 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 00:00:07.07 ] 馬鹿には無理
92 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 05:59:14.73 ] 馬鹿には無理
93 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 11:08:40.72 ] >>89 >>90 の言うとおり0はNULL文字で、改行コードやTabと同じ制御文字。 制御文字だから見えないし、エスケープシーケンス無しには書けない。 場合分けには、charの65535が不正な文字コードだから、これ使えば?
94 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 12:06:53.36 ] >>89 > if(c == '') { System..out.println("aa")} if(c == '\0') { System..out.println("aa")} > System..out.println(String.valueof(c)) 不可視文字の確認したいなら System..out.printf("U+%04X%n", (int)c); とかした方が。
95 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 12:25:34.75 ] java1.7環境だと、実行可能jarは2バイト文字が含まれるディレクトリ配下だと起動できない これって意図的なの?
96 名前:89 mailto:sage [2012/04/21(土) 14:02:17.14 ] >>90 >>93 >>94 普通の文字ではなかったんですね。ありがとうございました。 場合わけには65535使いたいと思います!
97 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 14:06:13.29 ] 残業代が基本給を超えるって1日何時間残業してるんだ?
98 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 15:08:16.80 ] javaの入門書でおすすめ教えてください。 プログラミングはcを少しかじったくらい。
99 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 15:43:49.97 ] Cがわかってるなら「入門書」は必要ない
100 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 20:34:03.44 ] 少しかじったくらい としか書いてないのに馬鹿は日本語も読めないのか
101 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 20:39:15.69 ] 何もわからんのに かじったとか言う方が悪い
102 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:06:45.55 ] >>100 Cをかじった程度ってことは、とりあえず文法や構造体、ポインタの扱い方は理解してて ソースファイルの分割も出来るってことだろ その程度も出来ないんだったら「まったくわかりません」って書いてくれないと
103 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:27:37.12 ] >>102 禿同
104 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:31:43.47 ] オレはかじったことあるっていう言葉に受ける印象は 配列が使えたり単純なソートができたり程度という感覚かな。 ちなみにお前ら的にjavaだとどの程度のレベルがかじったなの?
105 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:41:49.15 ] 解らないところが出てきたら source読むようになるぐらい。
106 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 21:44:54.65 ] ソートとか以前に ・nullと"null"の違い ・空文字列って? は理解しといてもらいたいかな。 こんなことも知らない派遣クンとJava知らない主任が組んだら あ〜ら最凶のプロジェクトに・・・ って事例が現在進行中。
107 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 22:03:38.97 ] 馬鹿には無理
108 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 22:09:40.34 ] >>104 Javaに限らないけど、基本的なアルゴリズムとデータ構造を自分で実装できるレベルなら かじったと言ってもいいんじゃね
109 名前:デフォルトの名無しさん mailto:sage [2012/04/21(土) 23:09:25.39 ] こんな糞スレで質問しようと思う馬鹿には無理
110 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 00:26:22.82 ] for (::) System.out.println("馬鹿");
111 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 07:50:11.13 ] 下級戦士はよく吠えるな
112 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 08:29:18.08 ] ∧_∧ >>107 (( 〜/⌒<丶`Д´> >>109 (/ーし'ー-J >>110
113 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 10:23:06.27 ] 馬鹿には無理
114 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 13:02:50.58 ] 〉〉98だけど説明不足でした cは〉〉102の言うことは理解してるくらいのレベルです
115 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 13:03:52.85 ] 安価ミスったww
116 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 13:40:08.80 ] なら、入門書なんか読んでもつまんねーよ。 「変数は箱です」からはじまって、うだうだやって、 ディレクトリの再帰検索やって終わり、で2000円。 解説サイト読んでから言語仕様読んで、 そしたら、Apache Commons Langあたりの適当なライブラリの ソースコードDLして読めばいいよ。
117 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 13:53:26.64 ] このスレ転載して、おすすめの本の広告つけようとしてるアフィサイトなんじゃね?
118 名前:ora! [2012/04/22(日) 13:57:42.66 ] >>76 [Windows ベースのコンピューターでプログラムをインストールまたはアンインストールする際の問題のトラブルシューティング方法]ってのは参考にならないかな? support.microsoft.com/kb/2438651/ja
119 名前:ora! [2012/04/22(日) 15:03:03.94 ] >>98 [Java / プログラミングセミナー]はどうでしょう? www.acroquest.co.jp/webworkshop/index.html
120 名前:ora! [2012/04/22(日) 15:26:55.65 ] >>98 [Javaチュートリアル]とか? docs.oracle.com/cd/E26537_01/tutorial/index.html
121 名前:デフォルトの名無しさん [2012/04/22(日) 19:03:51.74 ] C言語でfwrite((char*)ptr,sizeof(double),1,fp) で書きだしたバイナリの8バイトを JavaでDataInputStream::readDoubleあるいはreadFloat で読もうとしているのですが、成功しません。(ハードウェアは同じです) ・数値のフォーマットをあわせる ・ファイル末尾に改行がないと読み込みエラーが出る の2点について、Java側で何とかしないといけないのですが、どのへんを調べれば分かりますか?
122 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 19:30:41.31 ] >>121 エンディアン間違ってるだけなら、 value = in.readDouble(); value = Double.longBitsToDouble(Long.reverseBytes(Double.doubleToLongBits(value))); で変換できる。最初から正しいエンディアンで読み込む方が楽だろうけど。 C言語のdoubleはフォーマットは処理系依存だったような気がするから、 そっちも調べてみるべきかも。NaNとか無限大も変換したいなら特に。 ファイル末尾に改行云々は何したいのかわからん。 改行を発見できないとエラーにするプログラムが書きたいのか、 意図しない「改行が発見できないよエラー」が出て困ってるのか。
123 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 19:50:45.47 ] >>122 ありがとうございます!動きました。 エンディアンって、Cで単純なダンプをすると逆になってるってことですか? これだとjavaに負荷がかかりそうですね。 java.io.EOFExceptionが最後にトラップされてるのですが、 すみません、改行かどうかは分かりません。 例外処理のしかたがよくわからないもので、とりあえず放置します。
124 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 19:54:52.02 ] 少し調べましたが、C側のエンディアンが環境依存なんですね。 こんな基本的なところでズレているとは・・・
125 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 21:45:27.30 ] まさに馬鹿には無理w
126 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 21:49:17.19 ] 質問です。 HttpURLConnectionを使ったサイトの取得時に InputStream、InputStreamReader、BufferedReaderを使って処理しているのですが 処理中にエラー(ネット接続が切れたor処理のバグ)が起きたときにきちんと閉じる処理をしようとしたら 閉じる処理自体にもtry-catchが必要とeclipseさんに言われてこんな感じになってしまいました。 try{ 処理省略 }catch(Exception e){ httpURLConnection.disconnect(); try { inputStream.close(); } catch (Exception e2) { } try { inputStreamReader.close(); } catch (Exception e3) { } try { bufferedReader.close(); } catch (Exception e4) { } } 自分でもおかしいと思うのですが閉じる処理は httpURLConnection、inputStream、inputStreamReader、bufferedReader のうちどれかだけをすればいいのでしょうか?やっぱり全部必要でしょうか?
127 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 22:27:22.13 ] 覚え始めなんだけれども どんなものから作っていったらいい? 少しづつステップアップしていきたい
128 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 22:27:56.63 ] >>126 jdk1.7以降がターゲットなら、素直に try with resources 使った方がいい。 try (InputStream in = connection.getInputStream()) { BufferedReader reader = new BufferedReader(new InputStreamReader(in)); //処理 } みたいな奴。 1.6以前もターゲットの場合は、 public static void closeQuietly(Closeable c) { try { c.close(); } catch (IOException e) { /*無視する*/ } } みたいなメソッド作っておいて呼ぶと、いくらかスッキリする。 あと、close は基本的に連鎖的に close するのでイチイチ全部呼ぶ必要はない。 どうしても close の連鎖が切れるのが心配なら 大元の(というか直接リソース握ってる)InputStream だけを close しときゃいい。
129 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 23:17:24.31 ] >>127 どんなものを作りたいと思ってJavaを勉強しはじめたの?
130 名前:デフォルトの名無しさん mailto:sage [2012/04/22(日) 23:56:30.36 ] >>127 自分がよく使うソフトか、よく使う作業の補助になるようなので、出来るだけ小さいプログラムがいい。 毎日そのプログラムに触るぐらいじゃないと良くならないし、何度も作り直せるぐらい小さくないと、設計が上達しない。
131 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 00:38:44.52 ] 初心者は自分のレベルをまず説明しよう。 (他のプログラム言語はバリバリやってるけど)javaは初心者。 プログラム自体初心者。 まぁ、他の言語でも今まで作ってきたんならこんな質問はしないと思うけど、 そうすると別にjavaの質問ではないしな。
132 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 02:36:25.90 ] <td class="abc" align="center">food</td> のfood部分のみをJsoup取り出したいのですが... どなたかご教授お願いします。
133 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 09:33:32.53 ] 小数点以下2桁までで切り捨てるにはどうすればいいでしょうか?
134 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 13:43:37.88 ] >>133 java.text.DecimalFormat java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/text/DecimalFormat.html
135 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 16:11:59.04 ] >>133 負の値や精度考慮しない手抜きでいいなら value = Math.floor(value * 100) / 100; 自前部分のコード量減らしたいなら BigDecimal val = new BigDecimal(value).setScale(2, BigDecimal.ROUND_DOWN);
136 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 16:41:56.11 ] >>134 >>135 ありが10
137 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 17:41:13.95 ] >>132 for (Element node : document.select("td.abc[align=center]")) { System.out.println(node.ownText()); }
138 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 20:07:39.92 ] >>129 最終的には簡単なゲーム >>130 なるほど ランチャーとかファイラーみたいなのつくってみます、何ヶ月かかるか分からんけど
139 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 21:13:21.86 ] ゲームならそんなの作らずに「android ゲーム 作る」とかで検索して解説してあるとおりに適当に作ってみればいいよ
140 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 23:18:59.76 ] 質問です。 目的の実行結果のように, ・英語,数学,国語の各科目の試験受験者数をキーボード入力 ・各科目の受験者の名前と点数をキーボード入力 ・各科目の入力データ,平均点,最高点,最高点獲得者の出力 を行うソースファイルを作成してください. 目的の実行結果 C:\ [英語の受験者数を入力してください] > 2 [数学の受験者数を入力してください] > 2 [国語の受験者数を入力してください] > 4 [英語の1人目の受験者の名前を入力してください] > 鈴木 [鈴木さんの英語の点数を入力してください] > 95 [英語の2人目の受験者の名前を入力してください] > 三枝 [三枝さんの英語の点数を入力してください] > 80 [数学の1人目の受験者の名前を入力してください] > 西田
141 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 23:19:21.45 ] 続き [西田さんの数学の点数を入力してください] > 88 [数学の2人目の受験者の名前を入力してください] > 野田 [野田さんの数学の点数を入力してください] > 95 [国語の1人目の受験者の名前を入力してください] > 鈴木 [鈴木さんの国語の点数を入力してください] > 92 [国語の2人目の受験者の名前を入力してください] > 三枝 [三枝さんの国語の点数を入力してください] > 95 [国語の3人目の受験者の名前を入力してください] > 西田 [西田さんの国語の点数を入力してください] > 95 [国語の4人目の受験者の名前を入力してください] > 野田 [野田さんの国語の点数を入力してください] > 87 入力された試験結果は以下のとおりです 英語鈴木さん:95点三枝さん:80点 英語の平均点は87.5点です 英語の最高点は95点です 英語の最高点獲得者は鈴木さんです 数学西田さん:88点野田さん:95点 数学の平均点は91.5点です 数学の最高点は95点です 数学の最高点獲得者は野田さんです 国語鈴木さん:92点三枝さん:95点西田さん:95点野田さん:87点 国語の平均点は92.25点です 国語の最高点は95点です 国語の最高点獲得者は三枝さんと西田さんです
142 名前:デフォルトの名無しさん mailto:sage [2012/04/23(月) 23:23:17.34 ] 凄い釣り師がキタ!
143 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 00:01:08.84 ] >>137 助かりました、本当にありがとうございます。
144 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 00:05:11.91 ] 俺も>>127 みたいな感じなんだけど、 minecraftのmodを作りたいという変な理由でjava勉強し始めたんだけど、 最初どういうふうに勉強して、どういうふうにプログラムを作っていけばいいのか教えて下さい。
145 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 00:36:56.47 ] とりあえず文法を憶えたらググってMODの作り方を勉強 あとは他のMODのソースとかあればそれを参考にしたり試行錯誤で作っていく
146 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 00:59:10.37 ] >>144 最初は他の言語の方がいいと思うけどね。 正直javaはあんまり言語仕様やとりまく環境としては良くないから。
147 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 01:05:49.73 ] >>145 他のMODのソース見るのは勉強になりそうかな? やってみます。 >>146 学校ではBASICやってます。 java難しいです。
148 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 01:29:22.11 ] 環境とか言語仕様とか言ってたら、 なにも出来ないと思うけどな。 あ、だからなにも出来てないのか。
149 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 01:54:57.18 ] >>140 Javaは始めて3日くらいだけど、こんなもんでいいのか? pastebin.com/V1zMcE84 もっといい書き方誰か教えてください
150 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 06:00:35.05 ] うざい
151 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 13:54:18.80 ] パッケージ名なんですが、みなさんどんな感じでわけてます? どんなに小規模のアプリケーションでも、 [自分のドメイン名].[アプリケーションの名前].[クラス]ってやってます? それとも [自分のドメイン名].[アプリケーションの名前のクラス]みたいにいきなり置いてます?
152 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 14:10:56.76 ] 「アプリケーションの名前」 っつーか、用途じゃね?
153 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 14:11:30.22 ] クラスファイル1個ぐらいの小規模アプリだったらデフォルトパッケージに置いとく。
154 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 14:15:42.24 ] >>152 あ、なんか書き方おかしかったですが、パッケージをそのアプリケーション専用の作るか、作らないかって質問でした。 >>153 ありがとうございます。 よく考えたら、全部が全部パッケージに分類しなくてもいいのか。
155 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 16:57:24.35 ] 誰か助けて・・・
156 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 17:04:02.20 ] 知らんがな
157 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 18:53:41.48 ] 漏れは自分のドメイン名は恥ずかしいので付けてない
158 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 20:53:26.36 ] JarファイルA、B、Cが有ったとして、 AはX-1.0でないと動かない。 BはX-2.0で無いと動かない。 X-1.0とX-2.0の仕様は部分的に非互換で部分的に互換。 つまり似ている部分は有るが共存はできない。 こういう場合はどうすれば…
159 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 20:54:00.95 ] ○ JarファイルA、B、Xがが有ったとして、
160 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 21:21:32.44 ] ggrks
161 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 22:17:17.07 ] 複数のXでAとBの開発・テストを平行して行いたいのならMaven覚えればいい A,B両方を使うDがどっちのXを参照すべきかは他人に判断できない問題
162 名前:デフォルトの名無しさん [2012/04/24(火) 22:48:16.33 ] よくFactoryでもなければ、ClassでもないのにstaticでnewInstance();を定義しているクラスがありますが、 あれは何の意義があるんでしょうか?new Type();と比べ何のメリットがあるんでしょう?
163 名前:デフォルトの名無しさん mailto:sage [2012/04/24(火) 22:51:36.32 ] 1 今後変えていくかもしれんのでnewでインスタンスつくんなおという願い 2 やってみたかっただけ 3 知能に問題がある人が書いた
164 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 06:08:05.14 ] >>163 > 1 今後変えていくかもしれんのでnewでインスタンスつくんなおという願い なら、コンストラクタ不可視にすんだろ。 > 2 やってみたかっただけ > 3 知能に問題がある人が書いた これはあるある 4 内部でうまいことキャッシュしてやるからnewInstance使え。キャッシュとか 別にいらねーなら勝手にnewしろ。そのかわり自分で面倒見ろよ 大抵は3か4だろう。2は殴れ。3は殴るな後が怖い。
165 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 06:52:14.81 ] 死ねよ雑魚が
166 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 08:52:47.69 ] 自殺宣言?
167 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 11:52:19.93 ] 「自分は頭が良くて詳しいです」的な自己満足レスの典型だぞ。 相手は超初心者なんだからもう少し優しく教えてあげないと。 さもなくばスルーでOK
168 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 12:08:04.14 ] >>162 staticファクトリーメソッドで調べてごらん
169 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 12:50:03.47 ] 断る
170 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 14:15:45.83 ] あ゛?なめてんのか?
171 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 14:58:43.99 ] >>162 シングルトン インスタンスの数を常に1つにしたい場合に使う
172 名前:デフォルトの名無しさん [2012/04/25(水) 15:00:37.73 ] Java6u31の総称型の質問です。 class Foo<T extends Hoge> { public int insert(List<T> entitylist) { /* ... */ } public int insert(List<Long> primaryKeyList) { /* ... */ } } とあるとき、java.lang.LongはHogeのサブクラスではないのに同じメソッドイレイジャだとコンパイルエラーになります。 総称型のextendsによる限定は考慮されない仕様なのでしょうか。
173 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 15:16:58.70 ] 過去と互換性のあるレイヤではパラメタ型全部消えるのでerasure。
174 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 16:18:00.39 ] コンパイルの過程で総称型の情報が消えてしまい、 List<Foo>もList<Baa>もただのListとなるから同じとみなされるわけですね。 erasureの動きが少し理解できました。 ありがとうございました。
175 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 18:46:45.00 ] java6 update16ください
176 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 19:27:17.23 ] >>171 シングルトンはnewInstance()なんて名前普通つかわんだろ
177 名前:ora! [2012/04/25(水) 19:52:13.02 ] >>175 [Java の旧バージョンと関連文書の入手先] www.java.com/ja/download/faq/other_jreversions.xml
178 名前:デフォルトの名無しさん mailto:sage [2012/04/25(水) 20:07:39.23 ] >>167 死ねよ
179 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 00:27:03.13 ] シングルトンはgetInstance()だな >>162 がよく見るソースコード見てみたいものだ
180 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 00:37:19.91 ] 5 今後プリミティブ型廃止の流れがきた際にnew演算子を使っていた不幸な人たちを少しでも減らしたい願いの表れ
181 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 01:10:26.08 ] >>172 Javaの型パラメータは、コンパイル時に除去されてObject型になってしまうのだよ。 この性質のことをイレイジャという。 そんなわけで、おまえさんが例示した2つのメソッドは同じシグネチャになってしまいコンパイルエラーになるわけだ。
182 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 02:14:23.87 ] 抽象戦隊!イレイジャー! よし覚えた。
183 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 03:54:24.16 ] 私的用プログラムを高速化したいので、javaからsse1,sse2(amd64)にアクセスしたいんですが、JNI,JNAを使ってCでブリッジを書かないとやっぱり無理でしょうか。
184 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 12:32:33.55 ] わからない 俺にきくなよ
185 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 13:07:39.15 ] 知らないならレスしないでください うざいだけです
186 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 18:33:31.14 ] JNI,JNAを使ってCでブリッジを書けばsse1,sse2(amd64)にアクセスできますよ
187 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 21:43:41.28 ] sseの高速化メリットよりメソッド呼び出すコストの方が高そうだな
188 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 21:45:54.50 ] >>168 調べましたけど何でstaticなんでしょうね。 インスタンスメソッドにしたって大したコストにならないでしょうに。
189 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 22:10:27.71 ] >>187 アーキテクチャにもよるけど、JNI1回で10-50msぐらいかかる。 SSE使うだけのジョークアプリになるね。
190 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 22:27:00.05 ] だなw
191 名前:デフォルトの名無しさん mailto:sage [2012/04/26(木) 22:43:23.68 ] 今のJVMって最適化オプションでSSE使ってくれるだろ あくまで俺が使ったときの一例の話だけどgccの自動ベクトル化より速かった
192 名前:デフォルトの名無しさん [2012/04/27(金) 00:07:33.40 ] Romeを利用してRSSを配信したいのですが、enclosureタグが出力できません。 List<SyndEnclosure> enclist = new ArrayList<SyndEnclosure>(); SyndEnclosure enc = new SyndEnclosureImpl(); enc.setUrl(image_path.toString()); enc.setType("image/jpeg"); enc.setLength(image_file.length()); enclist.add(enc); entry.setEnclosures(enclist); どこか問題ありますでしょうか・・・
193 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 00:08:54.32 ] sse(mmx),amd64は、java8で実装される予定のラムダとbulk dataを利用して使おうと考えてます。 java8からはmulticoreの活用はもちろん基本的に内部イテレータ仕様がメインになるようなので、java5 generics typeの時と同じく次回の改訂はjava languagesのパラダイムシフトになるかなと思います。
194 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 00:39:51.99 ] 意味がわからん ラムダ使った並列化はMIMDだろ
195 名前:デフォルトの名無しさん [2012/04/27(金) 01:06:27.15 ] 起動したクラスって取得できますか? public class SuperClass{ public static void main(String[] args){ } } public class SubClass extends SuperClass{ } こんな感じで、SubClassで起動した場合に mainの中で起動したクラス(SubClass)を取得したいのです。
196 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 06:51:13.43 ] >>193 > 9年ぶりに言語仕様を改訂予定 ja.wikipedia.org/wiki/Java#Java_SE_8
197 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 08:57:14.77 ] ↓の状態で実行すると数字の重複をしてしまいます。 乱数の重複を防ぎたいのですがどうすれば良いですか? ネットでいろいろな方法を調べたのですが、どれも上手くいきませんでした。 import lib.Input; public class Sample1{ public static void main(String[] args){ int a = Input.getInt("何人に配りますか?(2〜5)"); for (int i=1;i<=a;i++){ System.out.println(i+"人目の手札は以下のとおりです."); System.out.println(cards()+""+cards()+""+cards()+""+cards()+""+cards()); } } public static String cards(){ String[] a = {"ハート","クラブ","ダイヤ","スペード"}; int b= (int)((Math.random()*13)+1); int c= (int)(Math.random()*4); int c_b = (int)(Math.random()*53); String d = a[c] + "の" + b +" "; if(c_b==0){ d="ジョーカー"; } return d; } }
198 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 08:59:40.72 ] >>197 あらかじめ使えるカードの一覧を作っておいて使用済みのチェックを入れる。
199 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 09:54:25.99 ] >>196 間違いだから削除した
200 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 11:08:27.44 ] >>197 配列に52枚のカードを入れて、それをランダムにシャッフルして、先頭から順にめくっていく
201 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 11:21:05.05 ] >>197 重複しない膨大な整数系列を高速省メモリで吐いてくれるアルゴリズムの 疑似乱数クラスは、探せばある。 トランプにはオーバースペックか。
202 名前:デフォルトの名無しさん [2012/04/27(金) 11:21:12.39 ] >>197 sasuke.main.jp/java.html に「トランプのシャッフル」ってのがある
203 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 12:36:20.05 ] Javaを勉強し始めたばかりで用語について混乱しているので教えて下さい。 クラスをコントラクトすること=インスタンス化(クラス名 変数名=new クラス名();) インスタンス化された変数をインスタンス メソッドや変数をまとめて1つのクラスとして独立させることをカプセル化 このような解釈であってますでしょうか。。。 初歩的な質問で申し訳ないのですがサイトなどでの説明がわかりにくかったもので、 誤った理解をしていればご指摘頂ければ幸いです。
204 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 14:36:48.75 ] >>203 【インスタンス化】 ● クラスからオブジェクトを作ること。 ● コンストラクタの呼び出しによって、メモリ上に、新たに生成される オブジェクト用のメモリの領域を確保すること。 【カプセル化】 ● クラスの外部からはフィールドを直接操作できないようにして、必ずメソッドを 経由してフィールドを間接的に操作するようにすること。
205 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 16:13:09.20 ] Java7u4 Java6u32 リリース
206 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 17:48:04.46 ] >>204 ありがとうございます、
207 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 18:13:03.93 ] >>195 public class SuperClass { static Class subclass=SuperClass.class; public static void main(String[] args) { System.out.println(subclass.getName()); } } public class SubClass extends SuperClass{ static { subclass = SubClass.class; } } もしくは public class SuperClass { public static void main(String[] args) { todo(SuperClass.class); } public static void todo(Class subclass){ System.out.println(subclass.getName()); } } public class SubClass extends SuperClass { public static void main(String[] args) { todo(SubClass.class); } }
208 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 18:46:54.53 ] >>206 いえいえ
209 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 19:14:47.21 ] >>198 >>200 理論的には分かりやすい説明ですが、ググったりしたのですが具体的なやり方がぜんぜんわかりません。
210 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 19:42:56.25 ] 1.カードの枚数分の配列を作る。 2.乱数を2つ発生させて、2つの数字の指し示す配列の中身を入れ替える。 3.気が済むまで2を繰り返す。 とかなら簡単じゃないかな
211 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 19:47:39.74 ] >>209 出来合いのなら→>>202 のやつ sasuke.main.jp/toranpu.html
212 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 20:13:07.35 ] ArrayListに突っ込んでCollections#shuffle()を使えばいいんじゃね
213 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 20:49:12.14 ] 馬鹿には無理
214 名前:デフォルトの名無しさん mailto:sage [2012/04/27(金) 22:35:00.08 ] 馬鹿にも限度があります><
215 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 00:21:40.44 ] トランプの性質上、ジョーカーは例外として 同じものがないのだよ java.utilで使えそうなインタフェースがSet こんな感じで、作るものの本質を知ることからはじめるのがプログラミング 制御したい物をどのように組み立てるのか、よく考えるところからはじめよう これは言語云々の話じゃないけど、心の片隅にでもとりあえず置いてほしい フィールドとしてSet<Card> cardSet = new 何とかSet<Card>(); cardSetから取り出されたものもさらに別のSetにぶち込む そのときにコレクション.ソート機能をつかってコンパレートする イメージは伝わったかな
216 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 00:27:37.12 ] ちなみにCardは int number enum Type { スペード("スペードマーク")、ダイヤ("ダイヤ"); final String マーク; Type (String マーク) { 初期化 } } 必要があればenumコンストラクタのフィールドをどんどん追加すればいいのかな enum内にstatic なメソッドも持たせられるのでいろいろ使い道があると思う
217 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 00:34:03.06 ] Listを2つ用意(A,Bとする)してAに1〜52を格納,Bは空 0〜51の乱数を発生させ得られた数番目の要素をAから削除しBに追加 乱数の範囲を1減らして↑を繰り返す
218 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 02:14:40.50 ] ふーん
219 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 09:50:03.85 ] >>197 >>200 の方法をとるのは後ろからになってるけどざっと実装してみた。参考にどうぞ。 import java.util.Random; import java.util.Arrays; public class RandomSet{ public static void main(String[] args){ //0 〜 LIMIT-1 の重複しないint配列を用意 int LIMIT = 52; int[] rand = new int[LIMIT]; for(int i=0;i<LIMIT;i++){ rand[i] = i; } //配列をシャッフルする Random r = new Random(); int temp = -1; for(int i=LIMIT;i>0;i--){ int index = r.nextInt(i); temp = rand[index]; rand[index] = rand[i-1]; rand[i-1] = temp; } //出力 System.out.println("0 〜 "+(LIMIT-1)+" までの重複しない乱数列"); for(int i=1;i<=LIMIT;i++){ System.out.printf("%3d",rand[i-1]); if(i%10==0){ System.out.println(); } } System.out.println(); } }
220 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 09:59:28.02 ] なんだこの役に立たないサンプルは
221 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 10:58:35.94 ] 配列の添え字が0になるのがそんなに嫌か
222 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 11:20:25.29 ] 何言ってんだコイツw
223 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 11:45:58.54 ] なにこのドヤ顔ww
224 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 12:17:46.13 ] 重複しない乱数をどうやって実装するかによって性格が分かりそうだなww
225 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 12:36:48.51 ] 意味不明
226 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 13:20:59.29 ] あいかわらずアホなスレですな
227 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:01:48.46 ] すみません、用語についての質問です。 セッター、ゲッターについては以下のような解釈であってますでしょうか。 セッター:異なるクラスのprivateな変数に対し値をセットするためのメソッド ゲッター:異なるクラスのprivateな変数の値を取得するためのメソッド
228 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:09:56.20 ] >>227 ゲッター:主人公側のロボット セッター:敵のロボット、実は主人公のオヤジが乗ってた
229 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:14:28.47 ] >>227 そう。 フィールド自身は private 宣言で、 フィールドアクセス用のメソッド は public 宣言だよ。
230 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:19:59.70 ] >>229 必ずしもそうとは限らんけどな Set/Getはprotectedかもしれないし、 Set/Getのあるクラス内にフィールドが存在しないかもしれない。
231 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:23:33.56 ] >>229 ありがとうございます!
232 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:23:33.56 ] 屁理屈乙
233 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:28:20.83 ] >>230 >Set/Getはprotectedかもしれない 例えば、パッケージが1つの場合などはSet/Getは”privateでなければ良い”いう解釈ができるということでしょうか? >Set/Getのあるクラス内にフィールドが存在しないかもしれない これについては良くわからないのですが、フィールドが存在しないクラスにSet/Getを用意する必要性が出てくることもあるということでしょうか>
234 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:30:50.94 ] 常に単純にフィールドの読み書きをするだけだったらpublicフィールドでいい。 わざわざメソッドを通すなんて面倒なことをするのは、 後で実装を変更するため。 直接フィールドを持たないような実装に変更することもありうる。
235 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:35:09.45 ] 例えば日時を管理するクラスに曜日フィールドはなくてもいいが、 日時から曜日を計算して返す曜日ゲッターがあってもいい。
236 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:36:50.64 ] そうそう >>233 >>230 の後半はカン違いと思われ…
237 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:44:33.90 ] >>234 Set/Getがメソッドである本質は、物理的なコードの書き換えというより 継承での実行時書き換えのためだろ。 >>233 下についてだが、どこまで素人かしらんけど、 Javaがある程度解るならこんな感じ。 DelivedBはExampleBaseを使える様に getValue()を用意してるけど、DelivedBとしては 100以外返す必要がないないんで、フィールドをもたない。 interface ExampleBase { int getValue(); } class DelivedA implements ExampleBase { private int value; public int getValue() { return value; } } class DelivedB implements ExampleBase { public int getValue() { return 100; } }
238 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 15:48:43.47 ] >>233 >例えば、パッケージが1つの場合などはSet/Getは”privateでなければ良い”いう解釈ができるということでしょうか? いや、アクセス権限は関係ないというはなし。別にprivateにしたってset〜()/get〜という形でメソッド定義してりゃ セッター、ゲッターと呼ばれる。アクセッサーと呼ばれるかどうかは知らんけどな。
239 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:07:23.94 ] 皆さんたくさんのご意見ありがとうございます。 私はVC、VBの経験はありますがJAVA(オブジェクト指向)はまだ記述方法等を順に学んでいる段階のため理解が浅く、 ご教授頂いた内容を理解しきれない部分があります。 とりあえず今の段階ではset〜()、get〜()とネーミングされた、値を設定・取得するためのメソッドという理解に留めておこうと思います。
240 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:11:27.67 ] >>239 蛇足だが、現実でVCの経験があると言うのは控えた方がいい。 VCでC言語をやっていたぐらいにしておかないと ハイレベルな作業頼まれてトラブる事が有るぞ
241 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:23:26.61 ] 初心者にドヤ顔www
242 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:24:51.27 ] そんなにマイクロソフトに染まっちゃているならいっそのことドットネットの方をやったらどうですか?
243 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:37:35.10 ] だよなぁ 普通VCやってたって言ったら日本では最高レベルのプログラマの称号だし。 VCを本当にやってた人間ならJavaなんて学ぶことなく使えるし
244 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:42:33.31 ] 日本で最高に苦労していたプログラマって意味ですよね?
245 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:46:59.66 ] C++つかってる様な仕事で締切りに追われて苦労してるようなとこあんの? うちとか約1年ぐらい掛けてゆっくり1つの製品作ってたりするけど。 C++で製品開発はあっても、受注なんてほとんど無くね?
246 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:48:27.94 ] VC++とC++(gcc)はまったく別物ですよ。
247 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:52:37.34 ] >VC++とC++(gcc) そもそも、この書き方がおかしい Microsoft (R) C/C++ Optimizing Compilerとgccを比較してるのか? 統合開発環境全体とgccというコンパイラ比較してんのか?
248 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:58:32.40 ] ツマラン
249 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 16:58:51.29 ] >>245 C++ のベテランには、C$ は使うが Java は意地でも使わないって人もいるね。
250 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:00:14.50 ] × C$ ○ C#
251 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:03:22.49 ] ところでC++のベテランさんは得意のC++で何ができるんですか?
252 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:03:36.69 ] ハンガーwwww どう見てもブーメランだろwwww
253 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:03:53.43 ] MMDが作れる
254 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:04:39.30 ] >>249 俺逆にC#の方をあんまり使わないわ 仕様が頻繁に変わる言語は追従するのが面倒といより、 今まで書いたコードがゴミになりそうで嫌。 そういういみで、PerlとかPHPも苦手。 使い捨て用にしか使わん。
255 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:06:40.03 ] >>254 >仕様が頻繁に変わる言語 kwsk
256 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:10:49.80 ] >>255 C#はC++が03から11になる間に4もバージョン上がったろ ついでだがPerlは、Perl5からPerl6になって互換性なくなった PHPはclassが予約語になった
257 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:12:31.79 ] サンクス!
258 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:17:31.11 ] どの言語でもだが予約語の追加は勘弁して欲しい 予約語ついかする言語とは深い付き合いしたくない
259 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:32:13.51 ] >>256 javaだと2003あたりから2011(java7)まででいくつ上がったんでしたっけ?
260 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:42:46.61 ] >>259 ライブラリや言語外はそれなりに更新されたけど、 言語自体はそんなに頻繁に更新されたか? Java2からJava7の間で目立った変更があったのって 5のあたりぐらいじゃないか?
261 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:45:24.57 ] 実質は、1.2 〜 1.7 だし・・・
262 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:49:45.25 ] 推奨されないメソッドを使わなければそんなに困らないよね
263 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 17:59:48.54 ] >>260 こんなチンコすれでドヤ顔なんかしてないで、もうちょっといろいろ勉強した方がいいと思いますよ。
264 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 20:58:40.49 ] もうちょっといろいろ勉強した方がいいと思いますよ(ドヤ
265 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 22:22:00.42 ] >>258 C#はコンテキストキーワード上等だからキーワード増えても予約語は増えず基本的に互換性は保たれる Javaは予約語の追加をやった前例がある
266 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:13:23.04 ] enumくらいだろ
267 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:20:00.45 ] C++ のベテラン必死w
268 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:21:18.63 ] assert
269 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:27:20.34 ] enumとassertって実装前はconstと同じ予約じゃなかったんだっけ?
270 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:35:36.89 ] >>269 うん違う
271 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:37:34.41 ] 新しいキーワードを無効にするコンパイラーオプションとかあったよな 新規追加だよ
272 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:51:51.56 ] >>270 ありがと
273 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:56:19.89 ] 予約語なんてパッケージや名前空間に入れてしまえばいいのにな どの言語もしないな java.import java.import; import java.int; import java.class; とか。
274 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:58:00.33 ] assertが追加された予約語と感じる奴が いったいどれだけいるのか
275 名前:デフォルトの名無しさん mailto:sage [2012/04/28(土) 23:59:32.37 ] 名前空間とか考えず使えるから予約語なんだろ
276 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:02:44.11 ] 事実として予約語だからな 何と言おうが思いっきりbreaking changeだ
277 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:04:28.54 ] >>275 別にそこに拘る必要ないだろ 予約語と表現するのが嫌なら別の名前でかまわないだろうし
278 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:06:05.86 ] そういやキーワードという言い方があったな
279 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:06:44.95 ] 今日のキーワードは…
280 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:10:24.73 ] 予約語!
281 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:10:50.81 ] おまえらassert使ってる?
282 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:17:28.76 ] assertって何がしたかったんだろうな 融通利かなすぎだろ 結局のところ条件コンパイルなんだからC#のConditionalみたいなのにすればよかったのに
283 名前: ◆QZaw55cn4c mailto:sage [2012/04/29(日) 00:24:31.72 ] >>282 アサーションを使わないというのは、ちょっと考えにくいのですけれどもね
284 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:29:04.29 ] アサーションする=assert使う とは限らないだろ
285 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 00:31:18.92 ] 開発環境やプロジェクトのポリシーと密接に関連してるからな ライブラリでやるべきだった
286 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:07:04.26 ] ライブラリじゃ不可能だから言語構文に入ったんでしょ
287 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:11:35.59 ] いつか来た道
288 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:11:52.28 ] enumの話しならともかく assertはライブラリでも出来るだろ
289 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:15:06.37 ] >>288 どうやって? if文使ったりしたらデバッグモードじゃなくても判定が入るよ。
290 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:28:44.92 ] >>273 javaだとannotationとして似たようなものは既に実装されています。
291 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:30:47.88 ] 浅学なおまえが思いつく程度に不十分な仕様なら、ネットにも大量に苦情が上がっている。 だから、おまえの不満はネットでは既に語り尽くされているか、全くの見当違いでしかない。
292 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:34:07.54 ] 苦情が上がらないだけなら 単に見向きもされてないだけの可能性もあるから 論理的な解釈とはいえないな
293 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:35:05.85 ] >>267
294 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:42:53.14 ] assertをlibraryって、えっと議論する必要あるの?
295 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:44:06.30 ] 馬鹿には無理
296 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:49:43.09 ] 意味はあるだろ そもそも外す必要なんか出るのかっていう根本からして
297 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:51:26.53 ] 外す必要が無いならassertなんて要らないだろ
298 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:52:04.11 ] C#はライブラリでやってるぞ アノテーション使ってコンパイルオプションで外せるメソッドが定義できる あれパクればいいんだよ
299 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:57:07.57 ] assertだけ着脱できても正直小回り効かないよね で、どうせ着脱しないしオーバロードたくさんある方が便利だよね ってことでcommonsライブラリとかのassert使われちゃうっていう
300 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 01:58:18.61 ] C#でDirectX(とOpenGLも)がまともに使えるならC#がいくらキモくてもまだ活路があるんです
301 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:01:45.39 ] 話それるがApache CommonsってJavaで書いててもC臭いから苦手。
302 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:02:16.69 ] 条件コンパイルは絶対やらないっていうんならそれを貫いてVMレベルで実装すればよかったのにな あっさり覆して中途半端に条件コンパイルに手を出したからおかしくなった どうせ条件コンパイルやるんならC#のようなやり方した方がずっと綺麗で有用
303 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:04:03.57 ] commonsがC臭いってどの辺りだろ?
304 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:13:19.25 ] java8でmodule仕様が入るので改善されますよ。
305 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:24:14.37 ] >>303 Log4jやらCommons Validatorやら全般的に。 例えばLog4jならこんな感じ。メソッドでエラーレベルを変えてる。 Logger logger = Logger.getInstance(Sample.class.getName()); logger.info("This is info."); logger.warn("This is warn."); logger.error("This is error."); メソッド固定なら、構造体と関数で書いたCのロガーと変わらないじゃん。 Javaでやるんだから、メソッドじゃなくオブジェクトでエラーレベルを変えてほしい。 オブジェクトを切り替えるだけでログレベルを一括で置き換えられるようになるでしょ。 Logger logger = InfoLogger.getInstance(Sample.class.getName()); logger.write("This is info."); Logger logger = WarnLogger.getInstance(Sample.class.getName()); logger.write("This is warn."); Logger logger = ErrorLogger.getInstance(Sample.class.getName()); logger.write("This is error."); Validatorも似たような話で、mailValidate、tellValidateとかメソッドで別けるんじゃなく、 validateメソッドを持ったMailValidatorクラス、TellValidatorクラスという形で別ける方がJavaらしいと思う。
306 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:27:06.43 ] でざぱた
307 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:28:48.51 ] 馬鹿には無理w
308 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:30:58.56 ] >>305 Loggerが何を抽象化してるか考えると、そのままでいいと思う sayHelloとsayGoodbyを持つPersonクラスの代わりに HelloPersonとGoodbyPersonを用意しよう っていう位には奇妙に感じるんだが。。
309 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:32:05.40 ] javaではsingletonとstaticって相性が悪いんですか?
310 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:33:05.73 ] >>308 ちょっと例が良くないなsayHello、sayGoodbyだったらhelloとgoodbyを引数に回すもの。
311 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:33:36.16 ] >>305 Validatorはそうなってなかったっけ?
312 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:35:29.38 ] >>310 sayHelloであってるよ インスタンスが日本人なら「こんにちわ」 インスタンスがアメリカ人なら「やあマイキー」 ってら言わせるんだから
313 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:36:02.80 ] >>308 java2d関係を使ったことがあるなら奇妙というほどでもない
314 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:37:52.20 ] >>312 man.sey( new Hello() ); man.sey( new Goodby() ); これでも行けるでしょ。
315 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:38:37.03 ] >>312 そこは"hello"と"goodbye"をキーにしてi18nだろjk…
316 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:38:51.14 ] sayをうちまちがえたハズカチ
317 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:41:31.22 ] >>314 それじゃ国際化するときに、HelloFactoryとGoodbyFactoryが必要になる なにより凝集性がよろしくない
318 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:41:52.09 ] >>315 ああいいね。 それ見てこんなの思い出したわ man.say( Hello.getInstance() ); man.say( Goodby.getInstance() ); 台詞が決まってるなら man.say( Words.HELLO ); man.say( Words.GOODBY );
319 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:42:54.68 ] >>317 台詞を言うのはmanのオブジェクトで、HelloやGoodbyは識別用だよ。
320 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:45:38.80 ] >>315 そっちでもいいかも。 ただ、 声だすついでに身体バンバンたたいたり ハグ♥ってしたりが表現できないよね >>319 sayメソッドの中身が悲惨なことにならないか?
321 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:51:50.76 ] バグ♥
322 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:51:58.25 ] >>251
323 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 02:54:49.41 ] 定期的に脈絡なくC++にアンカー春奴は何かコンプレックスでもあるのかな?
324 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:04:23.46 ] >HelloPersonとGoodbyPersonを用意しよう 別にこれもいいと思うけどね。sayで何を言うか本人しだいじゃん。 単にPersonでもsayHelloやsayGoodbyじゃなくて、say持たせて、 meet、breakupメソッドを用意し、meet、breakupどっちが呼ばれたかで sayの挙動を変えて上げた方が取り回しが効いていいと思う。 さらにinterfaceにsayを持たせておけば、meet、breakupを持ってる事が必須じゃなくなるしね。 他のメソッドでsayの挙動を変えてあげてもいい。
325 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:09:40.56 ] どうでもいいが要求次第 現実をシミュレートなんてしなくてええんやで
326 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:13:25.84 ] >>324 interfaceにsayもたせたら、直接呼ばれちゃうぞ
327 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:15:48.27 ] >>326 何か問題が有る?
328 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:19:54.37 ] Interfaceの型でうけたら、meetとbreckupがよべない 個別の型でうけたら、meetとbreackupが呼べるかわりに、sayまでみえちゃう sayが外に見えてる以上は自分の都合だけでは書き換えられない つまりmeetとbreakupの取り回しがしにくい
329 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:22:52.89 ] あぶすとらくと
330 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:26:03.06 ] >>246
331 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:29:40.47 ] public final void say(){ System.out.println("馬鹿には無理"); }
332 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:30:13.42 ] Japanese japanese = new Japanese(); japanese.meet(); Irish irish = new Irish(); irish.breakup(): Person person; person = japanese; person.say(); person = irish; person.say(); 実用上こまりはしないと思うけど。
333 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:39:29.36 ] ん?設計意図がわからん breakup→sayの順で呼んで初めて話してくれるのか? どうなんだろう
334 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 03:42:45.53 ] >>333 そうよ。breakupを呼ばなくても何らかの振る舞いはするでしょうけど。
335 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 04:26:13.71 ] Command japaneseSayHello = new JapaneseSayHello(); japaneseSayHello.execute(); ( ・´ー・`)どや? executeの実装だけ入れ替えれば何だって実行できる。 これがオブジェクト指向や! などと使い方を想定せずに抽象化するのは 複雑さを助長するだけで百害あって一利なし
336 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 04:29:09.69 ] >>331 System.setOut(new PrintStream(new ByteArrayOutputStream()) { public void println(String x) { System. console().printf("誰でもできるよ(^−^)" ); } });
337 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 05:10:41.89 ] ゆとり乙
338 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 05:14:36.97 ] finalつけたのに残念だったね
339 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 06:02:21.56 ] 勉強になるわー
340 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 06:45:05.55 ] ゆとり乙
341 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 07:38:13.41 ] ゆとりにはjavaしか無理
342 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 07:51:25.26 ] 馬鹿がんがれ
343 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 11:55:51.62 ] >>111-112
344 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 13:30:35.64 ] JOptionPane.showMessageDialog(null, "\"馬鹿\"って言った奴が馬鹿", "", JOptionPane.ERROR_MESSAGE);
345 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 13:42:43.77 ] >>335 ラムダとかそんな感じだよね。 用途は、使用する側次第。
346 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 16:27:24.65 ] Project Lambdaって結局クロージャ使えるの?クロージャもどきなの?
347 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 16:38:07.70 ] クロージャ使いたくなるのってほんとたまになんだよな そのたまににできないと「糞がぁ」と思っちまうんだけど…
348 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 17:28:17.58 ] クロージャもどきってなんね
349 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 18:23:20.50 ] exceptionって イグゼプション? エグゼプション? エクスセプション?
350 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 18:28:07.67 ] いっくしょんぺ
351 名前:デフォルトの名無しさん mailto:sage [2012/04/29(日) 18:32:32.69 ] エクセプションっぽ
352 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 00:21:26.63 ] いまゲームを作ってるのですが、 ちょっとうまくいかないことがありまして、、、 質問させていただきます。 x軸方向y軸方向にそれぞれ異なった速度を持ったイメージがあって それが画面左から出現してきて右に消えていくというのを作りました。 これを無限に行いたく、配列を使ってやってみたのですが、 配列には限りがありますよね??うーん、、、うまくいきません。 どうにかうまくいく方法はないですかね??
353 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 00:28:57.37 ] 何がしたいのかよくわからんけど、右に消えていったイメージをまた左から出すようにすればいいんじゃないの?
354 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 00:34:58.52 ] >>353 すいません、説明不足でした! シューティングゲームで自分が打った弾がイメージに当たったら消える といった風にやりたいのです!
355 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 00:52:09.01 ] 配列を使わずにArrayListなどを使いましょう
356 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 00:55:55.20 ] なぜListなんだ なぜ
357 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 01:11:25.94 ] javaでopengl3(glsl3)以上とshade programmingを使いたいんですがどうすればいいのでしょうか?
358 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 01:37:20.31 ] これからjavaを勉強するにあたりさ(他言語経験があり)あどうするかと調べたところ javaサーブレットjavaアプレットやら色々あるようなんですが、 巷の業務系javaプログラマ募集の求人でjava出来る人ってのは java = javaサーブレットって事で良いのでしょうか? Java出来ますと言えば:Javaサーブレット? 業務系:Javaサーブレット? Web系:Javaサーブレット&Android? 会計やら物流やらもJavaサーブレットによるWebアプリって事になるのでしょうか?
359 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 01:40:17.82 ] >シューティングゲームで自分が打った弾がイメージに当たったら消える >といった風にやりたいのです! 最終的にこれをしたいんだろうが・・・ >x軸方向y軸方向にそれぞれ異なった速度を持ったイメージがあって >それが画面左から出現してきて右に消えていくというのを作りました。 ここは今理解できてる事だと解る >これを無限に行いたく、配列を使ってやってみたのですが、 >配列には限りがありますよね??うーん、、、うまくいきません でもこの一文で何がしたいのか解らん 玉を複数画面上に出したいが、配列に格納しきれないと言ってるのか? ゲームなら普通上限決めて、一括で確保するぞ。
360 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 01:42:31.17 ] 土方さんはもっと簡単なマイクロソフト・ドットネットやウインドウズ・メトロを勉強した方がいいと思います。
361 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 01:44:41.96 ] >>358 アプレットかサーブレットかと言えばサーブレット。 ただ、まんまサーブレット使うことは少ないと思うが。 あと、商用ならサービスとか、バッチ処理とか、 Webサーバー使わないものも結構有る。 最近の話かもしれないけど。
362 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 01:53:34.09 ] >>359 伝わりにくくてすいません 永遠と画面左から敵が出続けるんです。 そいつらを画面手前にいる自機から発射される攻撃でやっつけ続けるというゲームです。 そして攻撃されなかった敵は画面右へと消えていきます。 無限とはいったものの 制限時間をつけるなり、敵から攻撃を受けてゲームオーバーにするなりしようとおもうんです。 敵の数だけ配列をつくると大変なことになるのではないかと、、、
363 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 03:25:13.10 ] >>346 クロージャは使えない。ラムダ式は使える。 あくまでもSAMタイプのインタフェース(ひょっとしたら抽象クラスもOKかも)のインスタンスを作る時に ラムダ式な書き方ができるようになるだけ。 相変わらず、親スコープの変数はfinalで読み込まないとイケない。 ちなみに文法はほぼC#のラムダ式だな。
364 名前:デフォルトの名無しさん [2012/04/30(月) 03:39:20.31 ] 初心者なんだが、実際どんなのが作れるんだ? 目標を立てるのに知りたい。
365 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 03:50:56.46 ] >>360
366 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 04:18:30.23 ] Java+Swingによる2chブラウザ V2C_R50 anago.2ch.net/test/read.cgi/software/1334228672/
367 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 04:23:19.11 ] 日経ソフトウェア、アクセスランキング2012年04月28日 @ [1]JVM,API,言語仕様---Javaは三... A [2]Java SE 7の新機能を読み解く B [4]クロージャやモジュール機構など,Java ... Java新時代へ 日経ソフトウェア itpro.nikkeibp.co.jp/NSW/
368 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 04:25:45.63 ] >>364 なんでもつくれます
369 名前:デフォルトの名無しさん [2012/04/30(月) 04:30:03.14 ] >>368 どこでもそう言われる。 具体的にどんなのだか教えてくれ
370 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 04:37:51.19 ] >>367 そこ、登録しないと読めないし日経は有料サイトでウザいからリンク張るな
371 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 04:40:07.24 ] itは読んでるとイラッとするからgoogle 検索でもblack listに入れてる。
372 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 04:41:22.34 ] Java でちょっと前に話題になったARとか作れます. で作られたWebサーバとかめっちゃ使われてます. だけで作られたOSも、昔ちょっと話題になりました. はどこでも動きます.PCや携帯電話,Android,車載機器など.WindowsやLinux(組み込み系Linux),MacOSが動いていれば動かせます.もちろんWindowsで開発してMacで動かせます. は少し遅いです.遅い部分はJavaの利点から生まれるので,どうしても遅いと感じるならC畑へ行ってください. は様々なアドオンを自由に組み合わせられます.ちょっと複雑ですがパッケージやJNIを使えば何も恐れることはありません.Jnodeがそれを実証しています.
373 名前:デフォルトの名無しさん [2012/04/30(月) 04:47:25.30 ] >>372 ほうほう。 なかなか便利ですなぁ。 ありです。
374 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 04:50:52.29 ] >櫻庭 祐一=Java in the Box 主筆 さんもitpro.nikkeibp.co.jp(日経)やatmarkit.co.jp(itmedia)に群がっているit土方相手にしないとやってけないなんて落ちたな windows it土方に対してjavafxやswingなどjava se clientをいくら訴求しても理解できるはずないのにw
375 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 05:01:48.65 ] >>372 昔のSUN vs MS訴訟の結果と同じで、AndroidはJavaではありません。 しかも旧SUN(Oracle)からJavaのライセンスも得てません。
376 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 05:49:47.62 ] >>372 少し遅いとか妄想で語るな
377 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 06:35:44.34 ] >>372 >>263
378 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 07:41:47.15 ] [すこし遅い]んじゃなくて「とんでもなく遅い」な SQLとなんかフレームワーク合わせただけのドカタ仕事なら問題にならないけど
379 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 08:05:22.37 ] Javaは最速に近い
380 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 08:08:57.54 ] 問題にならないならそれでじゃないですか
381 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 08:09:22.29 ] 問題にならないならそれでいいじゃないですか
382 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 08:24:23.71 ] 遅いって何と比べてんだろ。 同等の機能を持った他の言語と比べないと意味ないよね。 マルチプラットフォームでOOPで、一定以上の普及率を持った とんでもなく遅くはない言語知りたいな
383 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 08:35:26.85 ] 言語?
384 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 09:13:07.19 ] AndroidはJavaではありません(キリッ
385 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 09:18:23.23 ] >>372
386 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 09:49:27.25 ] Java APIのサイトに繋がらないのは自分だけですか?
387 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 09:58:16.11 ] あ、SE7のページなら繋がりました。お騒がせしました。
388 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 10:01:12.20 ] Sunのページ死んでるのにGoogle先生いつまでも引用するんだぜ ボケちゃったのかな・・・
389 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 11:46:06.52 ] >>382 有名どころだとC++か NativeClient上で動かすかVM上で動かすかで パフォーマンスが結構変わるけど
390 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 11:52:27.49 ] C++(RTTI付き)でコンパイルしたプログラムってそんなに早いんですか?
391 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 11:56:20.59 ] ベンチマーク嫁
392 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:00:46.62 ] RTTIはサイズが肥大するだけで速度関係ないだろ 速度的に言えば、SIMDが使えるのとハンドルを使わず直アクセスしてる点、 広域に最適化される点と、最初から最適化されてる分早い 仮想関数でJavaに負ける時もあるが、オブジェクトの実際の型が変わらないなら 親クラスで渡された時でも、派生クラスの持つ実際の関数をインライン展開する コンパイラーが増えたんでそういうケースが問題になる事も減った。
393 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:08:14.22 ] 現実問題として、大規模で速度が必要だったり複雑な処理して重いプログラムはだいたいC++で作られてるだろ。 それが答えだ。
394 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:12:52.44 ] ネイティブとの速度差の議論は、jvmではjitコンパイルを導入してc++にある程度追いつき、次にllvmのようなネイティブで利用可能なリソースに最適化したスマート・コンパイルがなされて、 今のjvm技術ではc++とほぼ同等、再コンパイルしてない古いc++プログラムなら追い越してるって聞いてますよ。
395 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:15:20.82 ] >>267
396 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:23:28.58 ] >>394 聞くのは勝手だが自分で試せ あと、VMかNativeかは言語関係ない VM用に吐いたバイナリーとネイティブ用に吐いたバイナリーを比較するなら 同じ言語で書いたVMコードと、ネイティブコードを比較しろ
397 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:25:05.90 ] お前がなwww
398 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:29:21.17 ] C++に取り付かれると人格だけじゃなく頭まで壊れちゃうって本当のことなんですかぁっ?!
399 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:31:19.56 ] たぶんそうです Javaも例外ではありません
400 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:35:08.52 ] それならC#に行っちゃった人はどうですか? C#はドットネット戦略の中心でありマイクロソフトの虎の子ですよ?!
401 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:36:15.74 ] スレチ
402 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:39:25.32 ] C++よりCの方が速えー速えー言うけど、実際はCの標準ライブラリと<algorithm>つかって 書いただけならC++の方が速いしな。型情報を元に最適化出来る場合は10倍以上速くなったりする。 実測有るのみだ。
403 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:43:27.28 ] コンパイラーの出来しだいだな。
404 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:45:13.16 ] ジャバでは、プログラムの速度がクリティカル・イシューな時はあまり使わず他の方法を検討します。
405 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 12:52:21.44 ] だな
406 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 14:24:11.23 ] こんなコードなんですけど ja.pastebin.ca/2142153 public synchronized int getX() { return x; } の 「synchronized」 って必要なんですか?
407 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 14:28:20.63 ] ないな。 それはともかく、ページの広告がウザすぎて開いた瞬間閉じようかと思った
408 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 14:32:14.63 ] 406 すんません、理由をそえておながいします
409 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 14:45:13.66 ] まず必要な理由を言ってみてもらわないと
410 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 14:45:56.95 ] 排他掛けるなら座標クラスを扱ってる箇所に掛ける必要が有るだろ x, yを返すだけってレベルじゃ要らん。xとyの2つの値を設定してるような 不可分な操作にはつける必要が有るけど。
411 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 15:46:26.29 ] そのメソッドの処理中に他のスレッドから呼び出されたら困るならsynchronizedつければいい >>406 を見るとsetXY()している間にgetX()が呼べたりするから設計から間違ってる気がする
412 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 15:50:48.28 ] 呼べたりはしないでしょ
413 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 16:53:14.10 ] synchronizedは異なるブロックでも同期するんだね あまり使わないから知らなかった でもgetX()してgetY()する前にsetXY()が呼ばれる可能性はあるね
414 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 17:23:09.24 ] 俺ならZahyoクラスにsynchronizedなんて付けない。 そのかわり同期はZahyoクラスを使う側に任せる。 synchronized(zahyo){ zahyo.set(x,y); } synchronized(zahyo){ x = zahyo.getX(); y = zahyo.getY(); }
415 名前:デフォルトの名無しさん [2012/04/30(月) 17:33:16.09 ] みんなinterfaceってどう定義してんの? 自分はhoge1のように定義してるけど、皆さんの意見を聞いてみたいです。 interface test { public abstract void hoge1(); public void hoge2(); abstract void hoge3(); void hoge4(); }
416 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 17:35:58.76 ] hoge4 無駄なものを書く必要はない
417 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 17:38:53.28 ] >>415 public abstract ここ非推奨な書き方だろ
418 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 17:47:45.55 ] うむ
419 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 19:43:41.75 ] >>415 一番上だな。 public abstract が暗黙かどうかいちいち頭切り替えて読み書きするの面倒だし。
420 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 19:47:21.25 ] 一番下に決まってるだろ
421 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 20:11:25.51 ] 句読点省略するような奴は省略するって事か。
422 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 20:20:06.51 ] ちがうよ 推奨が一番下なんだよ
423 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 20:24:32.67 ] コーディング規約による とにかく書けるものは書け派(1)と書かなくても良いものは書くな派(2)にわかれる 駆け出しプログラマなら(1)の方が読みやすいかもしれない それなりに訓練されたプログラマなら(1)は冗長で目障りだという 良く訓練されたプログラマなら(1)でも(2)でもどうでも良くなる
424 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 20:33:23.91 ] そんなとこで個性化してガラパゴス化する意味なんてないぞw ほら本家から引用だ The Java Language Specification Java SE 7 Edition 9.4. Abstract Method Declarations It is permitted, but discouraged as a matter of style, to redundantly specify the public and/or abstract modifier for a method declared in an interface.
425 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 20:46:38.46 ] redundantly specify っちゅうこっちゃ!
426 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 20:58:59.18 ] そんなに権威がありがたいならSunのコーディング規約に則って8タブ4インデントにしてろ
427 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:06:40.58 ] googleさんのコード見たらhoge4だった
428 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:10:36.06 ] エディタと勘違いしてるアホがいますなw
429 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:11:00.74 ] public abstract interfaceのこれってそのうち廃止になるんじゃないの?
430 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:11:41.92 ] ピントずれた意見だな
431 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:12:04.48 ] 挟まったか
432 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:15:08.69 ] >>429 廃止にメリットあんの?
433 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:16:32.70 ] っ It is permitted, but …
434 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:17:04.35 ] >>432 コンパイルプロセスの単純化
435 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:17:38.40 ] >>434 他にないって事か。
436 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:18:47.21 ] <div class="btns"><a href="#" class="button">Clear</a><a href="#" class="button" onClick="document.getElementById('form').submit()">送信</a></div> 上のタグでメールフォームの送信、クリアを作成しているが、#の位置には何を入れるとメールがWEB上から上手く送信できるようになるのでしょうか? そもそもこのスレで良いのかも判らないですが…、お教えいただけると助かります。
437 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:20:13.52 ] Javaスクリプトさんが現れました
438 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:20:45.84 ] >>436 Web製作板へいけ
439 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:21:08.43 ] >>435 ないよ。ただ他の言語じゃよくやってるじゃん。 interfaceで修飾子が無くなれば、interfaceブロックに入ってから 修飾子除去プロセスが不要になって若干速くなる。 あとコンパイラのinterfaceに対する特殊化部分も簡略化できるよね。 OpenJDK見ると無駄そうで仕方ない。
440 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 21:22:31.30 ] >>432 小汚いコードを見なくて済むようになる
441 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:03:29.69 ] >>439 普通にコンパイラ書いていれば、interfaceのメソッドに付けられる修飾子から public と abstract のフラグを消すだけだから大した簡略化にはならないよ。
442 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:06:42.79 ] interfaceのメソッドに付けられる修飾子にはアノテーションが残っているから って付け忘れた。まぁ、わざわざ書かなくても判ると思うけど。
443 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:07:39.74 ] OpenJDK見てみれば? 一部クラスと同じ処理呼び出してるけどアレ無駄だよ。 そのうえ、privateとか他のキーワードを弾く処理まで入ってんだから。
444 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:11:59.93 ] それ単にリファクタリングした方がいいってだけじゃね? ぶっちゃけ簡略化しても焼け石に水でしょ。
445 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:14:22.93 ] そんなことよりSAMタイプについて語ろう
446 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:18:31.13 ] そうは言っても残しておくメリットなんて全然ないし。 JBossみたいな新しくコンパイラ作る際に¥は、クラスと同じ修飾子処理の部分外して、 全部public abstract属性固定にし、 privateとかのキーワードチェックだけにできる理由じゃん。
447 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:19:32.58 ] ¥はうち間違い。無視して。
448 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:25:11.18 ] >>446 普通のコンパイラは>>441-442 だからどうでもいい。 互換性問題になるから残すメリットはある。
449 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:32:00.20 ] 自分の狭い用途や視野でしか見えないから 互換性なんて思いつかないんだろ。
450 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:34:39.09 ] >>424 そもそも、これ何で非推奨にしたんだろ? implements @protected InterfaceName とかすると protectedなメソッドの実装義務が発生するとかやりたかったのだろうか? やっぱり違うな。
451 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:36:12.41 ] JLS2ndの時には既に非推奨だったな。
452 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:37:24.91 ] JLS1stからすでに非推奨だったりする。
453 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:48:00.72 ] >>448 だからもう非推奨なんだから無駄だし捨ててもいいんじゃねと言ってるだけ。 互換性なくなるのは解ってるよ。それでも既存のキーワードを廃止する言語はあるんだから。
454 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 22:57:50.59 ] 互換性を上回るメリットを提示できないと廃止は難しいんじゃね?
455 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:14:22.82 ] >>453 非推奨って言っても全然守られてない非推奨だからなぁ。 JDKのソースにすら public つけてるコードが大量にあるし。
456 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:41:56.42 ] 新しく作るなら、だからJDKの古いこーは問題ない
457 名前:デフォルトの名無しさん mailto:sage [2012/04/30(月) 23:42:11.20 ] コードは
458 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 00:20:59.51 ] >>406 www.javapractices.com/topic/TopicAction.do?Id=49 set が syhchronized なら 当然 get も synchronized でないといけない
459 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 00:28:00.78 ] ダメな記事引用するな
460 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 00:28:24.06 ] 不可分じゃなけりゃ理屈上要らんけどな
461 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 00:35:23.92 ] これ真似したらダメな悪例の典型だぞ
462 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 02:16:15.54 ] 406 すんません、なぜダメなのか理由をそえておながいします
463 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 02:30:36.22 ] synchronizedは必要だぜ マルチスレッド プログラミングの常識だろ 複数のコアをもつプロセッサでは、あるプロセッサが変更した値を 別のプロセッサからも見えるようにする必要があるわけ javaではsynchronizedブロックがこの役割を果たしている 「java メモリーの可視性」 でググればたくさん出てくるぜ
464 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 02:37:20.66 ] AtomicReference
465 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 02:40:51.60 ] >>462 不可分操作でなく無駄だから 同期プリミティブを理解してないバカに見えるから
466 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 02:56:00.41 ] ぬるぽ → ガッ ってあるじゃん 俺ついこないだまで「ガッ」ってようするにcatchすることだと思ってたんだけど wikiみたら 「殴る」だったため」という説と「Javaの例外(エラー)なので見つけたら叩くのはあたりまえ」という説の2つが挙げられている なんだとさ みんな知ってた?
467 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 03:41:42.34 ] >>466 ガッ!
468 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 05:44:29.77 ] C++のベテランさん(unmaneged windows,linux,gnome,kde)たちはGUI Tool Kitは何使ってるのかはいくら調べても出てこないので、C++さんはモーダンなUser InterfaceつまりUI作ったことないしUXに関心もなければMVCなどGUI設計の方法論も知らないのかなって思ってます。
469 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 06:13:39.78 ] ナニイッテンダ?
470 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 06:35:39.20 ] 最近C++のベテランさんがよく出没するのでTKは何使ってるのか聞いてみたかっただけです。
471 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 07:15:35.60 ] 自分のポンコツ脳だと理解できない事態なので助力をお願いしたいです。 hoge1.java public class hoge1 main String st = "hogehoge"; hoge2 hoge2 = new hoge2(st); hoge2.run(); hoge2.java public class hoge2 implements Runnable BufferedReader reader; public hoge2(String st) reader = new BufferedReader(new StringReader(st)); try { System.out.println(reader.readLine()); } catch (IOException e) {} public void run() try { String line = reader.readLine();//lineがNullになる System.out.println(reader.readLine()); } catch (IOException e) {} runメソッドでlineにreaderを代入?したいのですが、nullになってしまいます。 hoge2メソッドの方でのSystem.out.println(reader.readLine())は stの内容が出力されるので書き方はあっているような気がするのですがそれ以上の事が解りません。 恐らく無知故の基本的な間違いだと思うのですが、どうすればいいでしょうか。
472 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 07:21:35.63 ] >>471 舌かんでしね
473 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 07:34:11.39 ] だなw
474 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 08:38:23.67 ] わざと読みにくいようにして貼り付けたのか? BufferedReader#readLine()はそれが正しい動作だからちゃんと勉強しろ
475 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 08:55:51.26 ] >>465 「なぜ無駄なのか」 そこがいちばん知りたいんです。 理由をおしえてくださいませんか。
476 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 08:59:58.62 ] お金持ってないようなのでお断りします
477 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 09:12:33.44 ] ホントは知らないんでしょw
478 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 09:23:16.89 ] >>475 無駄じゃないよ。synchronized必要 setterにsynchronizedを付けるならgetterにも付けないと不釣合いだろ カッコ悪いだろ ここを嫁 gee.cs.oswego.edu/dl/cpj/jmm.html final class VFloat { private float value; final synchronized void set(float f) { value = f; } final synchronized float get() { return value; } } 上記getメソッドにsynchronizedが無い場合、setメソッドでセットされたはずのvalueの値が 別コアで実行される別スレッドから読み出せないことが有りうるんだよ なぜなら、高度に最適化された優秀で賢いコンパイラは変数をメモリーではなく CPUのレジスターに割り当てたりすることもあるからだ synchronizedの入口と出口でマルチコアCPUのコア間の不整合が解消されるしくみだ
479 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 09:30:28.34 ] synchronizedつけさえすればいいと思ってるのはアホ
480 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 09:36:41.44 ] 別コアとかレジスターとか、C++なら気にする必要はあるでしょうけど・・・
481 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 09:46:42.75 ] >>475 なぜ必要なのか説明してみ
482 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 09:48:21.77 ] >>471 最初のsystem.outをコメントアウトすればわかる
483 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:38:51.38 ] >>471 なぜファイル名も書くのかwww
484 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:49:12.15 ] >>478 かっこいいなぁ 俺英語読めん synchronizedの使い方もよくわからん いつまでたっても初心者から抜けれんわ 「synchronized」とか解説してる入門書なくない?
485 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:55:48.41 ] >>484 結城本嫁
486 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 11:57:55.80 ] >>485 ありがとうございましゅ 結城さんの本はデザインパターンの本しか持ってなくて それも5パターンぐらいまでしかまだ理解できてないや…… 知識レベルがカスなことは自覚してるんだが上達したいなー
487 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 12:00:46.54 ] 馬鹿には無理
488 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 13:13:53.00 ] >>475 何度も言うがgetの中身が不可分操作じゃないからつける必要がない つけてしまえば速度が下がる >>475 の話は、そもそもvolatileつけてたら関係ない JavaのvolatileはC++のvolatileと違ってアトミック性を保証するためのものだ
489 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 13:31:36.73 ] × >>475 の話は、そもそもvolatileつけてたら関係ない ○ >>478 の話は、そもそもvolatileつけてたら関係ない
490 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 15:46:10.43 ] 『Java並行処理プログラミング』わかりやすいからら読んどけ
491 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:15:43.10 ] volatileはアトミックじゃないぞ。xとyが関連するならvolatileじゃ足りん。 それよりZahyoにsynchronized付けるんじゃなくてZahyoを使う方にsynchronized付けたほうがいいんじゃないの?
492 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:30:36.46 ] >>491 xかyいずれかのset/getでアトミックが保たれてるから、話の流れとしては間違ってないんだよ。 結局Zahyoを使う側で同期をとるってのが正解。
493 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:41:37.32 ] 不変クラスにしよう
494 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:45:08.54 ] >>406 は実行環境のver次第でJMMが変わるから環境書け。 古いJMMならvolatileをsynchronizedするのは正しい。
495 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:50:06.99 ] お前ら、稀なケースばかり考えるんじゃなく常識の範囲で考えろよ。 相手はどう考えても初心者だぞ。古いVMつかってるかどうかとか考える必要ないだろ。
496 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:58:20.23 ] 俺はこのネタついては既にスルーしてるw
497 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 16:59:32.24 ] どっちにしてもZahyoインスタンスがリオーダーされたら意味ないから使う方のソースも見てみないと
498 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:03:11.27 ] >>241
499 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 17:04:28.76 ] たしか使う方のソースも付いてた
500 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 19:09:37.15 ] >>474 >>482 半角スペース使ったため見難くなってしまって申し訳ないです。 bufferreader周りを勉強し直してみます。 ありがとうございました
501 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 19:28:02.90 ] synchronizedを付けようがつけまいがどのみち間違っているから好きな方でどうぞ
502 名前:デフォルトの名無しさん mailto:sage [2012/05/01(火) 22:43:56.50 ] >>492 >>493 >>501 で終了〜
503 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 00:54:05.93 ] カバにはリーム―
504 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 00:55:51.63 ] メソッドの頭にシンクロつけるようなソース書くケースってあるのかな? 少なくともセッターゲッターにシンクロ宣言はつけないと思える これはロックオブジェクトの概念を知れば理解できる 使う側から見た視点でタイミングを考えるべきに同意 それと同期、平行この2語を真に理解することはとても大事だと思う。 くどいけど セッターゲッター両方にシンクロ宣言つけたら そのインスタンスに同時操作しようとするスレッドが、順序のない行列作っていろいろ面倒なことになる
505 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 01:02:33.45 ] java.util.concurrent この下にあるやつ API眺めるだけで大体理解できると思うよ
506 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 01:41:20.46 ] 実際get/setみたいな粒度の同期化なんてほとんど意味無いよ 利用する側は大抵もっと大きい単位でロックする必要がある
507 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 09:30:21.78 ] 使う側で同期で答えでたやん
508 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 11:04:09.57 ] スレッドAで sync(o){ o.ijiiji } スレッドBで o.ijiiji ってするとスレッドAがoをいじいじしている間は スレッドBはoをいじいじできないの?
509 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 11:11:23.29 ] スレッドBの方で排他制御してないなら自由に触れる。
510 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 14:52:58.95 ] なにかを自作しようと思うとほとんどサンプルコードの改変になって悩んでます 自分で作った気がしないのですが……
511 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 15:02:48.96 ] サンプルコードの改変で作れるようなものなんて、今更君が作らなくても既に遥かに優れたものが世の中にある っていうか、普通にPC使っててこういうのが欲しいと思ったときに まだ誰もそれを作ってないなんてことはまずありえないから、はっきり言って時間の無駄
512 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 15:06:15.34 ] そうですよね ではプログラミングはどのように勉強していけばいいのでしょうか?
513 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 15:20:45.67 ] 趣味ならAndroidでもやれば GUIなら.NETやC++の方がいいしちょっとした作業の自動化ならスクリプト言語の方がいい
514 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 15:31:45.66 ] 何言ってんだ、コイツw
515 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 16:01:19.40 ] >>511 このいいかたでは、 サンプルコードの改変がダメのようにきこえてしまうが、 ライブラリをべんきょうするとき、サンプルがあればたすかるね
516 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 16:01:42.73 ] スマホアプリいいよ PCではサンプルコードの改変レベルの糞アプリでもスマホで出せば評価される
517 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 16:54:11.08 ] こういうのが欲しい!と思って無かったから作った人がここに
518 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 17:47:33.65 ] public class Tc { public Tc() { } } Tc tc1; //@ クラスについて初歩的な質問なんですが こういうふうにクラス宣言して主クラスの最初で@のように定義すると通るのですが 他の場所 onCreate()内 等で@の定義をすると ’ローカル変数 tc1 は読み取られません’とEclipseに怒られてしまい実際実行されません。 その他の場所で@の定義をするにはどうすればいいですか?
519 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 17:54:52.81 ] それは意味ないローカル変数を宣言した時に出る
520 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:10:35.41 ] >>518 言語仕様的なエラーじゃなくて、 プログラムミスの可能性が高いから警告にしたりエラーにしたりできるようになってる。 Window->Preferences->Java->Compiler->Errors/Warnings->Unnecessary code->Value of local variable isnot used Project->Properties->Java Compiler->Errors/Warnings->Unnecessary code->Value of local variable isnot used を ignore にすれば警告かエラーは消える。上はワークスペース全体の設定で下はプロジェクト固有の設定。 ignore にするのは推奨しないけど。
521 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:27:02.03 ] >>518 ローカル変数を宣言しても、それを使っていなければ宣言した意味がないので、親切にも注意してくれているんだ ちゃんと使えば文句言われない
522 名前:518 mailto:sage [2012/05/02(水) 18:33:02.52 ] ローカル変数でなく class と宣言してるはずなんですが。 あと上の記述だとスルーだけになるのですが Tc tc1 = new Tc(); こう書くとエラーになってしまいます。 これはどういうことでしょうか?
523 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:35:25.86 ] だから、そのローカル変数 tc1 を、使ってないだろう?
524 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:38:25.42 ] ああ、最初にグローバルで@の記述を必ずやらないと 途中から書いてもクラスとみなされないということですかね。 public 書いてるからどこからでも参照できると思ってました。
525 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:42:43.93 ] あとローカル変数ならば Tc tc1; じゃなくて int tc1; とかじゃないでしょうか? コンパイラはそういう判断かと思ったんですが。
526 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:43:42.30 ] classを囲う{}の外に書いたら怒られるのは当たり前
527 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:47:10.73 ] >>525 それは変数の型が違うだけだ (プリミティブ型 or クラス型) ローカル変数かクラス変数かインスタンス変数かという変数の種類は変わらない
528 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:50:07.46 ] 変数とスコープを勉強しなおしてこい
529 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 18:55:31.98 ] >>526 class内のmainで定義すればいいですかね。やってみます。
530 名前:518 mailto:sage [2012/05/02(水) 19:07:06.63 ] ここまでで冒頭でやればいいとわかったのですが 最初にグローバルにクラス作るのでなく 途中から自由にクラスインスタンス作ったり外したりする方法はないのでしょうか?
531 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 19:12:27.46 ] Tc tc1 = null; tc1 = new Tc(); tc1 = null; とか
532 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 19:25:51.30 ] >>531 やってみます。
533 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 21:55:11.42 ] Javaを初めて勉強するのにお勧めの教本とかってありますか? プログラミング未経験です
534 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 21:56:04.90 ] 今までファイル読み込みが面倒なのでファイルをクラスに変換するマクロで、 クラス内にファイルの内容を直接埋め込んでいたのですが、 今日、少し大きなファイルを埋め込んでみたところ。 「static イニシャライザーのコードが 65535 バイトの制限を超えています」 まさかJava自体にこんな制限があったなんて…orz うわーどうしよう。
535 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 21:59:32.35 ] コード自動生成してるんなら適当にメソッド分けるようにすればいいだけじゃね
536 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:21:38.06 ] もしものすごく膨大な定数を使いたかったら、ファイルにまとめて読み込まなければならないってこと?
537 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:26:39.16 ] 今はどんな言語でも、膨大な定数を自前で保持しないだろ。 昔はBASICのDATAにマシンコード持たせてたけどさ。
538 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:30:58.27 ] ロードに時間かかるしなあ Javaじゃ用途的にあんまり問題にならないだろうけど クライアントアプリだととりあえず起動してなんか表示してからロードするほうが ストレスを感じさせにくい
539 名前:534 mailto:sage [2012/05/02(水) 22:37:53.08 ] 画像ファイルをクラスにするくらい分けないと思ったのですが…。 とりあえずメソッドを分割してみます。お騒がせしました。
540 名前:デフォルトの名無しさん mailto:sage [2012/05/02(水) 22:49:17.75 ] ファイル添付できない上にコード量の制限があるBTSにバグ報告するとき gzip + base64 で文字列化とかはやったな。
541 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 08:12:49.48 ] 日経ソフトウェア買って読んでみたら半分いや5分の1ぐらいしか理解できなかった みんなこんな本ふむふむと読んで活用できるんでしょ? 尊敬させていただきます 入門書のあとみんなどうやって成長していってるの?
542 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 08:30:12.61 ] あなたのレベルではまだ早いってことですよ。 そのレベルで紙情報に対して毎月1000円だすつもりなら、オール日本語アイテー情報紙のPCfan(マイナビ)がいいんじゃないですか。
543 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 08:44:39.91 ] レベルにあってないことがわかりました 自分では活用できそうにありません 1000円は勉強代ですね ただPCfanはさすがに読んでてもつまらんです それにあれ休刊になったんじゃ?
544 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 09:05:36.23 ] 1000円の勉強代金を支払えば即すべてのスキルが得られるわけではありません。
545 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 09:17:42.67 ] ゆとり(笑)
546 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 11:44:25.74 ] 日経ソフトウェアって、そもそも技術者が読むよーなのだっけ? 技術者じゃない人が読んで、理解した気になるための雑誌じゃなかった?
547 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 11:45:24.94 ] あほやな 自分よりレベルの高い本を買ってわからなくても適当に読んでれば 知らないうちにレベルアップしてるのに 自分と同レベルの情報見ててどうすんだよw
548 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 11:52:10.90 ] ステマ乙
549 名前: ◆QZaw55cn4c mailto:sage [2012/05/03(木) 12:08:18.68 ] awabi.2ch.net/test/read.cgi/classical/1329658328/4
550 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 12:11:57.82 ] 間違って日経NETWORKというのを定期購読してしまって なんとなく眺めてたらいつのまにかネスペが取得できてしまった。 ネスペ取得者にはこういう人が多い。
551 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 13:34:59.55 ] 日経ソフトウェアは中学生くらいが読むもんだけど本当に初歩の初歩から書いてあるから専門外の言語の雰囲気掴むにはいいよ。
552 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 14:03:32.98 ] コードが書いてある雑誌って減っちゃったからなー 特にJavaとか紙面に乗せると文字数食うせいで 解説とかめちゃくちゃはしょってあるから分かりにくいとは思う
553 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 14:11:53.12 ] 分厚い技術書も大概だろ コードで水増ししまくって内容がほとんどない
554 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 14:13:15.63 ] 内容がないよう・・・ぷぷっ
555 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 14:34:30.52 ] 日本の本はそうだな。海外のはコードはwebかCDに収めて解説がずらずらと書いてあって1000Pとかある
556 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 16:13:49.99 ] 日本語では簡潔に説明できることが英語では単語でものすごく水増しされたような文章になるからね。
557 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 16:15:07.48 ] 英語の本読んだことねーなら無理するな
558 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 16:27:25.03 ] どうでもいい質問すみません クラスの変数とメソッドの引数が同じ意味の場合、どう書き分けたら便利でしょう? たとえば class Human{ int weight_1; public setTall(int weight_2){ weight_1 = weight_2; } その他メソッド色々 } というクラスを作ると、eclipseだとHuman#setTall()を呼び出すときの自動補完で human.setTall(weight_2) と勝手にweight_2も含めて入力してくれるので、引数を一般的な単語にしたいんですが そうするとクラスの変数をそうじゃない名前にしなきゃいけなくて 今度はHumanクラスを書く際にその変数名が面倒になってしまいます。 ネットを検索するとm_weightとかmWeightとか_Weightにするといいというのもありますが それだとHumanクラスを書く際に補完機能が使いづらくなってしまいます (たとえばm_tallとm_weightがあると、mで補完させると両方引っかかってしまう)
559 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 16:31:51.10 ] >>558 this あと、クラスの変数じゃないから。オレオレ定義で呼ぶな
560 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 16:33:00.25 ] public setTall(int weight){ this.weight = weight; } でいいじゃない
561 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 18:57:25.02 ] フィールドを"_"で始まる名前にしておけばローカル変数と混同しなくて便利なのに
562 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 19:42:58.87 ] スレッドをローカル変数だけに持ったままメソッドを抜けたらバグってワロタw
563 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 19:59:06.56 ] 日本語でおk
564 名前:デフォルトの名無しさん [2012/05/03(木) 22:15:25.77 ] テキストボックス(textBox)に値が入力されたらボタン(searchButton)を有効にする ということをしたくて以下のように書いてみました。 this.textBox.addChangeHandler(new ChangeHandler(){ @Override public void onChange(ChangeEvent event) { if(!textBox.getValue().equals("")){ searchButton.setEnabled(true); } else{ searchButton.setEnabled(false); } } }); これでも動作することはするのですが、テキストボックスからフォーカスを外さないとイベントが発生しません。 そうではなくテキストボックス入力中にボタンの有効・無効切り替えをできるようにしたいです。 KeyDownハンドラを使おうかとも思いましたが、一番キレイに実装するにはどうすればいいでしょうか?
565 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 22:25:28.27 ] そんなサンプルそこらに落ちてるだろ。あほか
566 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 23:58:30.87 ] チョンうぜぇ
567 名前:デフォルトの名無しさん [2012/05/04(金) 05:16:24.46 ] private static final なメンバは普通実行時に変わらないけど GWTとかでJSからオブジェクトを受け取る場合は変える事も出来るんだろうか?
568 名前:567 [2012/05/04(金) 05:26:05.20 ] transientとfinalのキーワードを持つフィールドは送受信されない。 という記述が見つかった。 finalなフィールドを外部から書き換える事は出来ないようだ
569 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 09:53:52.99 ] ヒント: const
570 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 12:32:44.07 ] Stringをbyte配列に変換するときに、 下記のように文字コードが指定できますが、 >byte charArray[] = target.getBytes("MS932"); byteって1バイトなので、文字コード指定したところで帰ってくる配列って変わらないんじゃないですか? intなら各文字コードのマルチバイト文字の区切りで切り取るとかもできそうですが。 shift-jis読み取りのために一応つけてるんですが、これって意味がありますか?
571 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 12:34:37.79 ] データ列だからバイト配列なだけだ 1byte=1文字ではない
572 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 12:42:13.46 ] >>570 String s = "あ"; byte[] a = s.getBytes("MS932"); byte[] b = s.getBytes("EUC-JP"); byte[] c = s.getBytes("UTF-8"); System.out.println(Arrays.toString(a)); // → [-126, -96] System.out.println(Arrays.toString(b)); // → [-92, -94] System.out.println(Arrays.toString(c)); // → [-29, -127, -126] 指定した文字コードによって返ってくる配列ちゃんと変わるぞ
573 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 13:10:10.71 ] >>572 サンクスです。ファイルから読み込んだ場合と混同してました。 そうか、Stringから変換した場合、内部で文字コード変換が走るんですね、納得です。
574 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 13:12:16.67 ] たぶんわかってないなこれ
575 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 09:09:01.77 ] 質問です。インターネットアクセスするコードの 01 URL url = new URL("http://〜〜〜〜"); 02 HttpURLConnection connection = (HttpURLConnection)url.openConnection(); ※throws IOException 03 InputStream is = conn.getInputStream(); ※throws IOException 04 InputStreamReader isr = new InputStreamReader(is, "MS932"); ※throws UnsupportedEncodingException 05 BufferedReader br = new BufferedReader(isr); 06 String s = br.readLine(); ※throws IOException 07 conn.disconnect(); 08 br.close(); ※throws IOException という流れで (1) 03のconn.getInputStream()にてIOExceptionが投げられた場合、conn.disconnect()の必要はありますか? (2) 06のbr.readLine()にてIOExceptionが投げられた場合、 (A)conn.disconnect()の必要はありますか? (B)br.close()の必要はありますか? (1)はHttpURLConnectionのメソッドがエラー出してるんだしdisconnectされてて当然だろうと思うし (2)はBufferedReaderのメソッドがエラー出してるんだしcloseされてて当然だろうと思ってしまいます。 特に(2)で仮にbr.closeしようと思ったらIOExceptionのcatch中さらにIOExceptionのcatchをするわけで すごく変なコードになる気がします。
576 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 10:26:12.67 ] disconnect はそもそもまったく呼ばなくてもいいものなので必要あるかといわれればない close は呼ぶべき 例外は回復不能なエラーばかりとは限らないから自動的に close されたりはしない・・・例えば SocketTimeoutException とか 変なコードは Java 7 からの新しい try-with-resources を使えば解決
577 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 11:12:45.03 ] 全部をcatchせずにcloseするか判断するところまでthrowして、 そこでcatchしたらfinally内でcloseの方がすっきりしそう。 ライブラリやAPIの類が例外だしたらインスタンスの再利用はできないことが多いしw
578 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 12:46:42.40 ] >>576->>577 ありがとうございます 作ってるアプリのいくつかの機能で共通点が多かったので サブルーチンのようなprivateメソッドを作って メソッド1〜3はできるだけシンプルになるようA〜D内で完結させようとしてたんですが アドバイス読んで、まとめて受けるようにしてみました。 昔ちょっとC言語で遊んだだけだったので「例外出さずにfalseやnullで返してくれたら楽なのに」って思ってたんだけど 逆にそうされたらそこで毎回チェックしてクローズ処理しなきゃいけないわけで、まとめて受けられる例外の方が便利ですよね でもgotoっぽい性質もあって怖そうですね クラス修正前{ 機能1(){A;C;} 機能2(){A;B;} private サブルーチンA(){処理、例外処理} private サブルーチンB(){処理、例外処理} private サブルーチンC(){処理、例外処理} } クラス修正後{ 機能1(){try{ A;C; }catch(){ どこかでエラー発生 }finally{ クローズ処理 } } 機能2(){try{ A;B; }catch(){ どこかでエラー発生 }finally{ クローズ処理 } } private サブルーチンA()throw e{処理} private サブルーチンB()throw e{処理} private サブルーチンC()throw e{処理} private クローズ処理(){try{close()}catch{}} }
579 名前:デフォルトの名無しさん mailto:sage [2012/05/05(土) 13:00:59.04 ] >>578 キャッチなしのtry{}finally{}を一つ入れるとキレイになりそう。
580 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 14:10:27.96 ] JDK 1.7 がインストールできません。 @Windows7(x64) Ultimate jdk-7u4-windows-x64.exe をD/L してダブルクリックしても インストーラのダイアログが表示されません。 jdk-6u31-windows-x64.exe だと、問題なくインストールされます。 jre-7u4-windows-x64.exe をインストールしてパスを通したりしてますが 状況は変わりません。 どなたかお助けを。
581 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 14:16:48.07 ] もう一回ダウンロード
582 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 14:31:40.15 ] >>581 ありがとうございます。 ダウンロードし直してみましたが、ダメでした。 ※1回目と2回目のファイルは同一でした。 困りました。
583 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 15:38:53.68 ] あきらめないで!
584 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 18:05:42.44 ] 質問です。以下の文をもっとスマートに書く方法ってありますか? swich文のcaseごとに同じメソッドを重複して書くのがちょっと微妙な気がするのです。 private void doWork(int stage) { switch (stage) { case 0 : break; case 1 : method_1(); break; case 2 : method_1(); method_2(); break; case 3 : method_1(); method_2(); method_3(); break; case 4 : method_1(); method_2(); method_4(); break; default : break; } }
585 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 18:12:30.28 ] >>584 なんか設計からして変な気がする。 のはさておき、重複して書くのは常に悪というわけではない。 読み易さのためなら有る程度の重複は許される。 スマートってのは読み易いということだ。 君がこれからやろうとしている事はコードゴルフの類いなので、 僕のスマートの定義ではこれ以上のスマートな書き方は無い。 むしろ設計を見直す。
586 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 18:13:48.87 ] 他に思いついたのは以下ですが、これも微妙な気がして。 private void doWork(int stage) { if (stage == 0) break; if (stage > 0) method_1(); if (stage > 1) method_2(); if (stage == 3) method_3(); if (stage == 4) method_4(); }
587 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 18:17:13.52 ] >>585 設計が変ですかね。確かに読みやすい気はしますが 記述的に無駄が多い気がして。
588 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 18:22:36.42 ] ほうら、スマートだろう? private void doWork(int stage) throws Exception { getClass().getMethod("method_" + stage).invoke(this); }
589 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 18:47:58.16 ] >>588 うーん、見た目スマートですけど コレジャナイ感がします。 設計が変というのはint stageごとにmethod()作れってことですかね
590 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 18:49:39.21 ] >>586 の方が良いだろ。 あと、ここに書くときは半角スペース2個を、全角スペース1個に置換しといて! private void doWork(int stage) { switch (stage) { case 0 : break; case 1 : method_1(); break; case 2 : method_1(); method_2(); break; case 3 : method_1(); method_2(); method_3(); break; case 4 : method_1(); method_2(); method_4(); break; default : break; } }
591 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:00:54.25 ] 頭の中でのイメージは、代入させるint stageの値によって doWork()内での処理ブロックの通過のさせ方を変えるような書き方をしたいんです。 たとえば、stageに4が代入されれば、method_1()を通過、method_2()を通過、 method_3()を飛ばしてmethod_4()を通過という処理をさせたいんですが、 これを視覚的にわかりやすく書けないものかとおもいまして。
592 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:36:16.90 ] ステートマシンだろ? どうせ複雑になったらわかんなくなるからステートマシン図をちゃんと描いて保存しておいて ソースの見やすさなんて無視でいいよ
593 名前: ◆b.MfON/oOo mailto:sage [2012/05/06(日) 19:39:51.48 ] >>591 どぅ? private void doWork(int stage) { if (stage == 0) break; if (stage > 0) method_1(); if (stage > 1) method_2(); if (stage >= 3){ if (stage == 3) { method_3(); } else { method_4(); } } }
594 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:42:31.76 ] int[] t = { 0, 1, 3, 7, 11 }; int x = t[stage]; if ((x & 1) != 0) method_1(); if ((x & 2) != 0) method_2(); if ((x & 4) != 0) method_3(); if ((x & 8) != 0) method_4();
595 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:54:54.81 ] >>588 > >>584 =>>590 > >>586 ≒ >>593 >> >>594 メンテする視点で考えんと
596 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:56:45.23 ] ナに言ってんだかw
597 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 19:58:06.49 ] Javaは>>594 みたいなことをする言語じゃないなとは思った。
598 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:03:19.01 ] >>592 画像のレイヤー表示的なことをしたいんです。でも同じようなもんですよね。 >>593 ああ、これは見やすいかもです。 >>594 う、頭から煙が。苦手な分野です。 またひとつ思いつきましたけど、いけてない気がします。 private void doWork(boolean flag_1, boolean flag_2, boolean flag_3, boolean flag_4) { if (flag_1) method_1(); if (flag_2) method_2(); if (flag_3) method_3(); if (flag_4) method_4(); }
599 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:06:38.47 ] そんなんならbooleanの配列でいいじゃん
600 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:11:31.57 ] >あと、ここに書くときは半角スペース2個を、全角スペース1個に置換しといて! なんで?
601 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:26:47.18 ] >>599 こうですか?わかりません。 private static boolean[][] stage = { //mth1 //mth2 //mth3 //mth4 { false, false, false, false },//stage 0 { true, false, false, false },//stage 1 { true, true, false, false },//stage 2 { true, true, true, false },//stage 3 { true, true, false, true } //stage 4 }; private void doWork(boolean[] flag_) { if (flag_[0]) method_1(); if (flag_[1]) method_2(); if (flag_[2]) method_3(); if (flag_[3]) method_4(); }
602 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:32:18.63 ] クズコード化プロジェクト?
603 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:35:27.09 ] >>602 ああ、、そんな気がしてきましたorz
604 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:36:03.79 ] どんな案が出てきたところで>>584 がメモリを少々食いつつも もっとも高速で実行できるということで良いですか?
605 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:43:03.77 ] 高速? 求めてたのはスマートな書き方じゃなかった?
606 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:46:17.41 ] そうだな。 コードゴルフではなく、>>591 は 「視覚的にわかりやすく書けないものか」 と言っている。
607 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:48:38.93 ] >>604 は私ではないですが、 見た目重複が少なく、視覚的にわかりやすい書き方を求めてます。 かつ、できれば処理的にも軽いほうがいいです。
608 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:50:03.22 ] 馬鹿には無理
609 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:57:16.37 ] >>608 そうでしょうか。 では>>585 でFAということにしようと思います。 お付き合いありがとうございました。
610 名前:デフォルトの名無しさん [2012/05/06(日) 20:57:23.54 ] \u3010 の形式を普通の文字にしたいのですが、 どうやるのが一般的なんでしょうか? \u除いてparseIntで文字コードに変換まではできたのですが、 そこからStringに戻すとこで躓いてます。 そもそもそんなめんどくさいことしなくても、 一発で変換できるような関数があるのでしょうか?
611 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 20:58:40.74 ] >>590 の条件はともかくステートマシンならこんな感じで作るわ // State間の情報は、Contextのオブジェクトで管理 Context context = new Context(); Stage1 stage1 = new Stage1( context ); Stage2 stage2 = new Stage2( context ); Stage3 stage3 = new Stage3( context ); // 各Stateが、doを実行した際返すStateを指定する。 // 例えば、doの結果が成功した場合の次のStateは、SuccessStateで指定し、 // doの結果がゲームオーバーした場合の次のStateは、GameOverStateで指定する。 stage1.setSuccessState( stage2 ); stage1.setGameOverState( stage3 ): // クラスによってどんなset〜Stateを持ってるかはバラバラ。この場合だと、実行完了後に必ずstate1に戻る stage2.setNextState( state1 ); stage3.setNextState( state1 ); // ステートの実行は、こんなループやら、イベントを使って実行する。 State state = stage1; while( null != state ) { state = state.do(); }
612 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 21:04:53.37 ] そういや、doって予約語だったな。うかつだった。
613 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 22:04:28.04 ] ステートをオブジェクトとして扱う必要あるか? それならもうストラテジーやコマンド使って設計したほうが綺麗だと思う。 ていうかなんのコードだっけ?ゲーム?
614 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 22:09:09.66 ] オブジェクトにする理由はこんな感じか 1.ステートの中にもステートが存在するし、ステート自体にも固有状態が存在する。 2.典型的なステートの再利用が可能になる。また、クラス追加による拡張が可能になる。 あと、基本構造はコマンドパターンだな。
615 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 22:18:01.48 ] >>613 匿名クラスが追加されてからは、メソッド内に 処理を埋め込めたりするんで記述がやや楽。 private State state1; private State state2; private State state3; state1 = new State{ public State action(){ return state2; } }; state2 = new State{ public State action(){ return state3; } }; state3 = new State{ public State action(){ return state1; } };
616 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:04:25.02 ] 何が求められているコードなのかにもよる メモリなのか速度なのか
617 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:06:29.55 ] そういうのはコードそのものの美しさなんかより文書や図と機械的に対応してるほうが重要だと思う
618 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:09:07.43 ] >>616 パフォーマンスなんて作ってからでいいだろ
619 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:12:37.75 ] (ノ∀`) アチャー
620 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:20:56.91 ] >>618 それはSI屋の発想な気がする。
621 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:21:14.06 ] え?
622 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:25:22.54 ] パフォーマンスなんて作ってからでいい (キリッ
623 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:34:08.56 ] >>619 =622 ? >>620 do you know "premature optimization is the root of all evil" ?
624 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:50:00.61 ] >>623 一年生かなんかだろ。そういう時期もあるさ
625 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:51:37.98 ] >>601 ↓ private void doWork(int stage) { boolean[][] flag_ = { { false, false, false, false }, { true, false, false, false }, { true, true, false, false }, { true, true, true, false }, { true, true, false, true } }; if (flag_[stage][0]) method_1(); if (flag_[stage][1]) method_2(); if (flag_[stage][2]) method_3(); if (flag_[stage][3]) method_4(); } ↓ >>594
626 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:53:54.24 ] >>624 無駄に速度に拘ってプログラム完成させられないやつって初心者〜中級者に多いよな
627 名前:デフォルトの名無しさん mailto:sage [2012/05/06(日) 23:55:44.05 ] ありがちだわな
628 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:00:49.77 ] パフォーマンス改善しました! →ほとんど誰も使わない機能でした パフォーマンス改善しました! →計画が変わってリリースされませんでした パフォーマンス改善しました! →「どの位速くなったの?」「さあ、わかりません」
629 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:01:48.02 ] パフォーマンス改善しました! →コードが汚すぎてメンテ出来ません
630 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:06:01.55 ] プログラミング言語 Java のコンセプトを考えれば分かる罠
631 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:12:22.11 ] 最初から最適化意識しなきゃならん状況ならC++つかうわな サーバーサイドだってサーブレットなんて使わずfcgi使うだろうし
632 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:17:35.13 ] 速度にこだわるならjava使うのやめましょう
633 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:19:33.84 ] Javaは充分速いだろ たしかに最速じゃないけど確実に上位だ。
634 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 00:27:31.79 ] 言語レベルの問題じゃなくて、ライブラリモデル(アルゴリズム)の問題なんだけどな C++と大体似たコード書いて、newとか動的確保を最小限に抑えれば、C++に近い速度は出る ただ、普通に使うとStringを始めライブラリがnewした領域に値をコピーするスタイルを取ってるもんで、 文字列やコンテナの一部をイテレーターで保持しとけばいいだけというケースでは大きく速度を引き離される 極力無駄なコピーを減らせばいいが、そんな事をすればJavaの標準ライブラリが逆に足かせになってしまう
635 名前:デフォルトの名無しさん [2012/05/07(月) 00:41:59.70 ] private <A, B, java.lang.String> void test(List<java.lang.String> l){ } なんでメソッドの定義でだけjava.lang.Stringって書けないんですか? 引数のList<java.lang.String>はエラーが出ません private <A, B, String extends java.lang.String> void test(List<String> l){ } とかしておけばいいんですか?
636 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 01:57:26.50 ] 型パラメータにクラス使われたらワケワカメだろ
637 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 04:36:35.47 ] ステートマシンの実装ならinvokeDynamic使うのもいいぜ
638 名前:デフォルトの名無しさん [2012/05/07(月) 15:45:18.41 ] Forte for Java ってどうなったんですか? フリーの統合開発環境でこれDLしなさいと言われたのですが、名称が変わったのでしょうか?
639 名前:638 [2012/05/07(月) 15:47:16.93 ] ちなみにWindows7 Enterprise 32ビット版です 他にお勧めなのとかあったら教えてください
640 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 15:55:30.44 ] 他にじゃなくてeclipse一択
641 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 17:27:13.20 ] >>638 ja.wikipedia.org/wiki/NetBeans#.E6.AD.B4.E5.8F.B2
642 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 17:37:30.95 ] Javaでエンジニアやってる派遣です。 某自動車メーカーに派遣切りされて生きていく希望がありません。 派遣会社からも全然新しい配属先を紹介していただけません。 どうすればいいでしょうか?
643 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 17:46:40.52 ] さあ おれに質問されてもなあ…
644 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 17:49:30.47 ] いたちがい
645 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 17:58:02.04 ] >>640 NetBeansもあるだろ。 ま、ここで質問する奴にはEclipseの方が向いてそうだからいいけど。
646 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:28:31.53 ] >>643 ,644 質問じゃなくて相談してるのです!スレタイに相談ってかいてあるじゃないですか!
647 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 18:28:55.41 ] >>640 >>641 ありがとうございました
648 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 19:23:55.74 ] ttp://sunjava.seesaa.net/category/3648259-1.html ここを参考に勉強中なのですが以下のようなエラーが出て行き詰っています。 自分なりにぐぐってみたりはしてるのですが解決策が見つからず困っています。 AccessのODBCドライバが32bitしかないようでしたので、odbcad32.exeからデータソースは登録されています。 どなたかご助言を頂けないでしょうか。 別スレで質問したのですがこちらのスレの方が適切だと思いましたので、改めて宜しくお願いします。 環境:Win7 64bit Java SE6 エラー内容:[Microsoft][ODBC Driver Manager] 指定された DSNには、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています
649 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 19:54:23.55 ] ウインドーズ環境なのでマイクロソフトの有料サポートに電話をすれば解決します。
650 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 20:20:59.41 ] 口周りは青くて顎鬚は濃かったよ
651 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 20:29:46.67 ] Windows2000のマシンにJava runtimeを入れたいのですが、Version 6 Update 32 は サポート対象から外れたのか、インストールに失敗してしまいます。 Version6 の最初の方のUpdateはインストール出来たと思うのですが、Windows2000を サポートしている最後のJava runtimeのUpdateは何でしょうか?
652 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 20:49:19.61 ] Windows 2000マシンは結局ウインドーズ環境ですよね? マイクロソフトのジャバ部門に電話して有料サポートを受けましたか?
653 名前:デフォルトの名無しさん [2012/05/07(月) 21:26:13.26 ] >>651 javaSE6リリースノート-サポート対象のシステム構成[java.sun.com/javase/ja/6/webnotes/install/system-configurations.html] を見ると、Windows2000SP3とSP4でサポート対象になってるみたいですよ。
654 名前:デフォルトの名無しさん [2012/05/07(月) 21:47:23.98 ] >>651 ここから前のバージョンへ遡って実際にいれて試したらどうですか? www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html
655 名前:デフォルトの名無しさん [2012/05/07(月) 23:49:02.49 ] 初心者ですが、失礼します。 データベースからデータ読み込むためにSQL文で select*from テーブル名 where 主キーの列名 ? and ?; として、バインド変数の?の部分には主キーの最初の行の値と最後の値を 入れて、すべての行を順に取り出すことは可能ですか? 可能だとしたら、どのように?の値を設定すればよいのでしょうか? 最初の行と最後の行が特定できる状況で、その値をそのまま指定するのはなしで お願いします。
656 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 23:51:50.90 ] select * from テーブル名 where 主キー between ? and ? order by 主キー こんな感じ?
657 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 23:52:28.73 ] PreparedStatementでググれ 最近これ使ってるの見ないけど
658 名前:デフォルトの名無しさん mailto:sage [2012/05/07(月) 23:58:20.06 ] テーブル内のすべての行を条件無しで取りたいっていう意味なら select * from テーブル名 だけでおk
659 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 00:04:07.71 ] 質問嫁
660 名前:デフォルトの名無しさん [2012/05/08(火) 00:07:18.24 ] >>658 select*fromテーブル名 だと、一気にすべての行が取り出されるということはないでしょうか? 1行ずつ取り出すたびに処理を行ってから次の行という感じで回したいのですが・・・。 条件を指定する例や挿入の例はググると多いのですが、無条件の例が見当たりません。 最初の行と最後の行の値を(変数のような方法?で)指定できないでしょうか?
661 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 00:13:00.57 ] whereで全範囲を指定しても同じだぞ だって意味的に同じだし
662 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 01:02:08.13 ] どんなググり方したのかお兄さんに教えてごらん
663 名前:デフォルトの名無しさん [2012/05/08(火) 01:21:37.45 ] なるほど。 言われてみれば意味的には同じですね…。 手元にデータないんで明日試してみます! >>662 バインド変数 条件値 パラメータ 値の設定 PreparedStatement.set などでググってたんですけど力及ばずでした。
664 名前:デフォルトの名無しさん [2012/05/08(火) 10:57:26.80 ] GoogleによるJava著作権侵害裁判、ほぼOracleの勝ちが確定、崖っぷちAndroid、どうするコマンド? engawa.2ch.net/test/read.cgi/poverty/1336439613/
665 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 11:18:31.35 ] グーグルが関わって作ったサービス(グーグルアプリ)って結構終了しちゃったよね。 ワールドワイドで優秀なプログラマー集めていた割には、三年以上持ちこたえてるサービスってグーグルマップかユーチューブとか買収したのだけになっちゃったね。
666 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 11:21:43.94 ] j++(だったか?)が駄目ならandroidも当然駄目でしょ
667 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 11:47:41.06 ] いろいろな意味でグーグルはそのうちフェイスブックに買収されるんじゃないのかなぁ。 せっかく手に入れたのにモトローラーどうするんだろう・・・
668 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:13:04.82 ] Dalvik仮想マシン(VM)も Java も改変しちゃったらアウトだろw
669 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 12:23:26.90 ] >>664 そのすれ、ソニー(psp, ps vita, ps3(mono))のステマがいるみたいだけど、最近のソニーの開発部門はc# monoのマーケチングに力入れることにしたの?
670 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 16:05:09.80 ] ちゃんと金払ってJVM版のAndroid作ればいいんじゃね。 Googleにその金があるか分からんけど
671 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 16:19:41.76 ] document.write('<param name="movie" value="index.swf' + n + '" />'); きれいなスライドショーサイトのソースを見たらこうなってたんですが index.swf' + n + '" 'ってどういう意味ですか
672 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 17:01:31.32 ] WindowsでSwingでマウスを使ったゲームを作りたいのですが、 マウスカーソルを指定位置に移動させるにはどうすればいいでしょうか?
673 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 17:15:51.48 ] java.awt.Robotクラスを調べろ
674 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 17:17:19.50 ] >>671 それjavascript しかも、nはソース書いた奴に聞け。
675 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 18:28:10.63 ] そうですか ありがとうございます
676 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 19:01:03.17 ] >>669 vita以降の開発環境がmonoで対応プラットフォームがvitaとPlayStation Suiteだから営業が頑張ってるんだよ。 PSSはせっかくdalvik捨てたのにH/W制限して遅いしAPIもUIもAndroidと大差ないよ。 mono自体HotSpot比べられるもんじゃないし。あとマルチバイト文字通らない。 vitaの市販ゲームはC#ネイティブだから別の話だけど。
677 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 19:13:25.05 ] ていうかAIPが問題なんじゃなくてVMに互換性がないことが問題なのになんでoracleはそこ主張しないんだ。
678 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 19:18:30.08 ] 使用料をケチるより、もっとあくどいコト考えてそうだな > Google
679 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 19:35:33.91 ] >>678 そのすれにポツンと書いてあるからもう知ってる人多いんじゃないの?
680 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 19:47:43.94 ] >>679 kwsk
681 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 19:51:24.26 ] >>677 APIに著作権があるかとかのこと? というかそれ、知らない人向けのIT,WEB技術系向けのネタだし、もっと騒いでもらって新聞やテレビなど一般人向けでもっともっと取り上げられて 「オラクル」「ジャバ」の商標とか(クライアント・グーイ向け)プラットフォームを一般人に広く公知できれば十分○○のもとがとれる。
682 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 20:05:35.36 ] >>680 Google 「API は著作権保護対象ではない」 ↓ 「Google製の Java互換言語!」 と主張できて、Google(゚д゚)ウマー!!
683 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 20:13:37.31 ] J++ってのは、++がさらに増えてJ#に進化して今じゃ.NETの一つなんですよね?
684 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 20:28:24.53 ] >>681 oracle:APIはプロプラエタリでsunから買ったからgoogleが侵害してる。 google:javaの商標や権利は買い取ったけどAPI買ったわけじゃないだろ。 googleの証人sunの元CEO:javaはオープンソースだからAPIはプロプラエタリじゃない。GPLコードだ。 oracle:TimSort.javaの配列の範囲チェックする9行が一致してる。特許侵害だ。 Timsort書いた人:PythonのTimSort移植してOpenJDKに寄与した後にandroidに関わったから範囲チェックも似てるかもしれない oracle:ほら認めたぞ。金払え。 googleの弁護士:特許侵害だとするAPI作ったのはJCPだけどJCPはどこにも対価要求してないよね? 8週間かけてこういう事やってる。
685 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 20:36:43.83 ] >>683 J++が進化したのはC# J#は独自拡張の多いJ++とは全く違って.NET上にほぼ純粋なJavaを実装したもの
686 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 21:24:43.62 ] >>684 DOCOMO(テレホン大手), SONY(コンテンツ大手), IBM(インテグレート大手)などは、サン(元オラクル)にジャバのライセンスを支払ってるけど、グーグル(広告大手)は支払ってないでしょ。それについて両者は何ていってるの?
687 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 21:37:44.30 ] >>684 APIを実装したライブラリなら著作権が働くのは解るが、 API自体に著作権って効果あったのか? Wineとか、GPLによるAPI実装がマズくならね?
688 名前:デフォルトの名無しさん [2012/05/08(火) 22:43:58.27 ] >>655 「すべての行を順に取り出すこと」をしたいなら ttp://idocsq.net/page/428 とか?
689 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:45:46.06 ] >>686 元々javaの商標を商用利用して実行環境提供する時に商標使う金と互換テスト用のTCK使用料があって、 商業として実行環境に対しjavaの名とコーヒカップとDuke使うのに金払う必要があったんであってjavaの実装と Dukeはオープン化したから実装使うことに問題はないしsunは有料サポートと組み込みに載せることで収益化してたから Sunがjava持ってた頃は何も言わなかった。 そもそもandroid自体harmonyベースだしdalvik VMは仕様も実装も自前でコードはApacheとGPLでカーネルはlinuxだから問題ないんだけど、 goslingが言語はjavaでもTCK通ってないから実行環境に互換性がなくてSEもMEも動かないことに怒ってたくらい。 これがoracleはライセンス料をスルーする手段だと主張したけど、googleは自分たちがjavaを持つ手段を模索してandroid買収したから ライセンス云々のためじゃない。(gPhoneにjava載せるためにクリーン実装してライセンス料払うか考えたけど丁度androidがあった) oracleはJavaFX phoneがコケたから特許を主張して金取ろうとしてるだけだと平行線。(当時はNokiaがトップでnokia端末にFX載せてた) だからgoogleがフェアユースかどうかがまだ決まってない。 それに加えてoracleはjavaを買い取った時に全てを買い取ったからAPIも含まれて、それは特許に守られてるから金払えと主張してる。 それに対してAPIはoracleが持ってる特許に含まれないとgoogleが主張して平行線。 今の論点はオープンソースコードがプロプラエタリで独占的で特許も発生するか揉めてるところ。 そこでドキュメンテーションにコピーライトが書いてあるからAPIも特許に含まれると主張してるのがoracleなんだけど、 仕様と実装を挿げ替えてるわけだから論点が噛み合ってないまま持ち越し。 >>687 んでこれを踏まえてAPIは特許で守られてるのか陪審員が決めかねてるからそれをこれから決める。 要するにOSI認証ライセンスが特許で覆されるかどうかの争いになってるからいま騒ぎになってる。 javaのAPI使って実装されてるJVM言語が全部ダメにからそっち界外じゃ脅威だよ。OpenJDKのクラスパス例外も根本から破堤する。 googleが負けたらOSI認証ライセンスが役に立たなくなるからWineとか訴えられて全部ダメになる可能性もあってそっち方面も騒いでるよ。
690 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:49:41.02 ] 改行ヘタ杉
691 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 22:56:11.48 ] javaが本当に出始めたときに心配したことが、まさに今問題になってるってことか。
692 名前:195 mailto:sage [2012/05/08(火) 23:06:06.64 ] >>207 ありがとうございます。! staticブロックは目からうろこでした。
693 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:12:15.82 ] いえいえ
694 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:14:23.02 ] >>673 ありがとうございます。 FPSみたいなもの作っているのですが、もしかしてJavaには無いんじゃないかとヒヤヒヤしてました。
695 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:34:51.71 ] >>689 著作権と特許権は別物ですよ。 とくに創作・著作物についての権利と侵害のクレームのための権原は、特許権と違ってどこかに申請してレジストするようなものではありません。 長文をグダグダ書いてみても、法律をしっかりと勉強したこともない一般人と同じくあなた自身もよく分かってないようなので、このネタを追いかけるとしてもこれ以上の議論に踏み込むのはあなたの知的レベルじゃちょっと難しいんじゃないですかね。
696 名前:デフォルトの名無しさん mailto:sage [2012/05/08(火) 23:38:50.86 ] この一連の訴訟と APIは特許じゃないのが業界の共通認識 って話がどう関わってるか今ひとつわからん。 そんなんをOracleが訴えても負けるの明らかだろうから 本質はもっと別のところにあるんだよね?
697 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 00:03:35.94 ] グダグダそのまま行くとグーグル弁護団の術中にまんまとはまっちゃうと思いますよ。
698 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 00:55:37.49 ] >>696 著作権侵害の方は一部認められたけど特許侵害が認められなくて応戦してるってのもあるんじゃないの? API仕様が技術盗用と言ってるから特許ってことにしたいんだろうし7件特許侵害で攻めるところを2件で攻めることになったし。 その共通認識に関わる裁判で著作権で喧嘩売ったことはあっても特許で喧嘩売ったことはなかったからネタにされてるのもあると思う。
699 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 08:17:37.44 ] GoogleとOracleがいつまでも喧嘩していると、 Java以外の陣営に塩送っているようなもんだと思うけど… どっちも協力しようなんて気はないんだろうな。
700 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 08:38:50.92 ] >>699 Oracleも十分儲かってるのに、ちょいとがめつい感じするな。
701 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 11:24:42.11 ] >>693 またお前か
702 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 11:39:54.78 ] PC等 [プログラム] 【License】ライセンス総合【利用許諾】 toro.2ch.net/test/read.cgi/tech/1266247461/
703 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 21:02:38.73 ] 質問。packageは、開いているか閉じているか? どっちよ? ・開いている・・・既存のpackageにいくらでもclassやらinterfaceを追加してよい ・閉じている・・・一度リリースしたpackageには何も追加してはいけない どっちでとらえるかによってpackageスコープの意味が変わるよねぇ。
704 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 21:05:13.31 ] 誤解を招きそうなので訂正 ・開いている・・・既存のpackageにいくらでもclassやらinterfaceを追加してよい ・閉じている・・・既存のpackageには何も追加してはいけない
705 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 22:09:30.86 ] packageにクラス追加していいか否か決めるのはJARファイル提供者でなかったっけ。 確かMANIFESTファイルで指定する。 それとは別の倫理的な面で、package利用のライセンスの確認は必要。
706 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 22:17:22.94 ] 「既存のpackage」 って言ってるのに・・・
707 名前:デフォルトの名無しさん mailto:sage [2012/05/09(水) 23:54:49.64 ] 既存パッケージのJARファイルのManifestにシールが張ってなければ、 既存のパッケージの名前空間にあとからユニットテストクラスとか追加し放題だったような
708 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 00:37:06.77 ] 最近勉強始めて、やさしいJava3版が中古で売ってたんで買おうと思うんですが、あんまり古い教材だとよろしくないですか?
709 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 01:03:24.38 ] 入門書なら古い新しいはどうでもいいだろ 知識がつけばググって最新版の機能を補完できるようになる それより、入門書としてまともかどうかが大事 最新でも嘘だらけのクソ本じゃ意味ない むしろJavaが無名だった頃の方がしっかりしてる事もある 当時のパイオニアが書いてるからな
710 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 01:13:29.18 ] >>707 シール機能があること初めて知った。 なるほどね。逆を言えば、シールしてなければ追加しても構わない という意思表示もできるわけか。(シール使ってる人ほとんど居なそうだけど) 社内で複数jar作る場合とか、分散可能なパッケージか 分散しちゃいけないパッケージかって管理できるわけだ。
711 名前:デフォルトの名無しさん [2012/05/10(木) 01:25:29.57 ] >>709 ありがとうございます!
712 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 07:30:44.63 ] >>710 泥棒に入られたくないために鍵があるのか、 なら鍵がかかっていなければ泥棒されてもいいって意思表示なんだな。 飛躍してね?
713 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 07:59:16.63 ] native2asciiの質問なんですが、あれってサロゲート領域の文字に対して何か 気をつけることってありましたっけ? 中国のU+21300の文字をUTF-8で埋め込んでnative2asciiすると\ud844\udf00と処理 されて、サロゲートに変換しているようなんですが これにnative2ascii -reverseをすると、そのまま\ud844\udf00が返ってきてしまいます。
714 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 08:01:32.29 ] そもそも、自分のパッケージじゃないのに追加する意味がわからん。
715 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 11:43:41.13 ] ウェブサイトに掲載されているプログラムで解らないことがあるのですが、ここで質問してもいいですか?
716 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 11:44:50.22 ] まかせろ
717 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 13:32:05.40 ] 簡単なことなら誰かが答えてくれる 難しいことはスルーされる
718 名前:715 [2012/05/10(木) 14:27:58.12 ] class Kanzen { public static void main(String args[]) { int n; for(n=2; n<1000; n++) if (Test(n)) ・・・@ System.out.println("完全数 : " + n); } static boolean Test(int n)・・・A { int i,k; for(k=0,i=n/2; i>0; i--) if (n%i==0) k+= i; if (n==k) return true;・・・B return false; ・・・C //else return false; } } プログラム超初心者です。 2〜1000までの完全数を計算するプログラムで 計算内容は理解できるのですが、プログラムの構造と流れが理解できません。 @〜Cがどういった役割をするのかと処理の流れを教えてください。
719 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 14:39:31.93 ] 関数とかメソッドでググれ どうでもいいけどC脳すぎるだろあんまり当てにしないほうがいいぞそれ Cにしたってkをforの中で初期化する意味がわからん
720 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:02:15.09 ] s=0; for(k=0; k<10; ++k) s+=k+1; assert s==55; 最新のjdk(java7)の言語機能や提供ライブラリを使っても、1から10までの和(有限個数のsum)はこの古典的なfor loopの方法しかないのでしょうか?
721 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:11:52.73 ] 小学校か中学校、 最悪でも高校では数列の和について何か習うんじゃね?
722 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:16:34.63 ] 完全数ってなんだ?
723 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:31:56.52 ] 公式が使えるならわざわざプログラムなんかしません。 本当は内積(級数)や加算集合、外部イテレーションの論点なんですけど簡単に書きすぎたので逆に何の分からないですね。 本当はfuncの定義は任意で、例えば簡単にx+1とすると1..10の和と同等ですが。 func=(int x)->x+1; s=0; for (k=0; k<10; ++k) s+=func(k); assert s==55; 最新のjdk(java7)の言語機能や提供ライブラリを使っても、1から10までの和(有限個数のsum)はこの古典的なfor loopの方法しかないのでしょうか?
724 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:36:32.97 ] >自然数nの約数の和S(n)が2nとなるとき、nは完全数であるといわれる。たとえば、6や28は完全数である。なぜなら > > 2・6=1+2+3+6 > > 2・28=1+2+4+7+14+28 > >だからである。S(n)が2nより大きいときは過剰数、S(n)がnより小さいときは不足数とよばれる。
725 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:38:22.12 ] >>723 "珠玉のプログラミング"と言う本の最初のエピソードを読め。
726 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 15:47:30.17 ] Programming Pearls, Second Edition by Jon Bentley. Addison-Wesley, Inc., 2000. [new] What's new on this web site? From The Book Table of Contents Preface Part I: Preliminaries Column 1: Cracking the Oyster Column 2: Aha! Algorithms [Sketch] Column 4: Writing Correct Programs [Sketch] Column 5: A Small Matter of Programming [Sketch] Part II: Performance Column 7: The Back of the Envelope Column 8: Algorithm Design Techniques [Sketch] Part III: The Product Column 14: Heaps [Sketch] Column 15: Strings of Pearls Epilog to the First Edition Epilog to the Second Edition Appendix 2: An Estimation Quiz Appendix 3: Cost Models for Time and Space Appendix 4: Rules for Code Tuning Solutions for Column 1 Column 5 Column 7 Column 15 Index
727 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 18:54:37.05 ] 日本でアルゴの第一人者(著名人)の一人言えば奥村先生だから、奥村先生あたりがこういうたぐいのムック本やアルゴ・チップス記事や連載コラムを執筆してくると、日本語のままで安心して知識を吸収できるんだけどな。 読者が現場やプロレベルだと、新聞・雑誌コラム感覚で書いてみても数学の月刊誌とちがってわざわざ毎月お金だしてまで情報を得ようと思わないから、広告付きブログとか、書籍・ムック本しかないんじゃないかな。 著名カリスマな「フォトショップ達人が伝授する○○」のテクニック本みたいなのとおなじ。 それよりも、奥村先生のJavaによるアルゴは本がボロボロになるほど読んだので、次というか続編はJavaによるパラレルアルゴの現代的計算方法とトポロジーやグラフ・多重化など比較的新しいデータ紹介や海外論文手法(辞典)をそろそろ読んでみたいなあなんて思います。
728 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 19:22:37.61 ] >>722 奥村先生。2chで宣伝してないで仕事してください
729 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 22:30:19.97 ] >>712 他人のパッケージに追加って話じゃなくて、 俺のシールしてないパッケージは拡張していいよって 自分で拡張許可を示すのに使えるって言ってるの >>714 赤の他人じゃなくて、社内とか自分一人とかの範囲の話。 配布するとき、自分が持ってるライブラリをフルセットで 配布する理由じゃなく、必要な分だけ小分けして配布するじゃん。 その時、jar毎にパッケージが閉じてたら、同じパッケージにあるべき クラスやインターフェースを別のパッケージに置かなきゃいけないでしょ。 例えば、Model用のパッケージを用意するとして、 com.example.x.model、com.example.y.modelとjar毎に分けるより Modelは全部com.example.modelの下に配置した方が パッケージスコープも生かせるし便利でしょ。
730 名前:デフォルトの名無しさん mailto:sage [2012/05/10(木) 22:50:31.23 ] >>718 わかりづらいのは括弧を使わない書き方だからなのかと思って、冗長かもしれないけど中括弧と適宜追加した。 計算内容は理解できるってことだからコメントもいらなさそうだけど書いといた。 入門編がクリア出来ればいつの間にかサクサクできるようになってるさ。 ttp://ideone.com/9O3pd
731 名前:デフォルトの名無しさん [2012/05/11(金) 00:02:48.36 ] >>730 質問者ではないのですがhttp://ideone.com/9O3pdを見させてもらいました。 なるほどと思いました。 初心者にも優しい方がいて嬉しいです。
732 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 00:24:10.34 ] >>730 マイクロソフトでびんぐれば誰でも六十秒以内に答えにたどりつけるので、あなた自身がコーディングやアップロードなどそういうどうでもいいことに六十秒以上の時間を掛けることは親切というよりもむしろ余計なお世話だと思いますよ。
733 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 12:22:11.36 ] 2chコピペブログ管理人が集まるスレ26 toro.2ch.net/test/read.cgi/blog/1329800848/
734 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 13:55:58.00 ] PatternとMatcherの動作についてわからないことがあるので質問させてください public static void main(String[] args) { Pattern pattern = Pattern.compile("^・"); Matcher matcher; matcher = pattern.matcher("・あ"); boolean m = matcher.matches(); System.out.println(m); } これでfalseが出力されるのは何故なんでしょうか?
735 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 13:58:00.22 ] 自己解決しました
736 名前:デフォルトの名無しさん [2012/05/11(金) 13:59:27.58 ] 素直に思いやりの心を尊しと思う
737 名前:デフォルトの名無しさん mailto:sage [2012/05/11(金) 14:43:58.53 ] 素直に馬鹿だと思う