★★Java質問・相談スレッド153★★
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2012/04/15(日) 06:27:39.32JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://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★★
http://toro.2ch.net/test/read.cgi/tech/1329715551/
0002デフォルトの名無しさん
2012/04/15(日) 06:29:05.19■ AWT と Swing は --
Java低速GUI Swing & JavaFX 10
http://toro.2ch.net/test/read.cgi/tech/1316592884/
■ SWT は --
Java 高速GUI SWT 3
http://hibari.2ch.net/test/read.cgi/tech/1164877399/
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part22
http://hibari.2ch.net/test/read.cgi/tech/1295766416/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
http://hibari.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
Androidプログラミング質問スレ Part20
http://toro.2ch.net/test/read.cgi/tech/1332229701/
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 71 ★★
http://hibari.2ch.net/test/read.cgi/tech/1309076891/
■ NetBeansに関する雑談は --
NetBeans Part6
http://hibari.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://toro.2ch.net/test/read.cgi/tech/1320318310/
**** 開発環境、実行環境は ****
■ Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html
0003デフォルトの名無しさん
2012/04/15(日) 21:25:43.42乙です
Javaにおけるジェネリックスのメリットって、コンパイル時やIDE上でエラーチェックができることぐらいですか?
型推論のある言語だとそこから更に効果あるらしいんですけど・・・
MapとかListにジェネリックスを使うと見た目がかなりゴチャゴチャするので、
そのぐらいのメリットしかないなら、使いたくないんですが
0004デフォルトの名無しさん
2012/04/15(日) 21:34:36.660005デフォルトの名無しさん
2012/04/15(日) 22:27:24.72コンパイル時型検査の型宣言でゴチャゴチャしたいかの二択だな。
0006デフォルトの名無しさん
2012/04/16(月) 01:18:25.90ライブラリ書く奴が苦労するか
ライブラリ使う奴が苦労するか
の違いだ
プロならどちらを選ぶかは自明
0007デフォルトの名無しさん
2012/04/16(月) 10:00:27.13具体的に何ですか?
0008デフォルトの名無しさん
2012/04/16(月) 13:46:01.500009デフォルトの名無しさん
2012/04/16(月) 13:51:56.15The Java Programming Language
0010質問です
2012/04/16(月) 14:07:55.80EventQueue.invokeLater() 使って EDT(Event Dispatch Thread) 側でやれって事のようですが、
java.awt.Frame の場合もそうするべきなのでしょうか?
ザックリとググッてみたのですが Swingネタばかりで…
一応、main() で古典的なべた書きパターンで作ってみて問題は今の所発生はしてないのですが。
エロい人、よろしくお願い致します。
0011デフォルトの名無しさん
2012/04/16(月) 19:15:58.450012デフォルトの名無しさん
2012/04/16(月) 19:29:50.06バージョンの組み合わせは、どんなのがベストでしょうか?
0013デフォルトの名無しさん
2012/04/16(月) 20:19:55.98配列のlengthフィールドへのリンクを書きたいんだけど、どうすればいいですか?
0014デフォルトの名無しさん
2012/04/16(月) 20:34:31.07自分用・勉強用なら、Java7 + Eclipse 3.7.2(だっけ? Java7対応のやつ)。
ダイアモンド演算子とリソース解放付きtryがすさまじく便利。
業務用ならJava5じゃね?
業務用だと、いまだにJava1.4が主流だと聞いたけど、
1.4はジェネリクスがないから、コレクションがまともに使えなくて、
誰かがコレクション捨てて配列使って書き始めて、全体的にぐだぐだになる。
Java5でジェネリクス使って、生の配列を使わないように書くとすごく楽。
……と俺は思ってるんだけど、他の人の意見も聞きたい。
0015デフォルトの名無しさん
2012/04/16(月) 21:14:51.33{@link http://docs.oracle.com/javase/specs/jls/se5.0/html/arrays.html#10.7} あたりかねぇ?
0016デフォルトの名無しさん
2012/04/16(月) 21:18:14.40{@link}ってそーゆー使い方できたっけか?
0017デフォルトの名無しさん
2012/04/16(月) 21:23:12.21無理だったか。じゃ無理だわな。
それでも諦めないならHTML直書きするか、カスタムタグ定義してリンクに変換するか。
0018デフォルトの名無しさん
2012/04/16(月) 21:44:18.92ありがとう。
素直に書くことはできないっぽいですね。
お手数おかけしましたが、「配列長がxxのとき――」とベタ書きの文章で書くことにします。
というか、自分でも調べてたんだけど、
配列#length フィールドのJavadoc、というか定義文自体が存在しない?
そもそも 配列#length ってフィールドじゃないのか…?
0019デフォルトの名無しさん
2012/04/16(月) 22:11:19.22言語仕様には記述されてる。
あと言語仕様的にはフィールドだけど、
java.lang.reflect.Field で取ってこれない特別なフィールド。
0020デフォルトの名無しさん
2012/04/16(月) 22:44:49.39あー。「API」じゃないのか、言語仕様なのか…。
配列が特別扱いなせいで、色々なところで「配列用の特別なコード」が書かれてるんだよなぁ。
ジェネリックとも親和しないしなぁ…。
うまくAPIに織り込めなかったのかね。
それか、Javascriptみたいに「世界はすべて(連想)配列だ!」くらい割り切ってくれてたらなあ…。
0021>>10
2012/04/16(月) 23:05:22.56レスありがとうございます。
そうですね、結局の所、別スレッドと強調するのは必然でしょうしね…
0022デフォルトの名無しさん
2012/04/16(月) 23:34:02.78ライセンスの質問などはどこのスレッドでさせてもらえますか?
0023デフォルトの名無しさん
2012/04/16(月) 23:40:35.49ここじゃね
002412
2012/04/16(月) 23:47:07.19とりあえず、書籍の付録CDにあった Java5(TIGER) & Eclipse3.1.1
で、開発環境を作ってみます。
0025デフォルトの名無しさん
2012/04/17(火) 00:27:46.220026デフォルトの名無しさん
2012/04/17(火) 01:29:31.75アップデートによって、自分で入れ替えればいい。
0027デフォルトの名無しさん
2012/04/17(火) 08:12:44.65プログラミング経験はCをかじった程度
0028デフォルトの名無しさん
2012/04/17(火) 08:31:42.55どれを読んでもハズレ。
0029デフォルトの名無しさん
2012/04/17(火) 10:25:15.10ありがとうございます
0030デフォルトの名無しさん
2012/04/17(火) 13:36:08.300031デフォルトの名無しさん
2012/04/17(火) 14:34:08.470032デフォルトの名無しさん
2012/04/17(火) 17:41:49.860033デフォルトの名無しさん
2012/04/17(火) 17:58:55.74外部からなら jconsole みたいなモニタリングツール使えば。
0034デフォルトの名無しさん
2012/04/17(火) 20:17:40.30MVC構築に使える無料のライブラリ
を探して見つけたのですが、オススメ
とかやめとけとか、皆さんの評価を
聞かせてください。
0035デフォルトの名無しさん
2012/04/17(火) 20:21:09.38thx
今日入門書買ってきた
がんばるよ
0036デフォルトの名無しさん
2012/04/17(火) 23:01:13.74http://www.amazon.co.jp/dp/4798117153
独習はおすすめしない。
0038デフォルトの名無しさん
2012/04/17(火) 23:34:08.680039デフォルトの名無しさん
2012/04/17(火) 23:35:55.13持ってるけど入門編でしょそれ
背伸びして叩かれるのもときにはいいものだ。
で、独習のどこがいいの?読んだの?
0041デフォルトの名無しさん
2012/04/17(火) 23:41:39.610042デフォルトの名無しさん
2012/04/18(水) 13:03:48.44EOF過ぎたバージョンを業務で使うキチガイは流石にいないぞw
0043デフォルトの名無しさん
2012/04/18(水) 13:04:10.210044デフォルトの名無しさん
2012/04/18(水) 13:07:17.400045デフォルトの名無しさん
2012/04/18(水) 13:11:02.260046デフォルトの名無しさん
2012/04/18(水) 16:14:25.48ありがとうございます。
外部からCtrl-Breakでスレッドダンプを出せとよしゃっと思いましたが、メモリは出ていないですね…
残念
0047デフォルトの名無しさん
2012/04/19(木) 15:48:29.23マルチプラットフォームだから、ウィンドウズのレジストリは論外としても、環境変数も必ず共通で使えるわけじゃないですよね。
OSや環境に応じていちいち別処理にするんでしょうか? 結局環境依存のプログラムになるような。
0048デフォルトの名無しさん
2012/04/19(木) 16:00:51.85System.getProperty("user.home") に .aplicationName みたいな設定ファイル作ってもいいし。
0049デフォルトの名無しさん
2012/04/19(木) 16:05:57.55は初耳ですね。どこかに出典はあるんですか?
0051デフォルトの名無しさん
2012/04/19(木) 16:28:48.94*nixアプリの伝統的な設定保存方法の一つ。
.emacs とか .vi とか見たことあるでしょ。
*nixでjava.util.prefs.Preferences使うと、その方法使うんじゃなかったか?
0052デフォルトの名無しさん
2012/04/19(木) 16:55:59.350053デフォルトの名無しさん
2012/04/19(木) 17:03:18.920054デフォルトの名無しさん
2012/04/19(木) 17:07:50.090055デフォルトの名無しさん
2012/04/19(木) 17:32:56.34~/Library/Application Support/
とかが一般的だったりする。
窓付きアプリはあまり~/直下にもの置かないような気がするな
0056デフォルトの名無しさん
2012/04/19(木) 17:47:10.32jeditなんかも同じだな。
macではどうなるか知らんけど。
0057デフォルトの名無しさん
2012/04/19(木) 17:54:52.64さらにx起動しないときの(tty)コンソールがbash --helpの時でも日本語表示できないので、vi,emacsを極める理由もありません。
0058デフォルトの名無しさん
2012/04/19(木) 18:05:00.650059デフォルトの名無しさん
2012/04/19(木) 18:20:32.87prefsなら別ですが、home.userに置くような設定ファイルはテキストじゃなくてバイナリーと考えた方がいいんじゃないですかね。
0060デフォルトの名無しさん
2012/04/19(木) 18:50:48.430061デフォルトの名無しさん
2012/04/19(木) 18:56:02.26ISO2022JPならなんとかならん?
複数のファイルであっても複数の文字コード混在させないだろ、普通。
設定ファイルなんてユーザには直に弄らせないんだから統一するの楽だし。
0062デフォルトの名無しさん
2012/04/19(木) 18:59:10.420063デフォルトの名無しさん
2012/04/19(木) 20:18:30.090064デフォルトの名無しさん
2012/04/19(木) 20:22:13.26javaをはじめるにあたって本か何かで身に着けたいと思います。
おすすめの本ありますか?
0065デフォルトの名無しさん
2012/04/19(木) 20:28:39.15http://toro.2ch.net/test/read.cgi/tech/1332822023/
0066デフォルトの名無しさん
2012/04/19(木) 20:34:12.52すみません そちらにいきます
0067デフォルトの名無しさん
2012/04/19(木) 21:12:31.120068デフォルトの名無しさん
2012/04/19(木) 21:18:04.33http://toro.2ch.net/test/read.cgi/tech/1320318310/
0069デフォルトの名無しさん
2012/04/19(木) 21:22:32.220070デフォルトの名無しさん
2012/04/19(木) 21:25:06.060071デフォルトの名無しさん
2012/04/19(木) 21:33:08.20切り替え方式でも8859_1との混在は無理だろ
0072デフォルトの名無しさん
2012/04/19(木) 21:40:57.740073デフォルトの名無しさん
2012/04/19(木) 22:43:01.360074デフォルトの名無しさん
2012/04/19(木) 23:29:37.840075デフォルトの名無しさん
2012/04/19(木) 23:52:50.180076デフォルトの名無しさん
2012/04/20(金) 01:53:37.94コントロールパネルでJava(TM) 6 Update29をアンインストールしたところ
何故かJava(TM) 6 Update20 のアンインストールが始まった挙句
「この Windows インストーラ パッケージに問題があります」と出て行き詰ってしまいます
どなたか解決法を教えて頂けないでしょうか?
0077デフォルトの名無しさん
2012/04/20(金) 02:52:28.27上書きインストールして
アンインストールする
0078デフォルトの名無しさん
2012/04/20(金) 07:12:39.57気のせいかMicrosoftInstaller(MSI)やInstallShieldのトラブルを目にするな最近。
検証不足のセキュリティソフトがなにかやらかしたのか
0079デフォルトの名無しさん
2012/04/20(金) 09:41:05.640080デフォルトの名無しさん
2012/04/20(金) 11:20:43.410081デフォルトの名無しさん
2012/04/20(金) 14:53:45.950082デフォルトの名無しさん
2012/04/20(金) 21:26:25.250083デフォルトの名無しさん
2012/04/20(金) 21:41:07.700084デフォルトの名無しさん
2012/04/20(金) 22:09:03.09C#というよりVB#って感じだけど。
0085デフォルトの名無しさん
2012/04/20(金) 22:56:52.730086デフォルトの名無しさん
2012/04/20(金) 23:00:14.300087デフォルトの名無しさん
2012/04/20(金) 23:03:12.850088デフォルトの名無しさん
2012/04/20(金) 23:04:58.750089デフォルトの名無しさん
2012/04/20(金) 23:43:39.01普段ならnullかどうかで分ける事を考える様な場所で、charを返すメソッドを使用して場合わけをしようと考えています。
そこで、charは0以上しか取らないことがわかったので、0を返したときに別の動きをするようにしようと考えた時に疑問がわきました。
普通のcharに0を代入するとどのような文字に対応しているのでしょうか?
char c = (char)0
if(c == ' ') { System..out.println("aa")}
System..out.println(String.valueof(c))
としても何も表示されず悩んでいます。教えていただけないでしょうか?
0090デフォルトの名無しさん
2012/04/20(金) 23:51:47.700091デフォルトの名無しさん
2012/04/21(土) 00:00:07.070092デフォルトの名無しさん
2012/04/21(土) 05:59:14.730093デフォルトの名無しさん
2012/04/21(土) 11:08:40.72>>90の言うとおり0はNULL文字で、改行コードやTabと同じ制御文字。
制御文字だから見えないし、エスケープシーケンス無しには書けない。
場合分けには、charの65535が不正な文字コードだから、これ使えば?
0094デフォルトの名無しさん
2012/04/21(土) 12:06:53.36> 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);
とかした方が。
0095デフォルトの名無しさん
2012/04/21(土) 12:25:34.75これって意図的なの?
0097デフォルトの名無しさん
2012/04/21(土) 14:06:13.290098デフォルトの名無しさん
2012/04/21(土) 15:08:16.80プログラミングはcを少しかじったくらい。
0099デフォルトの名無しさん
2012/04/21(土) 15:43:49.970100デフォルトの名無しさん
2012/04/21(土) 20:34:03.44としか書いてないのに馬鹿は日本語も読めないのか
0101デフォルトの名無しさん
2012/04/21(土) 20:39:15.69かじったとか言う方が悪い
0102デフォルトの名無しさん
2012/04/21(土) 21:06:45.55Cをかじった程度ってことは、とりあえず文法や構造体、ポインタの扱い方は理解してて
ソースファイルの分割も出来るってことだろ
その程度も出来ないんだったら「まったくわかりません」って書いてくれないと
0103デフォルトの名無しさん
2012/04/21(土) 21:27:37.12禿同
0104デフォルトの名無しさん
2012/04/21(土) 21:31:43.47配列が使えたり単純なソートができたり程度という感覚かな。
ちなみにお前ら的にjavaだとどの程度のレベルがかじったなの?
0105デフォルトの名無しさん
2012/04/21(土) 21:41:49.15source読むようになるぐらい。
0106デフォルトの名無しさん
2012/04/21(土) 21:44:54.65・nullと"null"の違い
・空文字列って?
は理解しといてもらいたいかな。
こんなことも知らない派遣クンとJava知らない主任が組んだら
あ〜ら最凶のプロジェクトに・・・
って事例が現在進行中。
0107デフォルトの名無しさん
2012/04/21(土) 22:03:38.970108デフォルトの名無しさん
2012/04/21(土) 22:09:40.34Javaに限らないけど、基本的なアルゴリズムとデータ構造を自分で実装できるレベルなら
かじったと言ってもいいんじゃね
0109デフォルトの名無しさん
2012/04/21(土) 23:09:25.390110デフォルトの名無しさん
2012/04/22(日) 00:26:22.82System.out.println("馬鹿");
0111デフォルトの名無しさん
2012/04/22(日) 07:50:11.130112デフォルトの名無しさん
2012/04/22(日) 08:29:18.08∧_∧ >>107
(( 〜/⌒<丶`Д´> >>109
(/ーし'ー-J >>110
0113デフォルトの名無しさん
2012/04/22(日) 10:23:06.270114デフォルトの名無しさん
2012/04/22(日) 13:02:50.58cは〉〉102の言うことは理解してるくらいのレベルです
0115デフォルトの名無しさん
2012/04/22(日) 13:03:52.850116デフォルトの名無しさん
2012/04/22(日) 13:40:08.80「変数は箱です」からはじまって、うだうだやって、
ディレクトリの再帰検索やって終わり、で2000円。
解説サイト読んでから言語仕様読んで、
そしたら、Apache Commons Langあたりの適当なライブラリの
ソースコードDLして読めばいいよ。
0117デフォルトの名無しさん
2012/04/22(日) 13:53:26.640118ora!
2012/04/22(日) 13:57:42.66[Windows ベースのコンピューターでプログラムをインストールまたはアンインストールする際の問題のトラブルシューティング方法]ってのは参考にならないかな?
http://support.microsoft.com/kb/2438651/ja
0119ora!
2012/04/22(日) 15:03:03.94[Java / プログラミングセミナー]はどうでしょう?
http://www.acroquest.co.jp/webworkshop/index.html
0120ora!
2012/04/22(日) 15:26:55.65[Javaチュートリアル]とか?
http://docs.oracle.com/cd/E26537_01/tutorial/index.html
0121デフォルトの名無しさん
2012/04/22(日) 19:03:51.74で書きだしたバイナリの8バイトを
JavaでDataInputStream::readDoubleあるいはreadFloat
で読もうとしているのですが、成功しません。(ハードウェアは同じです)
・数値のフォーマットをあわせる
・ファイル末尾に改行がないと読み込みエラーが出る
の2点について、Java側で何とかしないといけないのですが、どのへんを調べれば分かりますか?
0122デフォルトの名無しさん
2012/04/22(日) 19:30:41.31エンディアン間違ってるだけなら、
value = in.readDouble();
value = Double.longBitsToDouble(Long.reverseBytes(Double.doubleToLongBits(value)));
で変換できる。最初から正しいエンディアンで読み込む方が楽だろうけど。
C言語のdoubleはフォーマットは処理系依存だったような気がするから、
そっちも調べてみるべきかも。NaNとか無限大も変換したいなら特に。
ファイル末尾に改行云々は何したいのかわからん。
改行を発見できないとエラーにするプログラムが書きたいのか、
意図しない「改行が発見できないよエラー」が出て困ってるのか。
0123デフォルトの名無しさん
2012/04/22(日) 19:50:45.47ありがとうございます!動きました。
エンディアンって、Cで単純なダンプをすると逆になってるってことですか?
これだとjavaに負荷がかかりそうですね。
java.io.EOFExceptionが最後にトラップされてるのですが、
すみません、改行かどうかは分かりません。
例外処理のしかたがよくわからないもので、とりあえず放置します。
0124デフォルトの名無しさん
2012/04/22(日) 19:54:52.02こんな基本的なところでズレているとは・・・
0125デフォルトの名無しさん
2012/04/22(日) 21:45:27.300126デフォルトの名無しさん
2012/04/22(日) 21:49:17.19HttpURLConnectionを使ったサイトの取得時に
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
のうちどれかだけをすればいいのでしょうか?やっぱり全部必要でしょうか?
0127デフォルトの名無しさん
2012/04/22(日) 22:27:22.13どんなものから作っていったらいい?
少しづつステップアップしていきたい
0128デフォルトの名無しさん
2012/04/22(日) 22:27:56.63jdk1.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 しときゃいい。
0129デフォルトの名無しさん
2012/04/22(日) 23:17:24.31どんなものを作りたいと思ってJavaを勉強しはじめたの?
0130デフォルトの名無しさん
2012/04/22(日) 23:56:30.36自分がよく使うソフトか、よく使う作業の補助になるようなので、出来るだけ小さいプログラムがいい。
毎日そのプログラムに触るぐらいじゃないと良くならないし、何度も作り直せるぐらい小さくないと、設計が上達しない。
0131デフォルトの名無しさん
2012/04/23(月) 00:38:44.52(他のプログラム言語はバリバリやってるけど)javaは初心者。
プログラム自体初心者。
まぁ、他の言語でも今まで作ってきたんならこんな質問はしないと思うけど、
そうすると別にjavaの質問ではないしな。
0132デフォルトの名無しさん
2012/04/23(月) 02:36:25.90のfood部分のみをJsoup取り出したいのですが...
どなたかご教授お願いします。
0133デフォルトの名無しさん
2012/04/23(月) 09:33:32.530134デフォルトの名無しさん
2012/04/23(月) 13:43:37.88java.text.DecimalFormat
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/text/DecimalFormat.html
0135デフォルトの名無しさん
2012/04/23(月) 16:11:59.04負の値や精度考慮しない手抜きでいいなら
value = Math.floor(value * 100) / 100;
自前部分のコード量減らしたいなら
BigDecimal val = new BigDecimal(value).setScale(2, BigDecimal.ROUND_DOWN);
0136デフォルトの名無しさん
2012/04/23(月) 16:41:56.11>>135
ありが10
0137デフォルトの名無しさん
2012/04/23(月) 17:41:13.95for (Element node : document.select("td.abc[align=center]")) {
System.out.println(node.ownText());
}
0138デフォルトの名無しさん
2012/04/23(月) 20:07:39.92最終的には簡単なゲーム
>>130
なるほど
ランチャーとかファイラーみたいなのつくってみます、何ヶ月かかるか分からんけど
0139デフォルトの名無しさん
2012/04/23(月) 21:13:21.860140デフォルトの名無しさん
2012/04/23(月) 23:18:59.76目的の実行結果のように,
・英語,数学,国語の各科目の試験受験者数をキーボード入力
・各科目の受験者の名前と点数をキーボード入力
・各科目の入力データ,平均点,最高点,最高点獲得者の出力
を行うソースファイルを作成してください.
目的の実行結果
C:\
[英語の受験者数を入力してください] > 2
[数学の受験者数を入力してください] > 2
[国語の受験者数を入力してください] > 4
[英語の1人目の受験者の名前を入力してください] > 鈴木
[鈴木さんの英語の点数を入力してください] > 95
[英語の2人目の受験者の名前を入力してください] > 三枝
[三枝さんの英語の点数を入力してください] > 80
[数学の1人目の受験者の名前を入力してください] > 西田
0141デフォルトの名無しさん
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点です
国語の最高点獲得者は三枝さんと西田さんです
0142デフォルトの名無しさん
2012/04/23(月) 23:23:17.340143デフォルトの名無しさん
2012/04/24(火) 00:01:08.84助かりました、本当にありがとうございます。
0144デフォルトの名無しさん
2012/04/24(火) 00:05:11.91minecraftのmodを作りたいという変な理由でjava勉強し始めたんだけど、
最初どういうふうに勉強して、どういうふうにプログラムを作っていけばいいのか教えて下さい。
0145デフォルトの名無しさん
2012/04/24(火) 00:36:56.47あとは他のMODのソースとかあればそれを参考にしたり試行錯誤で作っていく
0146デフォルトの名無しさん
2012/04/24(火) 00:59:10.37最初は他の言語の方がいいと思うけどね。
正直javaはあんまり言語仕様やとりまく環境としては良くないから。
0147デフォルトの名無しさん
2012/04/24(火) 01:05:49.73他のMODのソース見るのは勉強になりそうかな? やってみます。
>>146
学校ではBASICやってます。 java難しいです。
0148デフォルトの名無しさん
2012/04/24(火) 01:29:22.11なにも出来ないと思うけどな。
あ、だからなにも出来てないのか。
0149デフォルトの名無しさん
2012/04/24(火) 01:54:57.18Javaは始めて3日くらいだけど、こんなもんでいいのか?
http://pastebin.com/V1zMcE84
もっといい書き方誰か教えてください
0150デフォルトの名無しさん
2012/04/24(火) 06:00:35.050151デフォルトの名無しさん
2012/04/24(火) 13:54:18.80どんなに小規模のアプリケーションでも、
[自分のドメイン名].[アプリケーションの名前].[クラス]ってやってます?
それとも
[自分のドメイン名].[アプリケーションの名前のクラス]みたいにいきなり置いてます?
0152デフォルトの名無しさん
2012/04/24(火) 14:10:56.760153デフォルトの名無しさん
2012/04/24(火) 14:11:30.220154デフォルトの名無しさん
2012/04/24(火) 14:15:42.24あ、なんか書き方おかしかったですが、パッケージをそのアプリケーション専用の作るか、作らないかって質問でした。
>>153
ありがとうございます。
よく考えたら、全部が全部パッケージに分類しなくてもいいのか。
0155デフォルトの名無しさん
2012/04/24(火) 16:57:24.350156デフォルトの名無しさん
2012/04/24(火) 17:04:02.200157デフォルトの名無しさん
2012/04/24(火) 18:53:41.480158デフォルトの名無しさん
2012/04/24(火) 20:53:26.36AはX-1.0でないと動かない。
BはX-2.0で無いと動かない。
X-1.0とX-2.0の仕様は部分的に非互換で部分的に互換。
つまり似ている部分は有るが共存はできない。
こういう場合はどうすれば…
0159デフォルトの名無しさん
2012/04/24(火) 20:54:00.950160デフォルトの名無しさん
2012/04/24(火) 21:21:32.440161デフォルトの名無しさん
2012/04/24(火) 22:17:17.07A,B両方を使うDがどっちのXを参照すべきかは他人に判断できない問題
0162デフォルトの名無しさん
2012/04/24(火) 22:48:16.33あれは何の意義があるんでしょうか?new Type();と比べ何のメリットがあるんでしょう?
0163デフォルトの名無しさん
2012/04/24(火) 22:51:36.322 やってみたかっただけ
3 知能に問題がある人が書いた
0164デフォルトの名無しさん
2012/04/25(水) 06:08:05.14> 1 今後変えていくかもしれんのでnewでインスタンスつくんなおという願い
なら、コンストラクタ不可視にすんだろ。
> 2 やってみたかっただけ
> 3 知能に問題がある人が書いた
これはあるある
4 内部でうまいことキャッシュしてやるからnewInstance使え。キャッシュとか
別にいらねーなら勝手にnewしろ。そのかわり自分で面倒見ろよ
大抵は3か4だろう。2は殴れ。3は殴るな後が怖い。
0165デフォルトの名無しさん
2012/04/25(水) 06:52:14.810166デフォルトの名無しさん
2012/04/25(水) 08:52:47.690167デフォルトの名無しさん
2012/04/25(水) 11:52:19.93相手は超初心者なんだからもう少し優しく教えてあげないと。
さもなくばスルーでOK
0168デフォルトの名無しさん
2012/04/25(水) 12:08:04.14staticファクトリーメソッドで調べてごらん
0169デフォルトの名無しさん
2012/04/25(水) 12:50:03.470170デフォルトの名無しさん
2012/04/25(水) 14:15:45.830171デフォルトの名無しさん
2012/04/25(水) 14:58:43.99シングルトン
インスタンスの数を常に1つにしたい場合に使う
0172デフォルトの名無しさん
2012/04/25(水) 15:00:37.73class Foo<T extends Hoge> {
public int insert(List<T> entitylist) { /* ... */ }
public int insert(List<Long> primaryKeyList) { /* ... */ }
}
とあるとき、java.lang.LongはHogeのサブクラスではないのに同じメソッドイレイジャだとコンパイルエラーになります。
総称型のextendsによる限定は考慮されない仕様なのでしょうか。
0173デフォルトの名無しさん
2012/04/25(水) 15:16:58.700174デフォルトの名無しさん
2012/04/25(水) 16:18:00.39List<Foo>もList<Baa>もただのListとなるから同じとみなされるわけですね。
erasureの動きが少し理解できました。
ありがとうございました。
0175デフォルトの名無しさん
2012/04/25(水) 18:46:45.000176デフォルトの名無しさん
2012/04/25(水) 19:27:17.23シングルトンはnewInstance()なんて名前普通つかわんだろ
0177ora!
2012/04/25(水) 19:52:13.02[Java の旧バージョンと関連文書の入手先]
http://www.java.com/ja/download/faq/other_jreversions.xml
0178デフォルトの名無しさん
2012/04/25(水) 20:07:39.23死ねよ
0179デフォルトの名無しさん
2012/04/26(木) 00:27:03.13>>162がよく見るソースコード見てみたいものだ
0180デフォルトの名無しさん
2012/04/26(木) 00:37:19.910181デフォルトの名無しさん
2012/04/26(木) 01:10:26.08Javaの型パラメータは、コンパイル時に除去されてObject型になってしまうのだよ。
この性質のことをイレイジャという。
そんなわけで、おまえさんが例示した2つのメソッドは同じシグネチャになってしまいコンパイルエラーになるわけだ。
0182デフォルトの名無しさん
2012/04/26(木) 02:14:23.87よし覚えた。
0183デフォルトの名無しさん
2012/04/26(木) 03:54:24.160184デフォルトの名無しさん
2012/04/26(木) 12:32:33.55俺にきくなよ
0185デフォルトの名無しさん
2012/04/26(木) 13:07:39.15うざいだけです
0186デフォルトの名無しさん
2012/04/26(木) 18:33:31.140187デフォルトの名無しさん
2012/04/26(木) 21:43:41.280188デフォルトの名無しさん
2012/04/26(木) 21:45:54.50調べましたけど何でstaticなんでしょうね。
インスタンスメソッドにしたって大したコストにならないでしょうに。
0189デフォルトの名無しさん
2012/04/26(木) 22:10:27.71アーキテクチャにもよるけど、JNI1回で10-50msぐらいかかる。
SSE使うだけのジョークアプリになるね。
0190デフォルトの名無しさん
2012/04/26(木) 22:27:00.050191デフォルトの名無しさん
2012/04/26(木) 22:43:23.68あくまで俺が使ったときの一例の話だけどgccの自動ベクトル化より速かった
0192デフォルトの名無しさん
2012/04/27(金) 00:07:33.40List<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);
どこか問題ありますでしょうか・・・
0193デフォルトの名無しさん
2012/04/27(金) 00:08:54.32java8からはmulticoreの活用はもちろん基本的に内部イテレータ仕様がメインになるようなので、java5 generics typeの時と同じく次回の改訂はjava languagesのパラダイムシフトになるかなと思います。
0194デフォルトの名無しさん
2012/04/27(金) 00:39:51.99ラムダ使った並列化はMIMDだろ
0195デフォルトの名無しさん
2012/04/27(金) 01:06:27.15public class SuperClass{
public static void main(String[] args){
}
}
public class SubClass extends SuperClass{
}
こんな感じで、SubClassで起動した場合に
mainの中で起動したクラス(SubClass)を取得したいのです。
0196デフォルトの名無しさん
2012/04/27(金) 06:51:13.43> 9年ぶりに言語仕様を改訂予定
http://ja.wikipedia.org/wiki/Java#Java_SE_8
0197デフォルトの名無しさん
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;
}
}
0198デフォルトの名無しさん
2012/04/27(金) 08:59:40.72あらかじめ使えるカードの一覧を作っておいて使用済みのチェックを入れる。
0199デフォルトの名無しさん
2012/04/27(金) 09:54:25.99間違いだから削除した
0200デフォルトの名無しさん
2012/04/27(金) 11:08:27.44配列に52枚のカードを入れて、それをランダムにシャッフルして、先頭から順にめくっていく
0201デフォルトの名無しさん
2012/04/27(金) 11:21:05.05重複しない膨大な整数系列を高速省メモリで吐いてくれるアルゴリズムの
疑似乱数クラスは、探せばある。
トランプにはオーバースペックか。
0202デフォルトの名無しさん
2012/04/27(金) 11:21:12.39http://sasuke.main.jp/java.htmlに「トランプのシャッフル」ってのがある
0203デフォルトの名無しさん
2012/04/27(金) 12:36:20.05クラスをコントラクトすること=インスタンス化(クラス名 変数名=new クラス名();)
インスタンス化された変数をインスタンス
メソッドや変数をまとめて1つのクラスとして独立させることをカプセル化
このような解釈であってますでしょうか。。。
初歩的な質問で申し訳ないのですがサイトなどでの説明がわかりにくかったもので、
誤った理解をしていればご指摘頂ければ幸いです。
0204デフォルトの名無しさん
2012/04/27(金) 14:36:48.75【インスタンス化】
● クラスからオブジェクトを作ること。
● コンストラクタの呼び出しによって、メモリ上に、新たに生成される
オブジェクト用のメモリの領域を確保すること。
【カプセル化】
● クラスの外部からはフィールドを直接操作できないようにして、必ずメソッドを
経由してフィールドを間接的に操作するようにすること。
0205デフォルトの名無しさん
2012/04/27(金) 16:13:09.200206デフォルトの名無しさん
2012/04/27(金) 17:48:04.46ありがとうございます、
0207デフォルトの名無しさん
2012/04/27(金) 18:13:03.93public 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);
}
}
0208デフォルトの名無しさん
2012/04/27(金) 18:46:54.53いえいえ
0209デフォルトの名無しさん
2012/04/27(金) 19:14:47.21>>200
理論的には分かりやすい説明ですが、ググったりしたのですが具体的なやり方がぜんぜんわかりません。
0210デフォルトの名無しさん
2012/04/27(金) 19:42:56.252.乱数を2つ発生させて、2つの数字の指し示す配列の中身を入れ替える。
3.気が済むまで2を繰り返す。
とかなら簡単じゃないかな
0211デフォルトの名無しさん
2012/04/27(金) 19:47:39.74出来合いのなら→>>202のやつ
http://sasuke.main.jp/toranpu.html
0212デフォルトの名無しさん
2012/04/27(金) 20:13:07.350213デフォルトの名無しさん
2012/04/27(金) 20:49:12.140214デフォルトの名無しさん
2012/04/27(金) 22:35:00.080215デフォルトの名無しさん
2012/04/28(土) 00:21:40.44同じものがないのだよ
java.utilで使えそうなインタフェースがSet
こんな感じで、作るものの本質を知ることからはじめるのがプログラミング
制御したい物をどのように組み立てるのか、よく考えるところからはじめよう
これは言語云々の話じゃないけど、心の片隅にでもとりあえず置いてほしい
フィールドとしてSet<Card> cardSet = new 何とかSet<Card>();
cardSetから取り出されたものもさらに別のSetにぶち込む
そのときにコレクション.ソート機能をつかってコンパレートする
イメージは伝わったかな
0216デフォルトの名無しさん
2012/04/28(土) 00:27:37.12int number
enum Type {
スペード("スペードマーク")、ダイヤ("ダイヤ");
final String マーク;
Type (String マーク) {
初期化
}
}
必要があればenumコンストラクタのフィールドをどんどん追加すればいいのかな
enum内にstatic なメソッドも持たせられるのでいろいろ使い道があると思う
0217デフォルトの名無しさん
2012/04/28(土) 00:34:03.060〜51の乱数を発生させ得られた数番目の要素をAから削除しBに追加
乱数の範囲を1減らして↑を繰り返す
0218デフォルトの名無しさん
2012/04/28(土) 02:14:40.500219デフォルトの名無しさん
2012/04/28(土) 09:50:03.85>>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();
}
}
0220デフォルトの名無しさん
2012/04/28(土) 09:59:28.020221デフォルトの名無しさん
2012/04/28(土) 10:58:35.940222デフォルトの名無しさん
2012/04/28(土) 11:20:25.290223デフォルトの名無しさん
2012/04/28(土) 11:45:58.540224デフォルトの名無しさん
2012/04/28(土) 12:17:46.130225デフォルトの名無しさん
2012/04/28(土) 12:36:48.510226デフォルトの名無しさん
2012/04/28(土) 13:20:59.290227デフォルトの名無しさん
2012/04/28(土) 15:01:48.46セッター、ゲッターについては以下のような解釈であってますでしょうか。
セッター:異なるクラスのprivateな変数に対し値をセットするためのメソッド
ゲッター:異なるクラスのprivateな変数の値を取得するためのメソッド
0228デフォルトの名無しさん
2012/04/28(土) 15:09:56.20ゲッター:主人公側のロボット
セッター:敵のロボット、実は主人公のオヤジが乗ってた
0229デフォルトの名無しさん
2012/04/28(土) 15:14:28.47フィールド自身は private 宣言で、
フィールドアクセス用のメソッド は public 宣言だよ。
0230デフォルトの名無しさん
2012/04/28(土) 15:19:59.70必ずしもそうとは限らんけどな
Set/Getはprotectedかもしれないし、
Set/Getのあるクラス内にフィールドが存在しないかもしれない。
0231デフォルトの名無しさん
2012/04/28(土) 15:23:33.56ありがとうございます!
0232デフォルトの名無しさん
2012/04/28(土) 15:23:33.560233デフォルトの名無しさん
2012/04/28(土) 15:28:20.83>Set/Getはprotectedかもしれない
例えば、パッケージが1つの場合などはSet/Getは”privateでなければ良い”いう解釈ができるということでしょうか?
>Set/Getのあるクラス内にフィールドが存在しないかもしれない
これについては良くわからないのですが、フィールドが存在しないクラスにSet/Getを用意する必要性が出てくることもあるということでしょうか>
0234デフォルトの名無しさん
2012/04/28(土) 15:30:50.94わざわざメソッドを通すなんて面倒なことをするのは、
後で実装を変更するため。
直接フィールドを持たないような実装に変更することもありうる。
0235デフォルトの名無しさん
2012/04/28(土) 15:35:09.45日時から曜日を計算して返す曜日ゲッターがあってもいい。
0236デフォルトの名無しさん
2012/04/28(土) 15:36:50.64>>233 >>230 の後半はカン違いと思われ…
0237デフォルトの名無しさん
2012/04/28(土) 15:44:33.90Set/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;
}
}
0238デフォルトの名無しさん
2012/04/28(土) 15:48:43.47>例えば、パッケージが1つの場合などはSet/Getは”privateでなければ良い”いう解釈ができるということでしょうか?
いや、アクセス権限は関係ないというはなし。別にprivateにしたってset〜()/get〜という形でメソッド定義してりゃ
セッター、ゲッターと呼ばれる。アクセッサーと呼ばれるかどうかは知らんけどな。
0239デフォルトの名無しさん
2012/04/28(土) 16:07:23.94私はVC、VBの経験はありますがJAVA(オブジェクト指向)はまだ記述方法等を順に学んでいる段階のため理解が浅く、
ご教授頂いた内容を理解しきれない部分があります。
とりあえず今の段階ではset〜()、get〜()とネーミングされた、値を設定・取得するためのメソッドという理解に留めておこうと思います。
0240デフォルトの名無しさん
2012/04/28(土) 16:11:27.67蛇足だが、現実でVCの経験があると言うのは控えた方がいい。
VCでC言語をやっていたぐらいにしておかないと
ハイレベルな作業頼まれてトラブる事が有るぞ
0241デフォルトの名無しさん
2012/04/28(土) 16:23:26.610242デフォルトの名無しさん
2012/04/28(土) 16:24:51.270243デフォルトの名無しさん
2012/04/28(土) 16:37:35.10普通VCやってたって言ったら日本では最高レベルのプログラマの称号だし。
VCを本当にやってた人間ならJavaなんて学ぶことなく使えるし
0244デフォルトの名無しさん
2012/04/28(土) 16:42:33.310245デフォルトの名無しさん
2012/04/28(土) 16:46:59.66うちとか約1年ぐらい掛けてゆっくり1つの製品作ってたりするけど。
C++で製品開発はあっても、受注なんてほとんど無くね?
0246デフォルトの名無しさん
2012/04/28(土) 16:48:27.940247デフォルトの名無しさん
2012/04/28(土) 16:52:37.34そもそも、この書き方がおかしい
Microsoft (R) C/C++ Optimizing Compilerとgccを比較してるのか?
統合開発環境全体とgccというコンパイラ比較してんのか?
0248デフォルトの名無しさん
2012/04/28(土) 16:58:32.400249デフォルトの名無しさん
2012/04/28(土) 16:58:51.29C++ のベテランには、C$ は使うが Java は意地でも使わないって人もいるね。
0250デフォルトの名無しさん
2012/04/28(土) 17:00:14.50○ C#
0251デフォルトの名無しさん
2012/04/28(土) 17:03:22.490252デフォルトの名無しさん
2012/04/28(土) 17:03:36.690253デフォルトの名無しさん
2012/04/28(土) 17:03:53.430254デフォルトの名無しさん
2012/04/28(土) 17:04:39.30俺逆にC#の方をあんまり使わないわ
仕様が頻繁に変わる言語は追従するのが面倒といより、
今まで書いたコードがゴミになりそうで嫌。
そういういみで、PerlとかPHPも苦手。
使い捨て用にしか使わん。
0255デフォルトの名無しさん
2012/04/28(土) 17:06:40.03>仕様が頻繁に変わる言語
kwsk
0256デフォルトの名無しさん
2012/04/28(土) 17:10:49.80C#はC++が03から11になる間に4もバージョン上がったろ
ついでだがPerlは、Perl5からPerl6になって互換性なくなった
PHPはclassが予約語になった
0257デフォルトの名無しさん
2012/04/28(土) 17:12:31.790258デフォルトの名無しさん
2012/04/28(土) 17:17:31.11予約語ついかする言語とは深い付き合いしたくない
0259デフォルトの名無しさん
2012/04/28(土) 17:32:13.51javaだと2003あたりから2011(java7)まででいくつ上がったんでしたっけ?
0260デフォルトの名無しさん
2012/04/28(土) 17:42:46.61ライブラリや言語外はそれなりに更新されたけど、
言語自体はそんなに頻繁に更新されたか?
Java2からJava7の間で目立った変更があったのって
5のあたりぐらいじゃないか?
0261デフォルトの名無しさん
2012/04/28(土) 17:45:24.570262デフォルトの名無しさん
2012/04/28(土) 17:49:45.250263デフォルトの名無しさん
2012/04/28(土) 17:59:48.54こんなチンコすれでドヤ顔なんかしてないで、もうちょっといろいろ勉強した方がいいと思いますよ。
0264デフォルトの名無しさん
2012/04/28(土) 20:58:40.490265デフォルトの名無しさん
2012/04/28(土) 22:22:00.42C#はコンテキストキーワード上等だからキーワード増えても予約語は増えず基本的に互換性は保たれる
Javaは予約語の追加をやった前例がある
0266デフォルトの名無しさん
2012/04/28(土) 23:13:23.040267デフォルトの名無しさん
2012/04/28(土) 23:20:00.450268デフォルトの名無しさん
2012/04/28(土) 23:21:18.630269デフォルトの名無しさん
2012/04/28(土) 23:27:20.340270デフォルトの名無しさん
2012/04/28(土) 23:35:36.89うん違う
0271デフォルトの名無しさん
2012/04/28(土) 23:37:34.41新規追加だよ
0272デフォルトの名無しさん
2012/04/28(土) 23:51:51.56ありがと
0273デフォルトの名無しさん
2012/04/28(土) 23:56:19.89どの言語もしないな
java.import java.import;
import java.int;
import java.class;
とか。
0274デフォルトの名無しさん
2012/04/28(土) 23:58:00.33いったいどれだけいるのか
0275デフォルトの名無しさん
2012/04/28(土) 23:59:32.370276デフォルトの名無しさん
2012/04/29(日) 00:02:44.11何と言おうが思いっきりbreaking changeだ
0277デフォルトの名無しさん
2012/04/29(日) 00:04:28.54別にそこに拘る必要ないだろ
予約語と表現するのが嫌なら別の名前でかまわないだろうし
0278デフォルトの名無しさん
2012/04/29(日) 00:06:05.860279デフォルトの名無しさん
2012/04/29(日) 00:06:44.950280デフォルトの名無しさん
2012/04/29(日) 00:10:24.730281デフォルトの名無しさん
2012/04/29(日) 00:10:50.810282デフォルトの名無しさん
2012/04/29(日) 00:17:28.76融通利かなすぎだろ
結局のところ条件コンパイルなんだからC#のConditionalみたいなのにすればよかったのに
アサーションを使わないというのは、ちょっと考えにくいのですけれどもね
0284デフォルトの名無しさん
2012/04/29(日) 00:29:04.29とは限らないだろ
0285デフォルトの名無しさん
2012/04/29(日) 00:31:18.92ライブラリでやるべきだった
0286デフォルトの名無しさん
2012/04/29(日) 01:07:04.260287デフォルトの名無しさん
2012/04/29(日) 01:11:35.590288デフォルトの名無しさん
2012/04/29(日) 01:11:52.28assertはライブラリでも出来るだろ
0289デフォルトの名無しさん
2012/04/29(日) 01:15:06.37どうやって?
if文使ったりしたらデバッグモードじゃなくても判定が入るよ。
0290デフォルトの名無しさん
2012/04/29(日) 01:28:44.92javaだとannotationとして似たようなものは既に実装されています。
0291デフォルトの名無しさん
2012/04/29(日) 01:30:47.88だから、おまえの不満はネットでは既に語り尽くされているか、全くの見当違いでしかない。
0292デフォルトの名無しさん
2012/04/29(日) 01:34:07.54単に見向きもされてないだけの可能性もあるから
論理的な解釈とはいえないな
0293デフォルトの名無しさん
2012/04/29(日) 01:35:05.850294デフォルトの名無しさん
2012/04/29(日) 01:42:53.140295デフォルトの名無しさん
2012/04/29(日) 01:44:06.300296デフォルトの名無しさん
2012/04/29(日) 01:49:43.09そもそも外す必要なんか出るのかっていう根本からして
0297デフォルトの名無しさん
2012/04/29(日) 01:51:26.530298デフォルトの名無しさん
2012/04/29(日) 01:52:04.11アノテーション使ってコンパイルオプションで外せるメソッドが定義できる
あれパクればいいんだよ
0299デフォルトの名無しさん
2012/04/29(日) 01:57:07.57で、どうせ着脱しないしオーバロードたくさんある方が便利だよね
ってことでcommonsライブラリとかのassert使われちゃうっていう
0300デフォルトの名無しさん
2012/04/29(日) 01:58:18.610301デフォルトの名無しさん
2012/04/29(日) 02:01:45.390302デフォルトの名無しさん
2012/04/29(日) 02:02:16.69あっさり覆して中途半端に条件コンパイルに手を出したからおかしくなった
どうせ条件コンパイルやるんならC#のようなやり方した方がずっと綺麗で有用
0303デフォルトの名無しさん
2012/04/29(日) 02:04:03.570304デフォルトの名無しさん
2012/04/29(日) 02:13:19.250305デフォルトの名無しさん
2012/04/29(日) 02:24:14.37Log4jやら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らしいと思う。
0306デフォルトの名無しさん
2012/04/29(日) 02:27:06.430307デフォルトの名無しさん
2012/04/29(日) 02:28:48.510308デフォルトの名無しさん
2012/04/29(日) 02:30:58.56Loggerが何を抽象化してるか考えると、そのままでいいと思う
sayHelloとsayGoodbyを持つPersonクラスの代わりに
HelloPersonとGoodbyPersonを用意しよう
っていう位には奇妙に感じるんだが。。
0309デフォルトの名無しさん
2012/04/29(日) 02:32:05.400310デフォルトの名無しさん
2012/04/29(日) 02:33:05.73ちょっと例が良くないなsayHello、sayGoodbyだったらhelloとgoodbyを引数に回すもの。
0311デフォルトの名無しさん
2012/04/29(日) 02:33:36.16Validatorはそうなってなかったっけ?
0312デフォルトの名無しさん
2012/04/29(日) 02:35:29.38sayHelloであってるよ
インスタンスが日本人なら「こんにちわ」
インスタンスがアメリカ人なら「やあマイキー」
ってら言わせるんだから
0313デフォルトの名無しさん
2012/04/29(日) 02:36:02.80java2d関係を使ったことがあるなら奇妙というほどでもない
0314デフォルトの名無しさん
2012/04/29(日) 02:37:52.20man.sey( new Hello() );
man.sey( new Goodby() );
これでも行けるでしょ。
0315デフォルトの名無しさん
2012/04/29(日) 02:38:37.03そこは"hello"と"goodbye"をキーにしてi18nだろjk…
0316デフォルトの名無しさん
2012/04/29(日) 02:38:51.140317デフォルトの名無しさん
2012/04/29(日) 02:41:31.22それじゃ国際化するときに、HelloFactoryとGoodbyFactoryが必要になる
なにより凝集性がよろしくない
0318デフォルトの名無しさん
2012/04/29(日) 02:41:52.09ああいいね。
それ見てこんなの思い出したわ
man.say( Hello.getInstance() );
man.say( Goodby.getInstance() );
台詞が決まってるなら
man.say( Words.HELLO );
man.say( Words.GOODBY );
0319デフォルトの名無しさん
2012/04/29(日) 02:42:54.68台詞を言うのはmanのオブジェクトで、HelloやGoodbyは識別用だよ。
0320デフォルトの名無しさん
2012/04/29(日) 02:45:38.80そっちでもいいかも。
ただ、
声だすついでに身体バンバンたたいたり
ハグ♥ってしたりが表現できないよね
>>319
sayメソッドの中身が悲惨なことにならないか?
0321デフォルトの名無しさん
2012/04/29(日) 02:51:50.760322デフォルトの名無しさん
2012/04/29(日) 02:51:58.250323デフォルトの名無しさん
2012/04/29(日) 02:54:49.410324デフォルトの名無しさん
2012/04/29(日) 03:04:23.46別にこれもいいと思うけどね。sayで何を言うか本人しだいじゃん。
単にPersonでもsayHelloやsayGoodbyじゃなくて、say持たせて、
meet、breakupメソッドを用意し、meet、breakupどっちが呼ばれたかで
sayの挙動を変えて上げた方が取り回しが効いていいと思う。
さらにinterfaceにsayを持たせておけば、meet、breakupを持ってる事が必須じゃなくなるしね。
他のメソッドでsayの挙動を変えてあげてもいい。
0325デフォルトの名無しさん
2012/04/29(日) 03:09:40.56現実をシミュレートなんてしなくてええんやで
0326デフォルトの名無しさん
2012/04/29(日) 03:13:25.84interfaceにsayもたせたら、直接呼ばれちゃうぞ
0327デフォルトの名無しさん
2012/04/29(日) 03:15:48.27何か問題が有る?
0328デフォルトの名無しさん
2012/04/29(日) 03:19:54.37個別の型でうけたら、meetとbreackupが呼べるかわりに、sayまでみえちゃう
sayが外に見えてる以上は自分の都合だけでは書き換えられない
つまりmeetとbreakupの取り回しがしにくい
0329デフォルトの名無しさん
2012/04/29(日) 03:22:52.890330デフォルトの名無しさん
2012/04/29(日) 03:26:03.060331デフォルトの名無しさん
2012/04/29(日) 03:29:40.47System.out.println("馬鹿には無理");
}
0332デフォルトの名無しさん
2012/04/29(日) 03:30:13.42japanese.meet();
Irish irish = new Irish();
irish.breakup():
Person person;
person = japanese;
person.say();
person = irish;
person.say();
実用上こまりはしないと思うけど。
0333デフォルトの名無しさん
2012/04/29(日) 03:39:29.36breakup→sayの順で呼んで初めて話してくれるのか?
どうなんだろう
0334デフォルトの名無しさん
2012/04/29(日) 03:42:45.53そうよ。breakupを呼ばなくても何らかの振る舞いはするでしょうけど。
0335デフォルトの名無しさん
2012/04/29(日) 04:26:13.71japaneseSayHello.execute();
( ・´ー・`)どや?
executeの実装だけ入れ替えれば何だって実行できる。
これがオブジェクト指向や!
などと使い方を想定せずに抽象化するのは
複雑さを助長するだけで百害あって一利なし
0336デフォルトの名無しさん
2012/04/29(日) 04:29:09.69System.setOut(new PrintStream(new ByteArrayOutputStream()) {
public void println(String x) {
System. console().printf("誰でもできるよ(^−^)" );
}
});
0337デフォルトの名無しさん
2012/04/29(日) 05:10:41.890338デフォルトの名無しさん
2012/04/29(日) 05:14:36.970339デフォルトの名無しさん
2012/04/29(日) 06:02:21.560340デフォルトの名無しさん
2012/04/29(日) 06:45:05.550341デフォルトの名無しさん
2012/04/29(日) 07:38:13.410342デフォルトの名無しさん
2012/04/29(日) 07:51:25.260343デフォルトの名無しさん
2012/04/29(日) 11:55:51.620344デフォルトの名無しさん
2012/04/29(日) 13:30:35.640345デフォルトの名無しさん
2012/04/29(日) 13:42:43.77ラムダとかそんな感じだよね。
用途は、使用する側次第。
0346デフォルトの名無しさん
2012/04/29(日) 16:27:24.650347デフォルトの名無しさん
2012/04/29(日) 16:38:07.70そのたまににできないと「糞がぁ」と思っちまうんだけど…
0348デフォルトの名無しさん
2012/04/29(日) 17:28:17.580349デフォルトの名無しさん
2012/04/29(日) 18:23:20.50イグゼプション?
エグゼプション?
エクスセプション?
0350デフォルトの名無しさん
2012/04/29(日) 18:28:07.670351デフォルトの名無しさん
2012/04/29(日) 18:32:32.690352デフォルトの名無しさん
2012/04/30(月) 00:21:26.63ちょっとうまくいかないことがありまして、、、
質問させていただきます。
x軸方向y軸方向にそれぞれ異なった速度を持ったイメージがあって
それが画面左から出現してきて右に消えていくというのを作りました。
これを無限に行いたく、配列を使ってやってみたのですが、
配列には限りがありますよね??うーん、、、うまくいきません。
どうにかうまくいく方法はないですかね??
0353デフォルトの名無しさん
2012/04/30(月) 00:28:57.370354デフォルトの名無しさん
2012/04/30(月) 00:34:58.52すいません、説明不足でした!
シューティングゲームで自分が打った弾がイメージに当たったら消える
といった風にやりたいのです!
0355デフォルトの名無しさん
2012/04/30(月) 00:52:09.010356デフォルトの名無しさん
2012/04/30(月) 00:55:55.20なぜ
0357デフォルトの名無しさん
2012/04/30(月) 01:11:25.940358デフォルトの名無しさん
2012/04/30(月) 01:37:20.31javaサーブレットjavaアプレットやら色々あるようなんですが、
巷の業務系javaプログラマ募集の求人でjava出来る人ってのは
java = javaサーブレットって事で良いのでしょうか?
Java出来ますと言えば:Javaサーブレット?
業務系:Javaサーブレット?
Web系:Javaサーブレット&Android?
会計やら物流やらもJavaサーブレットによるWebアプリって事になるのでしょうか?
0359デフォルトの名無しさん
2012/04/30(月) 01:40:17.82>といった風にやりたいのです!
最終的にこれをしたいんだろうが・・・
>x軸方向y軸方向にそれぞれ異なった速度を持ったイメージがあって
>それが画面左から出現してきて右に消えていくというのを作りました。
ここは今理解できてる事だと解る
>これを無限に行いたく、配列を使ってやってみたのですが、
>配列には限りがありますよね??うーん、、、うまくいきません
でもこの一文で何がしたいのか解らん
玉を複数画面上に出したいが、配列に格納しきれないと言ってるのか?
ゲームなら普通上限決めて、一括で確保するぞ。
0360デフォルトの名無しさん
2012/04/30(月) 01:42:31.170361デフォルトの名無しさん
2012/04/30(月) 01:44:41.96アプレットかサーブレットかと言えばサーブレット。
ただ、まんまサーブレット使うことは少ないと思うが。
あと、商用ならサービスとか、バッチ処理とか、
Webサーバー使わないものも結構有る。
最近の話かもしれないけど。
0362デフォルトの名無しさん
2012/04/30(月) 01:53:34.09伝わりにくくてすいません
永遠と画面左から敵が出続けるんです。
そいつらを画面手前にいる自機から発射される攻撃でやっつけ続けるというゲームです。
そして攻撃されなかった敵は画面右へと消えていきます。
無限とはいったものの
制限時間をつけるなり、敵から攻撃を受けてゲームオーバーにするなりしようとおもうんです。
敵の数だけ配列をつくると大変なことになるのではないかと、、、
0363デフォルトの名無しさん
2012/04/30(月) 03:25:13.10クロージャは使えない。ラムダ式は使える。
あくまでもSAMタイプのインタフェース(ひょっとしたら抽象クラスもOKかも)のインスタンスを作る時に
ラムダ式な書き方ができるようになるだけ。
相変わらず、親スコープの変数はfinalで読み込まないとイケない。
ちなみに文法はほぼC#のラムダ式だな。
0364デフォルトの名無しさん
2012/04/30(月) 03:39:20.31目標を立てるのに知りたい。
0365デフォルトの名無しさん
2012/04/30(月) 03:50:56.460366デフォルトの名無しさん
2012/04/30(月) 04:18:30.23http://anago.2ch.net/test/read.cgi/software/1334228672/
0367デフォルトの名無しさん
2012/04/30(月) 04:23:19.11�@ [1]JVM,API,言語仕様---Javaは三...
�A [2]Java SE 7の新機能を読み解く
�B [4]クロージャやモジュール機構など,Java ...
Java新時代へ
日経ソフトウェア
http://itpro.nikkeibp.co.jp/NSW/
0368デフォルトの名無しさん
2012/04/30(月) 04:25:45.63なんでもつくれます
0369デフォルトの名無しさん
2012/04/30(月) 04:30:03.14どこでもそう言われる。
具体的にどんなのだか教えてくれ
0370デフォルトの名無しさん
2012/04/30(月) 04:37:51.19そこ、登録しないと読めないし日経は有料サイトでウザいからリンク張るな
0371デフォルトの名無しさん
2012/04/30(月) 04:40:07.24検索でもblack listに入れてる。
0372デフォルトの名無しさん
2012/04/30(月) 04:41:22.34でちょっと前に話題になったARとか作れます.
で作られたWebサーバとかめっちゃ使われてます.
だけで作られたOSも、昔ちょっと話題になりました.
はどこでも動きます.PCや携帯電話,Android,車載機器など.WindowsやLinux(組み込み系Linux),MacOSが動いていれば動かせます.もちろんWindowsで開発してMacで動かせます.
は少し遅いです.遅い部分はJavaの利点から生まれるので,どうしても遅いと感じるならC畑へ行ってください.
は様々なアドオンを自由に組み合わせられます.ちょっと複雑ですがパッケージやJNIを使えば何も恐れることはありません.Jnodeがそれを実証しています.
0373デフォルトの名無しさん
2012/04/30(月) 04:47:25.30ほうほう。
なかなか便利ですなぁ。
ありです。
0374デフォルトの名無しさん
2012/04/30(月) 04:50:52.29さんもitpro.nikkeibp.co.jp(日経)やatmarkit.co.jp(itmedia)に群がっているit土方相手にしないとやってけないなんて落ちたな
windows it土方に対してjavafxやswingなどjava se clientをいくら訴求しても理解できるはずないのにw
0375デフォルトの名無しさん
2012/04/30(月) 05:01:48.65昔のSUN vs MS訴訟の結果と同じで、AndroidはJavaではありません。
しかも旧SUN(Oracle)からJavaのライセンスも得てません。
0376デフォルトの名無しさん
2012/04/30(月) 05:49:47.62少し遅いとか妄想で語るな
0377デフォルトの名無しさん
2012/04/30(月) 06:35:44.34>>263
0378デフォルトの名無しさん
2012/04/30(月) 07:41:47.15SQLとなんかフレームワーク合わせただけのドカタ仕事なら問題にならないけど
0379デフォルトの名無しさん
2012/04/30(月) 08:05:22.370380デフォルトの名無しさん
2012/04/30(月) 08:08:57.540381デフォルトの名無しさん
2012/04/30(月) 08:09:22.290382デフォルトの名無しさん
2012/04/30(月) 08:24:23.71同等の機能を持った他の言語と比べないと意味ないよね。
マルチプラットフォームでOOPで、一定以上の普及率を持った
とんでもなく遅くはない言語知りたいな
0383デフォルトの名無しさん
2012/04/30(月) 08:35:26.850384デフォルトの名無しさん
2012/04/30(月) 09:13:07.190385デフォルトの名無しさん
2012/04/30(月) 09:18:23.230386デフォルトの名無しさん
2012/04/30(月) 09:49:27.250387デフォルトの名無しさん
2012/04/30(月) 09:58:16.110388デフォルトの名無しさん
2012/04/30(月) 10:01:12.20ボケちゃったのかな・・・
0389デフォルトの名無しさん
2012/04/30(月) 11:46:06.52有名どころだとC++か
NativeClient上で動かすかVM上で動かすかで
パフォーマンスが結構変わるけど
0390デフォルトの名無しさん
2012/04/30(月) 11:52:27.490391デフォルトの名無しさん
2012/04/30(月) 11:56:20.590392デフォルトの名無しさん
2012/04/30(月) 12:00:46.62速度的に言えば、SIMDが使えるのとハンドルを使わず直アクセスしてる点、
広域に最適化される点と、最初から最適化されてる分早い
仮想関数でJavaに負ける時もあるが、オブジェクトの実際の型が変わらないなら
親クラスで渡された時でも、派生クラスの持つ実際の関数をインライン展開する
コンパイラーが増えたんでそういうケースが問題になる事も減った。
0393デフォルトの名無しさん
2012/04/30(月) 12:08:14.22それが答えだ。
0394デフォルトの名無しさん
2012/04/30(月) 12:12:52.44今のjvm技術ではc++とほぼ同等、再コンパイルしてない古いc++プログラムなら追い越してるって聞いてますよ。
0395デフォルトの名無しさん
2012/04/30(月) 12:15:20.820396デフォルトの名無しさん
2012/04/30(月) 12:23:28.58聞くのは勝手だが自分で試せ
あと、VMかNativeかは言語関係ない
VM用に吐いたバイナリーとネイティブ用に吐いたバイナリーを比較するなら
同じ言語で書いたVMコードと、ネイティブコードを比較しろ
0397デフォルトの名無しさん
2012/04/30(月) 12:25:05.900398デフォルトの名無しさん
2012/04/30(月) 12:29:21.170399デフォルトの名無しさん
2012/04/30(月) 12:31:19.56Javaも例外ではありません
0400デフォルトの名無しさん
2012/04/30(月) 12:35:08.52C#はドットネット戦略の中心でありマイクロソフトの虎の子ですよ?!
0401デフォルトの名無しさん
2012/04/30(月) 12:36:15.740402デフォルトの名無しさん
2012/04/30(月) 12:39:25.32書いただけならC++の方が速いしな。型情報を元に最適化出来る場合は10倍以上速くなったりする。
実測有るのみだ。
0403デフォルトの名無しさん
2012/04/30(月) 12:43:27.280404デフォルトの名無しさん
2012/04/30(月) 12:45:13.160405デフォルトの名無しさん
2012/04/30(月) 12:52:21.440406デフォルトの名無しさん
2012/04/30(月) 14:24:11.23http://ja.pastebin.ca/2142153
public synchronized int getX() { return x; } の 「synchronized」 って必要なんですか?
0407デフォルトの名無しさん
2012/04/30(月) 14:28:20.63それはともかく、ページの広告がウザすぎて開いた瞬間閉じようかと思った
0408デフォルトの名無しさん
2012/04/30(月) 14:32:14.63すんません、理由をそえておながいします
0409デフォルトの名無しさん
2012/04/30(月) 14:45:13.660410デフォルトの名無しさん
2012/04/30(月) 14:45:56.95x, yを返すだけってレベルじゃ要らん。xとyの2つの値を設定してるような
不可分な操作にはつける必要が有るけど。
0411デフォルトの名無しさん
2012/04/30(月) 15:46:26.29>>406を見るとsetXY()している間にgetX()が呼べたりするから設計から間違ってる気がする
0412デフォルトの名無しさん
2012/04/30(月) 15:50:48.280413デフォルトの名無しさん
2012/04/30(月) 16:53:14.10あまり使わないから知らなかった
でもgetX()してgetY()する前にsetXY()が呼ばれる可能性はあるね
0414デフォルトの名無しさん
2012/04/30(月) 17:23:09.24そのかわり同期はZahyoクラスを使う側に任せる。
synchronized(zahyo){
zahyo.set(x,y);
}
synchronized(zahyo){
x = zahyo.getX();
y = zahyo.getY();
}
0415デフォルトの名無しさん
2012/04/30(月) 17:33:16.09自分はhoge1のように定義してるけど、皆さんの意見を聞いてみたいです。
interface test {
public abstract void hoge1();
public void hoge2();
abstract void hoge3();
void hoge4();
}
0416デフォルトの名無しさん
2012/04/30(月) 17:35:58.76無駄なものを書く必要はない
0417デフォルトの名無しさん
2012/04/30(月) 17:38:53.28public abstract ここ非推奨な書き方だろ
0418デフォルトの名無しさん
2012/04/30(月) 17:47:45.550419デフォルトの名無しさん
2012/04/30(月) 19:43:41.75一番上だな。
public abstract が暗黙かどうかいちいち頭切り替えて読み書きするの面倒だし。
0420デフォルトの名無しさん
2012/04/30(月) 19:47:21.250421デフォルトの名無しさん
2012/04/30(月) 20:11:25.510422デフォルトの名無しさん
2012/04/30(月) 20:20:06.51推奨が一番下なんだよ
0423デフォルトの名無しさん
2012/04/30(月) 20:24:32.67とにかく書けるものは書け派(1)と書かなくても良いものは書くな派(2)にわかれる
駆け出しプログラマなら(1)の方が読みやすいかもしれない
それなりに訓練されたプログラマなら(1)は冗長で目障りだという
良く訓練されたプログラマなら(1)でも(2)でもどうでも良くなる
0424デフォルトの名無しさん
2012/04/30(月) 20:33:23.91ほら本家から引用だ
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.
0425デフォルトの名無しさん
2012/04/30(月) 20:46:38.460426デフォルトの名無しさん
2012/04/30(月) 20:58:59.180427デフォルトの名無しさん
2012/04/30(月) 21:06:40.580428デフォルトの名無しさん
2012/04/30(月) 21:10:36.060429デフォルトの名無しさん
2012/04/30(月) 21:11:00.74interfaceのこれってそのうち廃止になるんじゃないの?
0430デフォルトの名無しさん
2012/04/30(月) 21:11:41.920431デフォルトの名無しさん
2012/04/30(月) 21:12:04.480432デフォルトの名無しさん
2012/04/30(月) 21:15:08.69廃止にメリットあんの?
0433デフォルトの名無しさん
2012/04/30(月) 21:16:32.700434デフォルトの名無しさん
2012/04/30(月) 21:17:04.35コンパイルプロセスの単純化
0435デフォルトの名無しさん
2012/04/30(月) 21:17:38.40他にないって事か。
0436デフォルトの名無しさん
2012/04/30(月) 21:18:47.21上のタグでメールフォームの送信、クリアを作成しているが、#の位置には何を入れるとメールがWEB上から上手く送信できるようになるのでしょうか?
そもそもこのスレで良いのかも判らないですが…、お教えいただけると助かります。
0437デフォルトの名無しさん
2012/04/30(月) 21:20:13.520438デフォルトの名無しさん
2012/04/30(月) 21:20:45.84Web製作板へいけ
0439デフォルトの名無しさん
2012/04/30(月) 21:21:08.43ないよ。ただ他の言語じゃよくやってるじゃん。
interfaceで修飾子が無くなれば、interfaceブロックに入ってから
修飾子除去プロセスが不要になって若干速くなる。
あとコンパイラのinterfaceに対する特殊化部分も簡略化できるよね。
OpenJDK見ると無駄そうで仕方ない。
0440デフォルトの名無しさん
2012/04/30(月) 21:22:31.30小汚いコードを見なくて済むようになる
0441デフォルトの名無しさん
2012/04/30(月) 22:03:29.69普通にコンパイラ書いていれば、interfaceのメソッドに付けられる修飾子から
public と abstract のフラグを消すだけだから大した簡略化にはならないよ。
0442デフォルトの名無しさん
2012/04/30(月) 22:06:42.79って付け忘れた。まぁ、わざわざ書かなくても判ると思うけど。
0443デフォルトの名無しさん
2012/04/30(月) 22:07:39.74一部クラスと同じ処理呼び出してるけどアレ無駄だよ。
そのうえ、privateとか他のキーワードを弾く処理まで入ってんだから。
0444デフォルトの名無しさん
2012/04/30(月) 22:11:59.93ぶっちゃけ簡略化しても焼け石に水でしょ。
0445デフォルトの名無しさん
2012/04/30(月) 22:14:22.930446デフォルトの名無しさん
2012/04/30(月) 22:18:31.13JBossみたいな新しくコンパイラ作る際に¥は、クラスと同じ修飾子処理の部分外して、
全部public abstract属性固定にし、
privateとかのキーワードチェックだけにできる理由じゃん。
0447デフォルトの名無しさん
2012/04/30(月) 22:19:32.580448デフォルトの名無しさん
2012/04/30(月) 22:25:11.18普通のコンパイラは>>441-442だからどうでもいい。
互換性問題になるから残すメリットはある。
0449デフォルトの名無しさん
2012/04/30(月) 22:32:00.20互換性なんて思いつかないんだろ。
0450デフォルトの名無しさん
2012/04/30(月) 22:34:39.09そもそも、これ何で非推奨にしたんだろ?
implements @protected InterfaceName とかすると
protectedなメソッドの実装義務が発生するとかやりたかったのだろうか?
やっぱり違うな。
0451デフォルトの名無しさん
2012/04/30(月) 22:36:12.410452デフォルトの名無しさん
2012/04/30(月) 22:37:24.910453デフォルトの名無しさん
2012/04/30(月) 22:48:00.72だからもう非推奨なんだから無駄だし捨ててもいいんじゃねと言ってるだけ。
互換性なくなるのは解ってるよ。それでも既存のキーワードを廃止する言語はあるんだから。
0454デフォルトの名無しさん
2012/04/30(月) 22:57:50.590455デフォルトの名無しさん
2012/04/30(月) 23:14:22.82非推奨って言っても全然守られてない非推奨だからなぁ。
JDKのソースにすら public つけてるコードが大量にあるし。
0456デフォルトの名無しさん
2012/04/30(月) 23:41:56.420457デフォルトの名無しさん
2012/04/30(月) 23:42:11.200458デフォルトの名無しさん
2012/05/01(火) 00:20:59.51http://www.javapractices.com/topic/TopicAction.do?Id=49
set が syhchronized なら 当然 get も synchronized でないといけない
0459デフォルトの名無しさん
2012/05/01(火) 00:28:00.780460デフォルトの名無しさん
2012/05/01(火) 00:28:24.060461デフォルトの名無しさん
2012/05/01(火) 00:35:23.920462デフォルトの名無しさん
2012/05/01(火) 02:16:15.54すんません、なぜダメなのか理由をそえておながいします
0463デフォルトの名無しさん
2012/05/01(火) 02:30:36.22マルチスレッド プログラミングの常識だろ
複数のコアをもつプロセッサでは、あるプロセッサが変更した値を
別のプロセッサからも見えるようにする必要があるわけ
javaではsynchronizedブロックがこの役割を果たしている
「java メモリーの可視性」 でググればたくさん出てくるぜ
0464デフォルトの名無しさん
2012/05/01(火) 02:37:20.660465デフォルトの名無しさん
2012/05/01(火) 02:40:51.60不可分操作でなく無駄だから
同期プリミティブを理解してないバカに見えるから
0466デフォルトの名無しさん
2012/05/01(火) 02:56:00.41俺ついこないだまで「ガッ」ってようするにcatchすることだと思ってたんだけど
wikiみたら 「殴る」だったため」という説と「Javaの例外(エラー)なので見つけたら叩くのはあたりまえ」という説の2つが挙げられている
なんだとさ
みんな知ってた?
0467デフォルトの名無しさん
2012/05/01(火) 03:41:42.34ガッ!
0468デフォルトの名無しさん
2012/05/01(火) 05:44:29.770469デフォルトの名無しさん
2012/05/01(火) 06:13:39.780470デフォルトの名無しさん
2012/05/01(火) 06:35:39.200471デフォルトの名無しさん
2012/05/01(火) 07:15:35.60hoge1.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の内容が出力されるので書き方はあっているような気がするのですがそれ以上の事が解りません。
恐らく無知故の基本的な間違いだと思うのですが、どうすればいいでしょうか。
0472デフォルトの名無しさん
2012/05/01(火) 07:21:35.63舌かんでしね
0473デフォルトの名無しさん
2012/05/01(火) 07:34:11.390474デフォルトの名無しさん
2012/05/01(火) 08:38:23.67BufferedReader#readLine()はそれが正しい動作だからちゃんと勉強しろ
0475デフォルトの名無しさん
2012/05/01(火) 08:55:51.26「なぜ無駄なのか」
そこがいちばん知りたいんです。
理由をおしえてくださいませんか。
0476デフォルトの名無しさん
2012/05/01(火) 08:59:58.620477デフォルトの名無しさん
2012/05/01(火) 09:12:33.440478デフォルトの名無しさん
2012/05/01(火) 09:23:16.89無駄じゃないよ。synchronized必要
setterにsynchronizedを付けるならgetterにも付けないと不釣合いだろ
カッコ悪いだろ
ここを嫁
http://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のコア間の不整合が解消されるしくみだ
0479デフォルトの名無しさん
2012/05/01(火) 09:30:28.340480デフォルトの名無しさん
2012/05/01(火) 09:36:41.440481デフォルトの名無しさん
2012/05/01(火) 09:46:42.75なぜ必要なのか説明してみ
0482デフォルトの名無しさん
2012/05/01(火) 09:48:21.77最初のsystem.outをコメントアウトすればわかる
0483デフォルトの名無しさん
2012/05/01(火) 11:38:51.38なぜファイル名も書くのかwww
0484デフォルトの名無しさん
2012/05/01(火) 11:49:12.15かっこいいなぁ 俺英語読めん
synchronizedの使い方もよくわからん
いつまでたっても初心者から抜けれんわ
「synchronized」とか解説してる入門書なくない?
0485デフォルトの名無しさん
2012/05/01(火) 11:55:48.41結城本嫁
0486デフォルトの名無しさん
2012/05/01(火) 11:57:55.80ありがとうございましゅ
結城さんの本はデザインパターンの本しか持ってなくて
それも5パターンぐらいまでしかまだ理解できてないや……
知識レベルがカスなことは自覚してるんだが上達したいなー
0487デフォルトの名無しさん
2012/05/01(火) 12:00:46.540488デフォルトの名無しさん
2012/05/01(火) 13:13:53.00何度も言うがgetの中身が不可分操作じゃないからつける必要がない
つけてしまえば速度が下がる
>>475 の話は、そもそもvolatileつけてたら関係ない
JavaのvolatileはC++のvolatileと違ってアトミック性を保証するためのものだ
0489デフォルトの名無しさん
2012/05/01(火) 13:31:36.73○ >>478 の話は、そもそもvolatileつけてたら関係ない
0490デフォルトの名無しさん
2012/05/01(火) 15:46:10.430491デフォルトの名無しさん
2012/05/01(火) 16:15:43.10それよりZahyoにsynchronized付けるんじゃなくてZahyoを使う方にsynchronized付けたほうがいいんじゃないの?
0492デフォルトの名無しさん
2012/05/01(火) 16:30:36.46xかyいずれかのset/getでアトミックが保たれてるから、話の流れとしては間違ってないんだよ。
結局Zahyoを使う側で同期をとるってのが正解。
0493デフォルトの名無しさん
2012/05/01(火) 16:41:37.320494デフォルトの名無しさん
2012/05/01(火) 16:45:08.54古いJMMならvolatileをsynchronizedするのは正しい。
0495デフォルトの名無しさん
2012/05/01(火) 16:50:06.99相手はどう考えても初心者だぞ。古いVMつかってるかどうかとか考える必要ないだろ。
0496デフォルトの名無しさん
2012/05/01(火) 16:58:20.230497デフォルトの名無しさん
2012/05/01(火) 16:59:32.240498デフォルトの名無しさん
2012/05/01(火) 17:03:11.270499デフォルトの名無しさん
2012/05/01(火) 17:04:28.760500デフォルトの名無しさん
2012/05/01(火) 19:09:37.15半角スペース使ったため見難くなってしまって申し訳ないです。
bufferreader周りを勉強し直してみます。
ありがとうございました
0501デフォルトの名無しさん
2012/05/01(火) 19:28:02.900502デフォルトの名無しさん
2012/05/01(火) 22:43:56.500503デフォルトの名無しさん
2012/05/02(水) 00:54:05.930504デフォルトの名無しさん
2012/05/02(水) 00:55:51.63少なくともセッターゲッターにシンクロ宣言はつけないと思える
これはロックオブジェクトの概念を知れば理解できる
使う側から見た視点でタイミングを考えるべきに同意
それと同期、平行この2語を真に理解することはとても大事だと思う。
くどいけど セッターゲッター両方にシンクロ宣言つけたら
そのインスタンスに同時操作しようとするスレッドが、順序のない行列作っていろいろ面倒なことになる
0505デフォルトの名無しさん
2012/05/02(水) 01:02:33.45API眺めるだけで大体理解できると思うよ
0506デフォルトの名無しさん
2012/05/02(水) 01:41:20.46利用する側は大抵もっと大きい単位でロックする必要がある
0507デフォルトの名無しさん
2012/05/02(水) 09:30:21.780508デフォルトの名無しさん
2012/05/02(水) 11:04:09.57sync(o){
o.ijiiji
}
スレッドBで
o.ijiiji
ってするとスレッドAがoをいじいじしている間は
スレッドBはoをいじいじできないの?
0509デフォルトの名無しさん
2012/05/02(水) 11:11:23.290510デフォルトの名無しさん
2012/05/02(水) 14:52:58.95自分で作った気がしないのですが……
0511デフォルトの名無しさん
2012/05/02(水) 15:02:48.96っていうか、普通にPC使っててこういうのが欲しいと思ったときに
まだ誰もそれを作ってないなんてことはまずありえないから、はっきり言って時間の無駄
0512デフォルトの名無しさん
2012/05/02(水) 15:06:15.34ではプログラミングはどのように勉強していけばいいのでしょうか?
0513デフォルトの名無しさん
2012/05/02(水) 15:20:45.67GUIなら.NETやC++の方がいいしちょっとした作業の自動化ならスクリプト言語の方がいい
0514デフォルトの名無しさん
2012/05/02(水) 15:31:45.660515デフォルトの名無しさん
2012/05/02(水) 16:01:19.40このいいかたでは、
サンプルコードの改変がダメのようにきこえてしまうが、
ライブラリをべんきょうするとき、サンプルがあればたすかるね
0516デフォルトの名無しさん
2012/05/02(水) 16:01:42.73PCではサンプルコードの改変レベルの糞アプリでもスマホで出せば評価される
0517デフォルトの名無しさん
2012/05/02(水) 16:54:11.080518デフォルトの名無しさん
2012/05/02(水) 17:47:33.65public Tc() {
}
}
Tc tc1; //�@
クラスについて初歩的な質問なんですが
こういうふうにクラス宣言して主クラスの最初で�@のように定義すると通るのですが
他の場所 onCreate()内 等で�@の定義をすると
’ローカル変数 tc1 は読み取られません’とEclipseに怒られてしまい実際実行されません。
その他の場所で�@の定義をするにはどうすればいいですか?
0519デフォルトの名無しさん
2012/05/02(水) 17:54:52.810520デフォルトの名無しさん
2012/05/02(水) 18:10:35.41言語仕様的なエラーじゃなくて、
プログラムミスの可能性が高いから警告にしたりエラーにしたりできるようになってる。
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 にするのは推奨しないけど。
0521デフォルトの名無しさん
2012/05/02(水) 18:27:02.03ローカル変数を宣言しても、それを使っていなければ宣言した意味がないので、親切にも注意してくれているんだ
ちゃんと使えば文句言われない
0522518
2012/05/02(水) 18:33:02.52あと上の記述だとスルーだけになるのですが
Tc tc1 = new Tc();
こう書くとエラーになってしまいます。
これはどういうことでしょうか?
0523デフォルトの名無しさん
2012/05/02(水) 18:35:25.860524デフォルトの名無しさん
2012/05/02(水) 18:38:25.42途中から書いてもクラスとみなされないということですかね。
public 書いてるからどこからでも参照できると思ってました。
0525デフォルトの名無しさん
2012/05/02(水) 18:42:43.93Tc tc1;
じゃなくて
int tc1;
とかじゃないでしょうか?
コンパイラはそういう判断かと思ったんですが。
0526デフォルトの名無しさん
2012/05/02(水) 18:43:42.300527デフォルトの名無しさん
2012/05/02(水) 18:47:10.73それは変数の型が違うだけだ (プリミティブ型 or クラス型)
ローカル変数かクラス変数かインスタンス変数かという変数の種類は変わらない
0528デフォルトの名無しさん
2012/05/02(水) 18:50:07.460529デフォルトの名無しさん
2012/05/02(水) 18:55:31.98class内のmainで定義すればいいですかね。やってみます。
0530518
2012/05/02(水) 19:07:06.63最初にグローバルにクラス作るのでなく
途中から自由にクラスインスタンス作ったり外したりする方法はないのでしょうか?
0531デフォルトの名無しさん
2012/05/02(水) 19:12:27.46tc1 = new Tc();
tc1 = null;
とか
0532デフォルトの名無しさん
2012/05/02(水) 19:25:51.30やってみます。
0533デフォルトの名無しさん
2012/05/02(水) 21:55:11.42プログラミング未経験です
0534デフォルトの名無しさん
2012/05/02(水) 21:56:04.90クラス内にファイルの内容を直接埋め込んでいたのですが、
今日、少し大きなファイルを埋め込んでみたところ。
「static イニシャライザーのコードが 65535 バイトの制限を超えています」
まさかJava自体にこんな制限があったなんて…orz
うわーどうしよう。
0535デフォルトの名無しさん
2012/05/02(水) 21:59:32.350536デフォルトの名無しさん
2012/05/02(水) 22:21:38.060537デフォルトの名無しさん
2012/05/02(水) 22:26:39.16昔はBASICのDATAにマシンコード持たせてたけどさ。
0538デフォルトの名無しさん
2012/05/02(水) 22:30:58.27Javaじゃ用途的にあんまり問題にならないだろうけど
クライアントアプリだととりあえず起動してなんか表示してからロードするほうが
ストレスを感じさせにくい
0539534
2012/05/02(水) 22:37:53.08とりあえずメソッドを分割してみます。お騒がせしました。
0540デフォルトの名無しさん
2012/05/02(水) 22:49:17.75gzip + base64 で文字列化とかはやったな。
0541デフォルトの名無しさん
2012/05/03(木) 08:12:49.48みんなこんな本ふむふむと読んで活用できるんでしょ? 尊敬させていただきます
入門書のあとみんなどうやって成長していってるの?
0542デフォルトの名無しさん
2012/05/03(木) 08:30:12.61そのレベルで紙情報に対して毎月1000円だすつもりなら、オール日本語アイテー情報紙のPCfan(マイナビ)がいいんじゃないですか。
0543デフォルトの名無しさん
2012/05/03(木) 08:44:39.911000円は勉強代ですね
ただPCfanはさすがに読んでてもつまらんです それにあれ休刊になったんじゃ?
0544デフォルトの名無しさん
2012/05/03(木) 09:05:36.230545デフォルトの名無しさん
2012/05/03(木) 09:17:42.670546デフォルトの名無しさん
2012/05/03(木) 11:44:25.74技術者じゃない人が読んで、理解した気になるための雑誌じゃなかった?
0547デフォルトの名無しさん
2012/05/03(木) 11:45:24.94自分よりレベルの高い本を買ってわからなくても適当に読んでれば
知らないうちにレベルアップしてるのに
自分と同レベルの情報見ててどうすんだよw
0548デフォルトの名無しさん
2012/05/03(木) 11:52:10.900550デフォルトの名無しさん
2012/05/03(木) 12:11:57.82なんとなく眺めてたらいつのまにかネスペが取得できてしまった。
ネスペ取得者にはこういう人が多い。
0551デフォルトの名無しさん
2012/05/03(木) 13:34:59.550552デフォルトの名無しさん
2012/05/03(木) 14:03:32.98特にJavaとか紙面に乗せると文字数食うせいで
解説とかめちゃくちゃはしょってあるから分かりにくいとは思う
0553デフォルトの名無しさん
2012/05/03(木) 14:11:53.12コードで水増ししまくって内容がほとんどない
0554デフォルトの名無しさん
2012/05/03(木) 14:13:15.630555デフォルトの名無しさん
2012/05/03(木) 14:34:30.520556デフォルトの名無しさん
2012/05/03(木) 16:13:49.990557デフォルトの名無しさん
2012/05/03(木) 16:15:07.480558デフォルトの名無しさん
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で補完させると両方引っかかってしまう)
0559デフォルトの名無しさん
2012/05/03(木) 16:31:51.10this
あと、クラスの変数じゃないから。オレオレ定義で呼ぶな
0560デフォルトの名無しさん
2012/05/03(木) 16:33:00.25this.weight = weight;
}
でいいじゃない
0561デフォルトの名無しさん
2012/05/03(木) 18:57:25.020562デフォルトの名無しさん
2012/05/03(木) 19:42:58.870563デフォルトの名無しさん
2012/05/03(木) 19:59:06.560564デフォルトの名無しさん
2012/05/03(木) 22:15:25.77ということをしたくて以下のように書いてみました。
this.textBox.addChangeHandler(new ChangeHandler(){
@Override
public void onChange(ChangeEvent event) {
if(!textBox.getValue().equals("")){
searchButton.setEnabled(true);
}
else{
searchButton.setEnabled(false);
}
}
});
これでも動作することはするのですが、テキストボックスからフォーカスを外さないとイベントが発生しません。
そうではなくテキストボックス入力中にボタンの有効・無効切り替えをできるようにしたいです。
KeyDownハンドラを使おうかとも思いましたが、一番キレイに実装するにはどうすればいいでしょうか?
0565デフォルトの名無しさん
2012/05/03(木) 22:25:28.270566デフォルトの名無しさん
2012/05/03(木) 23:58:30.870567デフォルトの名無しさん
2012/05/04(金) 05:16:24.46GWTとかでJSからオブジェクトを受け取る場合は変える事も出来るんだろうか?
0568567
2012/05/04(金) 05:26:05.20という記述が見つかった。
finalなフィールドを外部から書き換える事は出来ないようだ
0569デフォルトの名無しさん
2012/05/04(金) 09:53:52.990570デフォルトの名無しさん
2012/05/04(金) 12:32:44.07下記のように文字コードが指定できますが、
>byte charArray[] = target.getBytes("MS932");
byteって1バイトなので、文字コード指定したところで帰ってくる配列って変わらないんじゃないですか?
intなら各文字コードのマルチバイト文字の区切りで切り取るとかもできそうですが。
shift-jis読み取りのために一応つけてるんですが、これって意味がありますか?
0571デフォルトの名無しさん
2012/05/04(金) 12:34:37.791byte=1文字ではない
0572デフォルトの名無しさん
2012/05/04(金) 12:42:13.46String 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]
指定した文字コードによって返ってくる配列ちゃんと変わるぞ
0573デフォルトの名無しさん
2012/05/04(金) 13:10:10.71サンクスです。ファイルから読み込んだ場合と混同してました。
そうか、Stringから変換した場合、内部で文字コード変換が走るんですね、納得です。
0574デフォルトの名無しさん
2012/05/04(金) 13:12:16.670575デフォルトの名無しさん
2012/05/05(土) 09:09:01.7701 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をするわけで
すごく変なコードになる気がします。
0576デフォルトの名無しさん
2012/05/05(土) 10:26:12.67close は呼ぶべき
例外は回復不能なエラーばかりとは限らないから自動的に close されたりはしない・・・例えば SocketTimeoutException とか
変なコードは Java 7 からの新しい try-with-resources を使えば解決
0577デフォルトの名無しさん
2012/05/05(土) 11:12:45.03そこでcatchしたらfinally内でcloseの方がすっきりしそう。
ライブラリやAPIの類が例外だしたらインスタンスの再利用はできないことが多いしw
0578デフォルトの名無しさん
2012/05/05(土) 12:46:42.40ありがとうございます
作ってるアプリのいくつかの機能で共通点が多かったので
サブルーチンのような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{}}
}
0579デフォルトの名無しさん
2012/05/05(土) 13:00:59.04キャッチなしのtry{}finally{}を一つ入れるとキレイになりそう。
0580デフォルトの名無しさん
2012/05/06(日) 14:10:27.96@Windows7(x64) Ultimate
jdk-7u4-windows-x64.exe をD/L してダブルクリックしても
インストーラのダイアログが表示されません。
jdk-6u31-windows-x64.exe だと、問題なくインストールされます。
jre-7u4-windows-x64.exe をインストールしてパスを通したりしてますが
状況は変わりません。
どなたかお助けを。
0581デフォルトの名無しさん
2012/05/06(日) 14:16:48.070582デフォルトの名無しさん
2012/05/06(日) 14:31:40.15ありがとうございます。
ダウンロードし直してみましたが、ダメでした。
※1回目と2回目のファイルは同一でした。
困りました。
0583デフォルトの名無しさん
2012/05/06(日) 15:38:53.680584デフォルトの名無しさん
2012/05/06(日) 18:05:42.44swich文の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;
}
}
0585デフォルトの名無しさん
2012/05/06(日) 18:12:30.28なんか設計からして変な気がする。
のはさておき、重複して書くのは常に悪というわけではない。
読み易さのためなら有る程度の重複は許される。
スマートってのは読み易いということだ。
君がこれからやろうとしている事はコードゴルフの類いなので、
僕のスマートの定義ではこれ以上のスマートな書き方は無い。
むしろ設計を見直す。
0586デフォルトの名無しさん
2012/05/06(日) 18:13:48.87private 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();
}
0587デフォルトの名無しさん
2012/05/06(日) 18:17:13.52設計が変ですかね。確かに読みやすい気はしますが
記述的に無駄が多い気がして。
0588デフォルトの名無しさん
2012/05/06(日) 18:22:36.42private void doWork(int stage) throws Exception {
getClass().getMethod("method_" + stage).invoke(this);
}
0589デフォルトの名無しさん
2012/05/06(日) 18:47:58.16うーん、見た目スマートですけど
コレジャナイ感がします。
設計が変というのはint stageごとにmethod()作れってことですかね
0590デフォルトの名無しさん
2012/05/06(日) 18:49:39.21あと、ここに書くときは半角スペース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;
}
}
0591デフォルトの名無しさん
2012/05/06(日) 19:00:54.25doWork()内での処理ブロックの通過のさせ方を変えるような書き方をしたいんです。
たとえば、stageに4が代入されれば、method_1()を通過、method_2()を通過、
method_3()を飛ばしてmethod_4()を通過という処理をさせたいんですが、
これを視覚的にわかりやすく書けないものかとおもいまして。
0592デフォルトの名無しさん
2012/05/06(日) 19:36:16.90どうせ複雑になったらわかんなくなるからステートマシン図をちゃんと描いて保存しておいて
ソースの見やすさなんて無視でいいよ
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();
}
}
}
0594デフォルトの名無しさん
2012/05/06(日) 19:42:31.76int 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();
0596デフォルトの名無しさん
2012/05/06(日) 19:56:45.230597デフォルトの名無しさん
2012/05/06(日) 19:58:06.490598デフォルトの名無しさん
2012/05/06(日) 20:03:19.01画像のレイヤー表示的なことをしたいんです。でも同じようなもんですよね。
>>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();
}
0599デフォルトの名無しさん
2012/05/06(日) 20:06:38.470600デフォルトの名無しさん
2012/05/06(日) 20:11:31.57なんで?
0601デフォルトの名無しさん
2012/05/06(日) 20:26:47.18こうですか?わかりません。
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();
}
0602デフォルトの名無しさん
2012/05/06(日) 20:32:18.630603デフォルトの名無しさん
2012/05/06(日) 20:35:27.09ああ、、そんな気がしてきましたorz
0604デフォルトの名無しさん
2012/05/06(日) 20:36:03.79もっとも高速で実行できるということで良いですか?
0605デフォルトの名無しさん
2012/05/06(日) 20:43:03.77求めてたのはスマートな書き方じゃなかった?
0606デフォルトの名無しさん
2012/05/06(日) 20:46:17.41コードゴルフではなく、>>591 は 「視覚的にわかりやすく書けないものか」 と言っている。
0607デフォルトの名無しさん
2012/05/06(日) 20:48:38.93見た目重複が少なく、視覚的にわかりやすい書き方を求めてます。
かつ、できれば処理的にも軽いほうがいいです。
0608デフォルトの名無しさん
2012/05/06(日) 20:50:03.220609デフォルトの名無しさん
2012/05/06(日) 20:57:16.37そうでしょうか。
では>>585でFAということにしようと思います。
お付き合いありがとうございました。
0610デフォルトの名無しさん
2012/05/06(日) 20:57:23.54どうやるのが一般的なんでしょうか?
\u除いてparseIntで文字コードに変換まではできたのですが、
そこからStringに戻すとこで躓いてます。
そもそもそんなめんどくさいことしなくても、
一発で変換できるような関数があるのでしょうか?
0611デフォルトの名無しさん
2012/05/06(日) 20:58:40.74// 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();
}
0612デフォルトの名無しさん
2012/05/06(日) 21:04:53.370613デフォルトの名無しさん
2012/05/06(日) 22:04:28.04それならもうストラテジーやコマンド使って設計したほうが綺麗だと思う。
ていうかなんのコードだっけ?ゲーム?
0614デフォルトの名無しさん
2012/05/06(日) 22:09:09.661.ステートの中にもステートが存在するし、ステート自体にも固有状態が存在する。
2.典型的なステートの再利用が可能になる。また、クラス追加による拡張が可能になる。
あと、基本構造はコマンドパターンだな。
0615デフォルトの名無しさん
2012/05/06(日) 22:18:01.48匿名クラスが追加されてからは、メソッド内に
処理を埋め込めたりするんで記述がやや楽。
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; } };
0616デフォルトの名無しさん
2012/05/06(日) 23:04:25.02メモリなのか速度なのか
0617デフォルトの名無しさん
2012/05/06(日) 23:06:29.550618デフォルトの名無しさん
2012/05/06(日) 23:09:07.43パフォーマンスなんて作ってからでいいだろ
0619デフォルトの名無しさん
2012/05/06(日) 23:12:37.750620デフォルトの名無しさん
2012/05/06(日) 23:20:56.91それはSI屋の発想な気がする。
0621デフォルトの名無しさん
2012/05/06(日) 23:21:14.060622デフォルトの名無しさん
2012/05/06(日) 23:25:22.540623デフォルトの名無しさん
2012/05/06(日) 23:34:08.56>>620
do you know "premature optimization is the root of all evil" ?
0624デフォルトの名無しさん
2012/05/06(日) 23:50:00.61一年生かなんかだろ。そういう時期もあるさ
0625デフォルトの名無しさん
2012/05/06(日) 23:51:37.98↓
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
0626デフォルトの名無しさん
2012/05/06(日) 23:53:54.24無駄に速度に拘ってプログラム完成させられないやつって初心者〜中級者に多いよな
0627デフォルトの名無しさん
2012/05/06(日) 23:55:44.050628デフォルトの名無しさん
2012/05/07(月) 00:00:49.77→ほとんど誰も使わない機能でした
パフォーマンス改善しました!
→計画が変わってリリースされませんでした
パフォーマンス改善しました!
→「どの位速くなったの?」「さあ、わかりません」
0629デフォルトの名無しさん
2012/05/07(月) 00:01:48.02→コードが汚すぎてメンテ出来ません
0630デフォルトの名無しさん
2012/05/07(月) 00:06:01.550631デフォルトの名無しさん
2012/05/07(月) 00:12:22.11サーバーサイドだってサーブレットなんて使わずfcgi使うだろうし
0632デフォルトの名無しさん
2012/05/07(月) 00:17:35.130633デフォルトの名無しさん
2012/05/07(月) 00:19:33.84たしかに最速じゃないけど確実に上位だ。
0634デフォルトの名無しさん
2012/05/07(月) 00:27:31.79C++と大体似たコード書いて、newとか動的確保を最小限に抑えれば、C++に近い速度は出る
ただ、普通に使うとStringを始めライブラリがnewした領域に値をコピーするスタイルを取ってるもんで、
文字列やコンテナの一部をイテレーターで保持しとけばいいだけというケースでは大きく速度を引き離される
極力無駄なコピーを減らせばいいが、そんな事をすればJavaの標準ライブラリが逆に足かせになってしまう
0635デフォルトの名無しさん
2012/05/07(月) 00:41:59.70}
なんでメソッドの定義でだけjava.lang.Stringって書けないんですか?
引数のList<java.lang.String>はエラーが出ません
private <A, B, String extends java.lang.String> void test(List<String> l){
}
とかしておけばいいんですか?
0636デフォルトの名無しさん
2012/05/07(月) 01:57:26.500637デフォルトの名無しさん
2012/05/07(月) 04:36:35.470638デフォルトの名無しさん
2012/05/07(月) 15:45:18.41フリーの統合開発環境でこれDLしなさいと言われたのですが、名称が変わったのでしょうか?
0639638
2012/05/07(月) 15:47:16.93他にお勧めなのとかあったら教えてください
0640デフォルトの名無しさん
2012/05/07(月) 15:55:30.440641デフォルトの名無しさん
2012/05/07(月) 17:27:13.20http://ja.wikipedia.org/wiki/NetBeans#.E6.AD.B4.E5.8F.B2
0642デフォルトの名無しさん
2012/05/07(月) 17:37:30.95某自動車メーカーに派遣切りされて生きていく希望がありません。
派遣会社からも全然新しい配属先を紹介していただけません。
どうすればいいでしょうか?
0643デフォルトの名無しさん
2012/05/07(月) 17:46:40.52おれに質問されてもなあ…
0644デフォルトの名無しさん
2012/05/07(月) 17:49:30.470645デフォルトの名無しさん
2012/05/07(月) 17:58:02.04NetBeansもあるだろ。
ま、ここで質問する奴にはEclipseの方が向いてそうだからいいけど。
0646デフォルトの名無しさん
2012/05/07(月) 18:28:31.53質問じゃなくて相談してるのです!スレタイに相談ってかいてあるじゃないですか!
0647デフォルトの名無しさん
2012/05/07(月) 18:28:55.41ありがとうございました
0648デフォルトの名無しさん
2012/05/07(月) 19:23:55.74ここを参考に勉強中なのですが以下のようなエラーが出て行き詰っています。
自分なりにぐぐってみたりはしてるのですが解決策が見つからず困っています。
AccessのODBCドライバが32bitしかないようでしたので、odbcad32.exeからデータソースは登録されています。
どなたかご助言を頂けないでしょうか。
別スレで質問したのですがこちらのスレの方が適切だと思いましたので、改めて宜しくお願いします。
環境:Win7 64bit Java SE6
エラー内容:[Microsoft][ODBC Driver Manager] 指定された DSNには、ドライバーとアプリケーションとのアーキテクチャの不一致が含まれています
0649デフォルトの名無しさん
2012/05/07(月) 19:54:23.550650デフォルトの名無しさん
2012/05/07(月) 20:20:59.410651デフォルトの名無しさん
2012/05/07(月) 20:29:46.67サポート対象から外れたのか、インストールに失敗してしまいます。
Version6 の最初の方のUpdateはインストール出来たと思うのですが、Windows2000を
サポートしている最後のJava runtimeのUpdateは何でしょうか?
0652デフォルトの名無しさん
2012/05/07(月) 20:49:19.61マイクロソフトのジャバ部門に電話して有料サポートを受けましたか?
0653デフォルトの名無しさん
2012/05/07(月) 21:26:13.26javaSE6リリースノート-サポート対象のシステム構成[http://java.sun.com/javase/ja/6/webnotes/install/system-configurations.html]を見ると、Windows2000SP3とSP4でサポート対象になってるみたいですよ。
0654デフォルトの名無しさん
2012/05/07(月) 21:47:23.98ここから前のバージョンへ遡って実際にいれて試したらどうですか?
http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html
0655デフォルトの名無しさん
2012/05/07(月) 23:49:02.49データベースからデータ読み込むためにSQL文で
select*from テーブル名 where 主キーの列名 ? and ?;
として、バインド変数の?の部分には主キーの最初の行の値と最後の値を
入れて、すべての行を順に取り出すことは可能ですか?
可能だとしたら、どのように?の値を設定すればよいのでしょうか?
最初の行と最後の行が特定できる状況で、その値をそのまま指定するのはなしで
お願いします。
0656デフォルトの名無しさん
2012/05/07(月) 23:51:50.90こんな感じ?
0657デフォルトの名無しさん
2012/05/07(月) 23:52:28.73最近これ使ってるの見ないけど
0658デフォルトの名無しさん
2012/05/07(月) 23:58:20.06select * from テーブル名
だけでおk
0659デフォルトの名無しさん
2012/05/08(火) 00:04:07.710660デフォルトの名無しさん
2012/05/08(火) 00:07:18.24select*fromテーブル名
だと、一気にすべての行が取り出されるということはないでしょうか?
1行ずつ取り出すたびに処理を行ってから次の行という感じで回したいのですが・・・。
条件を指定する例や挿入の例はググると多いのですが、無条件の例が見当たりません。
最初の行と最後の行の値を(変数のような方法?で)指定できないでしょうか?
0661デフォルトの名無しさん
2012/05/08(火) 00:13:00.57だって意味的に同じだし
0662デフォルトの名無しさん
2012/05/08(火) 01:02:08.130663デフォルトの名無しさん
2012/05/08(火) 01:21:37.45言われてみれば意味的には同じですね…。
手元にデータないんで明日試してみます!
>>662
バインド変数 条件値 パラメータ 値の設定 PreparedStatement.set
などでググってたんですけど力及ばずでした。
0664デフォルトの名無しさん
2012/05/08(火) 10:57:26.80http://engawa.2ch.net/test/read.cgi/poverty/1336439613/
0665デフォルトの名無しさん
2012/05/08(火) 11:18:31.35ワールドワイドで優秀なプログラマー集めていた割には、三年以上持ちこたえてるサービスってグーグルマップかユーチューブとか買収したのだけになっちゃったね。
0666デフォルトの名無しさん
2012/05/08(火) 11:21:43.940667デフォルトの名無しさん
2012/05/08(火) 11:47:41.06せっかく手に入れたのにモトローラーどうするんだろう・・・
0668デフォルトの名無しさん
2012/05/08(火) 12:13:04.820669デフォルトの名無しさん
2012/05/08(火) 12:23:26.90そのすれ、ソニー(psp, ps vita, ps3(mono))のステマがいるみたいだけど、最近のソニーの開発部門はc# monoのマーケチングに力入れることにしたの?
0670デフォルトの名無しさん
2012/05/08(火) 16:05:09.80Googleにその金があるか分からんけど
0671デフォルトの名無しさん
2012/05/08(火) 16:19:41.76きれいなスライドショーサイトのソースを見たらこうなってたんですが
index.swf' + n + '" 'ってどういう意味ですか
0672デフォルトの名無しさん
2012/05/08(火) 17:01:31.32マウスカーソルを指定位置に移動させるにはどうすればいいでしょうか?
0673デフォルトの名無しさん
2012/05/08(火) 17:15:51.480674デフォルトの名無しさん
2012/05/08(火) 17:17:19.50それjavascript
しかも、nはソース書いた奴に聞け。
0675デフォルトの名無しさん
2012/05/08(火) 18:28:10.63ありがとうございます
0676デフォルトの名無しさん
2012/05/08(火) 19:01:03.17vita以降の開発環境がmonoで対応プラットフォームがvitaとPlayStation Suiteだから営業が頑張ってるんだよ。
PSSはせっかくdalvik捨てたのにH/W制限して遅いしAPIもUIもAndroidと大差ないよ。
mono自体HotSpot比べられるもんじゃないし。あとマルチバイト文字通らない。
vitaの市販ゲームはC#ネイティブだから別の話だけど。
0677デフォルトの名無しさん
2012/05/08(火) 19:13:25.050678デフォルトの名無しさん
2012/05/08(火) 19:18:30.080679デフォルトの名無しさん
2012/05/08(火) 19:35:33.91そのすれにポツンと書いてあるからもう知ってる人多いんじゃないの?
0680デフォルトの名無しさん
2012/05/08(火) 19:47:43.94kwsk
0681デフォルトの名無しさん
2012/05/08(火) 19:51:24.26APIに著作権があるかとかのこと?
というかそれ、知らない人向けのIT,WEB技術系向けのネタだし、もっと騒いでもらって新聞やテレビなど一般人向けでもっともっと取り上げられて
「オラクル」「ジャバ」の商標とか(クライアント・グーイ向け)プラットフォームを一般人に広く公知できれば十分○○のもとがとれる。
0682デフォルトの名無しさん
2012/05/08(火) 20:05:35.36Google 「API は著作権保護対象ではない」
↓
「Google製の Java互換言語!」 と主張できて、Google(゚д゚)ウマー!!
0683デフォルトの名無しさん
2012/05/08(火) 20:13:37.310684デフォルトの名無しさん
2012/05/08(火) 20:28:24.53oracle: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週間かけてこういう事やってる。
0685デフォルトの名無しさん
2012/05/08(火) 20:36:43.83J++が進化したのはC#
J#は独自拡張の多いJ++とは全く違って.NET上にほぼ純粋なJavaを実装したもの
0686デフォルトの名無しさん
2012/05/08(火) 21:24:43.62DOCOMO(テレホン大手), SONY(コンテンツ大手), IBM(インテグレート大手)などは、サン(元オラクル)にジャバのライセンスを支払ってるけど、グーグル(広告大手)は支払ってないでしょ。それについて両者は何ていってるの?
0687デフォルトの名無しさん
2012/05/08(火) 21:37:44.30APIを実装したライブラリなら著作権が働くのは解るが、
API自体に著作権って効果あったのか?
Wineとか、GPLによるAPI実装がマズくならね?
0688デフォルトの名無しさん
2012/05/08(火) 22:43:58.27「すべての行を順に取り出すこと」をしたいなら
ttp://idocsq.net/page/428 とか?
0689デフォルトの名無しさん
2012/05/08(火) 22:45:46.06元々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とか訴えられて全部ダメになる可能性もあってそっち方面も騒いでるよ。
0690デフォルトの名無しさん
2012/05/08(火) 22:49:41.020691デフォルトの名無しさん
2012/05/08(火) 22:56:11.480693デフォルトの名無しさん
2012/05/08(火) 23:12:15.820694デフォルトの名無しさん
2012/05/08(火) 23:14:23.02ありがとうございます。
FPSみたいなもの作っているのですが、もしかしてJavaには無いんじゃないかとヒヤヒヤしてました。
0695デフォルトの名無しさん
2012/05/08(火) 23:34:51.71著作権と特許権は別物ですよ。
とくに創作・著作物についての権利と侵害のクレームのための権原は、特許権と違ってどこかに申請してレジストするようなものではありません。
長文をグダグダ書いてみても、法律をしっかりと勉強したこともない一般人と同じくあなた自身もよく分かってないようなので、このネタを追いかけるとしてもこれ以上の議論に踏み込むのはあなたの知的レベルじゃちょっと難しいんじゃないですかね。
0696デフォルトの名無しさん
2012/05/08(火) 23:38:50.86APIは特許じゃないのが業界の共通認識
って話がどう関わってるか今ひとつわからん。
そんなんをOracleが訴えても負けるの明らかだろうから
本質はもっと別のところにあるんだよね?
0697デフォルトの名無しさん
2012/05/09(水) 00:03:35.940698デフォルトの名無しさん
2012/05/09(水) 00:55:37.49著作権侵害の方は一部認められたけど特許侵害が認められなくて応戦してるってのもあるんじゃないの?
API仕様が技術盗用と言ってるから特許ってことにしたいんだろうし7件特許侵害で攻めるところを2件で攻めることになったし。
その共通認識に関わる裁判で著作権で喧嘩売ったことはあっても特許で喧嘩売ったことはなかったからネタにされてるのもあると思う。
0699デフォルトの名無しさん
2012/05/09(水) 08:17:37.44Java以外の陣営に塩送っているようなもんだと思うけど…
どっちも協力しようなんて気はないんだろうな。
0700デフォルトの名無しさん
2012/05/09(水) 08:38:50.92Oracleも十分儲かってるのに、ちょいとがめつい感じするな。
0701デフォルトの名無しさん
2012/05/09(水) 11:24:42.11またお前か
0702デフォルトの名無しさん
2012/05/09(水) 11:39:54.78【License】ライセンス総合【利用許諾】
http://toro.2ch.net/test/read.cgi/tech/1266247461/
0703デフォルトの名無しさん
2012/05/09(水) 21:02:38.73どっちよ?
・開いている・・・既存のpackageにいくらでもclassやらinterfaceを追加してよい
・閉じている・・・一度リリースしたpackageには何も追加してはいけない
どっちでとらえるかによってpackageスコープの意味が変わるよねぇ。
0704デフォルトの名無しさん
2012/05/09(水) 21:05:13.31・開いている・・・既存のpackageにいくらでもclassやらinterfaceを追加してよい
・閉じている・・・既存のpackageには何も追加してはいけない
0705デフォルトの名無しさん
2012/05/09(水) 22:09:30.86確かMANIFESTファイルで指定する。
それとは別の倫理的な面で、package利用のライセンスの確認は必要。
0706デフォルトの名無しさん
2012/05/09(水) 22:17:22.940707デフォルトの名無しさん
2012/05/09(水) 23:54:49.64既存のパッケージの名前空間にあとからユニットテストクラスとか追加し放題だったような
0708デフォルトの名無しさん
2012/05/10(木) 00:37:06.770709デフォルトの名無しさん
2012/05/10(木) 01:03:24.38知識がつけばググって最新版の機能を補完できるようになる
それより、入門書としてまともかどうかが大事
最新でも嘘だらけのクソ本じゃ意味ない
むしろJavaが無名だった頃の方がしっかりしてる事もある
当時のパイオニアが書いてるからな
0710デフォルトの名無しさん
2012/05/10(木) 01:13:29.18シール機能があること初めて知った。
なるほどね。逆を言えば、シールしてなければ追加しても構わない
という意思表示もできるわけか。(シール使ってる人ほとんど居なそうだけど)
社内で複数jar作る場合とか、分散可能なパッケージか
分散しちゃいけないパッケージかって管理できるわけだ。
0711デフォルトの名無しさん
2012/05/10(木) 01:25:29.57ありがとうございます!
0712デフォルトの名無しさん
2012/05/10(木) 07:30:44.63泥棒に入られたくないために鍵があるのか、
なら鍵がかかっていなければ泥棒されてもいいって意思表示なんだな。
飛躍してね?
0713デフォルトの名無しさん
2012/05/10(木) 07:59:16.63気をつけることってありましたっけ?
中国のU+21300の文字をUTF-8で埋め込んでnative2asciiすると\ud844\udf00と処理
されて、サロゲートに変換しているようなんですが
これにnative2ascii -reverseをすると、そのまま\ud844\udf00が返ってきてしまいます。
0714デフォルトの名無しさん
2012/05/10(木) 08:01:32.290715デフォルトの名無しさん
2012/05/10(木) 11:43:41.130716デフォルトの名無しさん
2012/05/10(木) 11:44:50.220717デフォルトの名無しさん
2012/05/10(木) 13:32:05.40難しいことはスルーされる
0718715
2012/05/10(木) 14:27:58.12{
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がどういった役割をするのかと処理の流れを教えてください。
0719デフォルトの名無しさん
2012/05/10(木) 14:39:31.93どうでもいいけどC脳すぎるだろあんまり当てにしないほうがいいぞそれ
Cにしたってkをforの中で初期化する意味がわからん
0720デフォルトの名無しさん
2012/05/10(木) 15:02:15.09for(k=0; k<10; ++k) s+=k+1;
assert s==55;
最新のjdk(java7)の言語機能や提供ライブラリを使っても、1から10までの和(有限個数のsum)はこの古典的なfor loopの方法しかないのでしょうか?
0721デフォルトの名無しさん
2012/05/10(木) 15:11:52.73最悪でも高校では数列の和について何か習うんじゃね?
0722デフォルトの名無しさん
2012/05/10(木) 15:16:34.630723デフォルトの名無しさん
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の方法しかないのでしょうか?
0724デフォルトの名無しさん
2012/05/10(木) 15:36:32.97>
> 2・6=1+2+3+6
>
> 2・28=1+2+4+7+14+28
>
>だからである。S(n)が2nより大きいときは過剰数、S(n)がnより小さいときは不足数とよばれる。
0725デフォルトの名無しさん
2012/05/10(木) 15:38:22.12"珠玉のプログラミング"と言う本の最初のエピソードを読め。
0726デフォルトの名無しさん
2012/05/10(木) 15:47:30.17Addison-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
0727デフォルトの名無しさん
2012/05/10(木) 18:54:37.05読者が現場やプロレベルだと、新聞・雑誌コラム感覚で書いてみても数学の月刊誌とちがってわざわざ毎月お金だしてまで情報を得ようと思わないから、広告付きブログとか、書籍・ムック本しかないんじゃないかな。
著名カリスマな「フォトショップ達人が伝授する○○」のテクニック本みたいなのとおなじ。
それよりも、奥村先生のJavaによるアルゴは本がボロボロになるほど読んだので、次というか続編はJavaによるパラレルアルゴの現代的計算方法とトポロジーやグラフ・多重化など比較的新しいデータ紹介や海外論文手法(辞典)をそろそろ読んでみたいなあなんて思います。
0728デフォルトの名無しさん
2012/05/10(木) 19:22:37.61奥村先生。2chで宣伝してないで仕事してください
0729デフォルトの名無しさん
2012/05/10(木) 22:30:19.97他人のパッケージに追加って話じゃなくて、
俺のシールしてないパッケージは拡張していいよって
自分で拡張許可を示すのに使えるって言ってるの
>>714
赤の他人じゃなくて、社内とか自分一人とかの範囲の話。
配布するとき、自分が持ってるライブラリをフルセットで
配布する理由じゃなく、必要な分だけ小分けして配布するじゃん。
その時、jar毎にパッケージが閉じてたら、同じパッケージにあるべき
クラスやインターフェースを別のパッケージに置かなきゃいけないでしょ。
例えば、Model用のパッケージを用意するとして、
com.example.x.model、com.example.y.modelとjar毎に分けるより
Modelは全部com.example.modelの下に配置した方が
パッケージスコープも生かせるし便利でしょ。
0730デフォルトの名無しさん
2012/05/10(木) 22:50:31.23わかりづらいのは括弧を使わない書き方だからなのかと思って、冗長かもしれないけど中括弧と適宜追加した。
計算内容は理解できるってことだからコメントもいらなさそうだけど書いといた。
入門編がクリア出来ればいつの間にかサクサクできるようになってるさ。
ttp://ideone.com/9O3pd
0731デフォルトの名無しさん
2012/05/11(金) 00:02:48.36質問者ではないのですがhttp://ideone.com/9O3pdを見させてもらいました。
なるほどと思いました。
初心者にも優しい方がいて嬉しいです。
0732デフォルトの名無しさん
2012/05/11(金) 00:24:10.34マイクロソフトでびんぐれば誰でも六十秒以内に答えにたどりつけるので、あなた自身がコーディングやアップロードなどそういうどうでもいいことに六十秒以上の時間を掛けることは親切というよりもむしろ余計なお世話だと思いますよ。
0733デフォルトの名無しさん
2012/05/11(金) 12:22:11.36http://toro.2ch.net/test/read.cgi/blog/1329800848/
0734デフォルトの名無しさん
2012/05/11(金) 13:55:58.00public static void main(String[] args) {
Pattern pattern = Pattern.compile("^・");
Matcher matcher;
matcher = pattern.matcher("・あ");
boolean m = matcher.matches();
System.out.println(m);
}
これでfalseが出力されるのは何故なんでしょうか?
0735デフォルトの名無しさん
2012/05/11(金) 13:58:00.220736デフォルトの名無しさん
2012/05/11(金) 13:59:27.580737デフォルトの名無しさん
2012/05/11(金) 14:43:58.530738デフォルトの名無しさん
2012/05/11(金) 19:04:50.67このhoge.ってとこの仕組み等が詳しく知りたいんだけど何て単語でググればいいですか?
0739デフォルトの名無しさん
2012/05/11(金) 19:22:27.610740デフォルトの名無しさん
2012/05/11(金) 19:42:37.580741デフォルトの名無しさん
2012/05/11(金) 20:00:45.560742デフォルトの名無しさん
2012/05/11(金) 22:08:54.48いえいえ
お礼なんていらないよ
0743デフォルトの名無しさん
2012/05/11(金) 23:05:57.410744デフォルトの名無しさん
2012/05/11(金) 23:19:45.580745デフォルトの名無しさん
2012/05/12(土) 03:10:42.66/* ~ */と/** ~ **/の違いってなんじゃらほい?
0746デフォルトの名無しさん
2012/05/12(土) 03:25:23.050747デフォルトの名無しさん
2012/05/12(土) 03:35:44.32記号でぐぐっても出ないしどうしたもんかと思ってたが名称あったのね
0748デフォルトの名無しさん
2012/05/12(土) 04:21:32.99たとえば、
static HashMap<String, String> test = new HashMap<String, String>();
test.put("AA", "BBB");
としたとき、
static void func(String line)という関数を作って、func(test.get("AA"))と引数に渡したとき
func()の中でごちゃごちゃline変数をいじっても、あくまでfuncの中でしか関係ないはずなんですが、
調べてみると、ポインタが渡ってるようで元のtest.get("AA")の値が変わっています。
String hoge = test.get("AA");としてfunc(hoge)にしても同様に元のhashMap内の変数が書き換わります。
func内でごにょごにょしても、オリジナルに影響を与えないようにするのにどのような解決策がありますか?
0749748
2012/05/12(土) 04:35:45.68勘違いだったんでしょうか…
原因はどこに…
0750748
2012/05/12(土) 05:30:29.39使っていたのが、HashMap<String, String[]>だったのが原因のようで、String[]配列を関数に渡すと、そのままポインタが渡されるようです。
なので、関数のなかでごにょごにょしたやつが、そのまま反映されると…
関数の中の処理の影響を受けないスマートな方法はありますか?
一応、別の変数配列を用意して1つずつごりごりコピーするのが有効みたいですが、もうちょっとなにかスマートな方法があれば
ご教示ください。
ごりごりパターン
String[] test = {"AA", "BB"};
String[] test2 = new String[test.length];
for (int c = 0; c < test2.length; ++c) {
test2[c] = test[c];
}
0751デフォルトの名無しさん
2012/05/12(土) 07:14:06.24改善するなら、for文で1つずつコピーするんじゃなく、
System.arraycopyメソッドでまとめてコピーした方が(たいていは)速い、って程度。
例えばStringクラスは、内部ではchar配列で文字列を保持してる。
で、文字列をchar配列で取得するメソッドtoCharArray()を実行すると、
内部配列をそのまま返すのではなく、新しい配列を作ってコピーして返す。
内部配列をいじくられたら困るから。
あと、配列の代わりにListを使うと、少しだけスマートになる、かも。
0752デフォルトの名無しさん
2012/05/12(土) 08:06:23.91Arrays.copyOf(map.get("key")) でも (String[])map.get("key").clone() でも好きなの使え。
Listにしても基本は同じ。
影響受けたくないなら関数内でコピー作るとかしないとダメ。
0753デフォルトの名無しさん
2012/05/12(土) 10:19:05.82こんなこといちいち気にしてるのって、Javaだけだよね。
CもLL系も参照ダダ漏れだけど、普通に動いてるよね。
0754748
2012/05/12(土) 10:29:35.90教えてもらった内容を元に、極力影響を受けない実装に変更しようと思います。
おかしくなる原因がわかっただけでもよかった…
0755デフォルトの名無しさん
2012/05/12(土) 10:30:21.54そりゃお前が同じような処理をCやLL系で書いたことないだけだろ。
同じ問題は普通に起こる。
0756デフォルトの名無しさん
2012/05/12(土) 11:43:37.08Java → 書き換え可能な実装をしてしまった悪いライブラリ
C系やLL系 → 悪い呼び出し元が勝手に書き換えてしまった
極端かもしれないが、同じ問題が起こったときにどう考えるかが違う。
Stringみたいなクリティカルなクラスではやめて欲しいが、
Javaでも普通のライブラリなら、「書き換えてはいけない」と
一筆ドキュメント書くだけでも、別にいいんじゃないかと。
0757デフォルトの名無しさん
2012/05/12(土) 12:21:29.29この原因って分かる人居ますか?
このトピックの投稿者ではないです。
何でCHAR型使うんだというお話はナシでお願いします。
(歴史的経緯ゆえ変えられない。)
0758デフォルトの名無しさん
2012/05/12(土) 14:40:26.10テキストを複数のページにまたがる形で
印刷するサンプルを探しています。
出来れば、2頁縮小のレイアウトにしたい
です。
JFrameにJTextAreaを2つ置いて、テキスト
を流し込むイメージです。
参考になるリンクを教えてください。
0759デフォルトの名無しさん
2012/05/12(土) 15:00:16.15そういう実装に依存したトリックはやめて、
カラム幅に足りないぶん空白を追加して検索すればいいだけじゃない
0760デフォルトの名無しさん
2012/05/12(土) 15:05:01.900761デフォルトの名無しさん
2012/05/12(土) 18:27:39.12カラムのサイズを持たなきゃいけないからパス。
0762デフォルトの名無しさん
2012/05/12(土) 19:29:34.03単一JTextAreaにGraphics2D渡して
クリップずらしながら「さあ描け」を二回繰り返せば、
二段分のイメージが取れるんじゃないかな。
0763デフォルトの名無しさん
2012/05/12(土) 22:15:06.760764758
2012/05/12(土) 22:46:24.02http://sanjaal.com/java/160/java-file/how-to-print-a-text-file-in-java/
とりあえずやってみます。ありがとうございました。
0765デフォルトの名無しさん
2012/05/12(土) 23:16:09.010766デフォルトの名無しさん
2012/05/12(土) 23:23:14.030767デフォルトの名無しさん
2012/05/13(日) 00:51:30.48それから最近まではWebと無関係のものばかり作っていた者です。
(当時は、コントローラはHttpServletを拡張、ビューはJSPで、
モデルはJDBCを直に包んでBeanを出し入れするクラスを作ったり、でした)
そんな私が久々にWebアプリを作りたいと思っているのですが、
今だとどんなフレームワークの組み合わせを使うのが定番なんでしょうか?
0768767
2012/05/13(日) 02:15:48.66最近はSwingをよく使っていたので、個人的にはWicketが気になりますが。
0769デフォルトの名無しさん
2012/05/13(日) 02:15:58.50ライター側ってどうすればいいの?
全然解らない。
最初からストリングに書き込んでストリングから読み取れよって言われたらその通りなんだけども。
String str="";
BufferedReader reader = new BufferedReader(new InputStreamReader(new ByteArrayInputStream( str.getBytes() )));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new ByteArrayOutputStream() ));
0770デフォルトの名無しさん
2012/05/13(日) 02:16:54.51サーブレット内でsetしたものをgetするときちんと入ってるんですが。
keyの下記間違いはありません。
環境は
SE6
tomcat7
chrome IE9
になります。
どなたかご教示お願いします。
0771767
2012/05/13(日) 02:25:15.51つhttp://java.sun.com/javase/ja/6/docs/ja/api/java/io/StringWriter.html
0772767
2012/05/13(日) 02:27:37.46Readerの方も、これを使うのが手軽なのでは。
http://java.sun.com/javase/ja/6/docs/ja/api/java/io/StringReader.html
0773デフォルトの名無しさん
2012/05/13(日) 07:54:05.660774デフォルトの名無しさん
2012/05/13(日) 09:27:36.43∧__∧
(`・ω・´) 知らん
.ノ^ yヽ、
ヽ,,ノ==l ノ
/ l |
"""~""""""~"""~"""~""~"""~
0775767
2012/05/13(日) 13:35:17.71HttpServletとコマンドパターンで書いていた部分はStruts 2で置き換え、
JDBCで直接SQLを発行せずにJPA準拠のO/Rマッピング (Hibernate等) を使用する、
SpringはDIコンテナの一種でGoogle Guiceのように各部品をつなぐ役割、
といったところかな?
0776デフォルトの名無しさん
2012/05/13(日) 14:25:35.86OraclePrepareStatementを使いたいのよ。
これ使えばCHAR型での比較の挙動がsql*plusと同じになるから。
0777デフォルトの名無しさん
2012/05/13(日) 17:14:00.090778Jolly Rogers ◆0tkoCr0voc
2012/05/13(日) 23:54:37.75Oracle 側での定義と、SQL でどう書いてるか分からんとなんとも。
参考 URL の通りだとすると、
・ORACLE は CHAR(n) で定義している(半角空白で後ろが埋まる、固定長文字列型)
・だから iBATIS は「Oracle の定義を考慮して」 String 型(文字列型)のパラメータを受け付ける
つもりで準備してる
・なのに char (文字型)渡されたってキャストできないんじゃゴルァ
ってなってるように思えるけど。
※だから「後ろに必要分だけ空白をつけた文字列」にしてあれば動いてるんじゃないのかね
少なくとも iBATIS が渡すパラメータは char じゃなくて String でないと駄目じゃないか?
で String だと CHAR との比較は失敗する(後ろの空白が不一致になるから)ので、どうしても
というなら >759 か、あるいは遅くなるの承知で trim(列名) = #parameter# にするか。
0779デフォルトの名無しさん
2012/05/14(月) 14:17:14.18「『後ろに必要分だけ空白をつけた文字列』にしてあれば動いてる」のは
>・ORACLE は CHAR(n) で定義している(半角空白で後ろが埋まる、固定長文字列型)
>・だから iBATIS は「Oracle の定義を考慮して」 String 型(文字列型)のパラメータを受け付ける
が理由だと思うけど、
>・なのに char (文字型)渡されたってキャストできないんじゃゴルァ
は違う気がする。
似たようなのを作ってデバッグしたが、
setter.getPreparedStatement()をキャストしているところでExceptionを出してるから
要は$Proxyが何でPrepareStatement以外の実装クラスにダウンキャストできないんだよ。
というところっぽい。
$Proxyの中はPreparedStatementLogProxyでさらにその要素を見ていくとOracleのクラスが出てきた。
0780デフォルトの名無しさん
2012/05/14(月) 17:11:13.310781デフォルトの名無しさん
2012/05/14(月) 19:10:24.19後になってわかることもあるだろうから、
何が「最後」なのかはわからんよ。
0782デフォルトの名無しさん
2012/05/14(月) 19:51:45.66もう、やめてもいいっすかね?
0783デフォルトの名無しさん
2012/05/14(月) 20:05:23.030784デフォルトの名無しさん
2012/05/14(月) 20:06:30.120785デフォルトの名無しさん
2012/05/14(月) 20:06:57.940786デフォルトの名無しさん
2012/05/14(月) 20:27:18.45下記のようなtypeによってtextが変わってしまうデータが返される場合、
応答の格納をひとつのクラスで両パターンに対応させることは可能ですか。
可能な場合、textをクラスとしてどう記述すればよいか教えてください。
■パターンA
{"data":{
"type" : "a",
"text" : "hoge"
}}
■パターンB
{"data":{
"type" : "b",
"text" : [ { "name" : "bbb", "value" : "ccc" } ]
}}
※どっちが返るかわからない。
0787デフォルトの名無しさん
2012/05/14(月) 21:52:59.720788デフォルトの名無しさん
2012/05/14(月) 22:23:52.58応答文字列のチェックで
while(sum(pHand,pn)<21){
String s = "n";
if(s!=null && s.equals("n")){
break;
}else{
pHand[pn++]=nextCard();
show();
}
}
と言う様に書いた場合、if文の条件式は
変数sがnullかつnじゃ無い場合(yやその他の文字が入っている場合)はbreak
そうじゃ無い場合?はelse以下の処理を行うという事でしょうか?
自分でも何言っているのか分からないのですが、参考書の回答が
上記のようになっているのですが、イマイチ処理の意味が分からず・・・。
0789デフォルトの名無しさん
2012/05/14(月) 22:31:24.21逆
0790デフォルトの名無しさん
2012/05/14(月) 22:38:01.25逆だと(s==null&&"n")になる訳ではないのですか?
まぁ==にするとエラーになってしまうのですが・・・。
それから、nullかつnって言うのもよく分かりません・・・。
0791デフォルトの名無しさん
2012/05/14(月) 22:53:39.47s==null&&"n"だと絶対に成り立たないだろ
0792デフォルトの名無しさん
2012/05/15(火) 00:49:25.72先に s!=null でnullじゃないことを確認してるだけ
0793デフォルトの名無しさん
2012/05/15(火) 01:42:06.340794デフォルトの名無しさん
2012/05/15(火) 14:26:18.090795デフォルトの名無しさん
2012/05/15(火) 14:33:42.310796デフォルトの名無しさん
2012/05/15(火) 15:00:22.35public enum Test {
A(B), // フィールドは定義前には参照できません
B(C), // フィールドは定義前には参照できません
C(A);
private final Test next;
private Test(Test2 next) {
this.next = next;
}
}
静的フィールドを定義前に循環的に参照したいんですけど、
これはできないんでしょうか?
0797デフォルトの名無しさん
2012/05/15(火) 15:02:22.27> private Test(Test2 next) {
ではなくて、
private Test(Test next) {
でした。
0798デフォルトの名無しさん
2012/05/15(火) 15:06:43.08コンストラクタを呼ぶにはインスタンスを渡さないといけない
どうしろというのか
0799デフォルトの名無しさん
2012/05/15(火) 15:13:31.110800デフォルトの名無しさん
2012/05/15(火) 15:43:25.19サンプルコードを入力していたら、クラスは『既に定義されています』と表示されて実行できません。
このあと何度もサンプルコードに出てくるクラス名なので名前をその都度変えたくないのですが、同じクラス名を使ってコードを作成していける方法はありませんか?
回答よろしくお願いします。
0801デフォルトの名無しさん
2012/05/15(火) 15:48:42.920802デフォルトの名無しさん
2012/05/15(火) 16:03:54.60特に具体的な目的はないんですが、
メソッドが循環的に呼び出せるんだから、
静的フィールドもどうにかならないかなと思いまして…。
>>799
public class Test {
private final Test next;
private Test(Test next) { this.next = next; }
public static void main(String[] args) throws Exception {
Test a, b, c;
/*
a = new Test(
b = new Test(
c = new Test(
a))); // 変数aが初期化(ry
*/
a = new Test(
b = new Test(
c = new Test(
null)));
Test.class.getDeclaredField("next").set(c, a); // Can not set final field
}
}
クラスで無理矢理挿れようとしたら動的に怒られました
0803デフォルトの名無しさん
2012/05/15(火) 16:37:08.95すでに作った同じ名前のものを消せば
0804デフォルトの名無しさん
2012/05/15(火) 18:58:20.15プロジェクトがちがえばいいのではないでしょうか?
ttp://www.javadrive.jp/eclipse3/project/
0805デフォルトの名無しさん
2012/05/15(火) 19:21:47.32サンプルコードを作る度に新しいプロジェクトを作るということですか?
0806デフォルトの名無しさん
2012/05/15(火) 19:49:32.47はい
別プロジェクトならクラス名同じでもEclipseに怒られない
ソースファイル打ち直さなくてもドラッグ&ドロップでプロジェクトまたいでコピーするとかできます
0807デフォルトの名無しさん
2012/05/15(火) 19:58:31.93ttp://www.atmarkit.co.jp/fjava/rensai4/java5eclipse10/java5eclipse10_1.html
0808デフォルトの名無しさん
2012/05/15(火) 20:15:30.70なるほど。そうしてみます。
教科書見ながら勉強するときは普通みんなそうやってやるもんなんですか?
0809デフォルトの名無しさん
2012/05/15(火) 20:35:07.19アメリカの下院軍事委員会が先週、北朝鮮の脅威に備えるため、韓国などを
念頭に戦術核兵器を配備すべきとした法案を可決しましたが、国務省は「必要ない」と明確に否定しました。
ヌーランド報道官:「我々は核のない朝鮮半島を支持していて、その方針を変えない。
戦術核兵器を韓国に置く必要はないし、配備する計画も意図もない」
ヌーランド報道官は、オバマ政権が一貫して目指す核のない朝鮮半島の方針に変わりはないと強調しました。
TV朝日 (05/15 12:35)
http://www.tv-asahi.co.jp/ann/news/web/html/220515020.html
日米同盟強化へ 米は9条改憲歓迎 「反対まったくない」
憲法第9条に基づき、日本は集団的自衛権を行使できないとの解釈が
日米同盟強化への大きな障害になるとする認識はいま米側で広範に強まり、
米国では、現在党派を問わず反対はなく、むしろ暗に歓迎するという姿勢が大勢となった。
92年にはヘリテージ財団が「米国は非公式に日本に改憲を促すべきだ」とする政策提言を発表した。
先代ブッシュ大統領も公式会見で、日本が改憲を求めるならば問題はないと言明した。
民主党リベラル派のトム・ラントス下院外交委員長は「日本が安全保障でも大国にふさわしい役割を
果たすために憲法を改正しようとすることを強く支持する」と述べた。
東京都の石原慎太郎知事が16日にワシントンでの討論会で憲法破棄を提唱したとき、
米側の討論者のリチャード・ローレス元国防副次官は「日本の憲法は確かに米軍占領時代の遺物であり、
日本はそれを変える権利も自由も有している」と述べ、日本の憲法改正にいまの米側には抵抗がないことを明示した。
sankei.jp.msn.com/politics/news/120425/plc12042507090004-n1.htm
米国から提唱する「日本の核武装」
日本が唯一の核兵器被爆国として過去、自国の核武装に強く抵抗する理由は明白だったが、常軌を逸した隣国が
核兵器保有を公式宣言するに至った今、再考が必要になった
sankei.jp.msn.com/politics/news/111009/plc11100920310007-n3.htm
0810デフォルトの名無しさん
2012/05/15(火) 20:45:02.96うん
0811デフォルトの名無しさん
2012/05/15(火) 20:51:40.650812デフォルトの名無しさん
2012/05/15(火) 21:38:36.810813デフォルトの名無しさん
2012/05/15(火) 21:38:53.30Javaを使って、PDFファイルの中のrotateの値を取得するにはどのような方法があるでしょうか?
0814デフォルトの名無しさん
2012/05/15(火) 21:45:29.15それちょっと違くないか?
0815デフォルトの名無しさん
2012/05/15(火) 22:14:38.050816デフォルトの名無しさん
2012/05/15(火) 22:17:38.180817デフォルトの名無しさん
2012/05/15(火) 22:20:45.57Calendarは抽象クラスだ
0818デフォルトの名無しさん
2012/05/15(火) 22:52:46.89nextは初期化の時に渡さずインスタンスを作った後で渡す
0819デフォルトの名無しさん
2012/05/15(火) 23:05:13.040820デフォルトの名無しさん
2012/05/15(火) 23:22:01.12コマンドプロンプト管理者実行でしか出来ない。なぜだ。
0821デフォルトの名無しさん
2012/05/15(火) 23:26:55.900822デフォルトの名無しさん
2012/05/15(火) 23:31:02.82関係あるかな?
コマンドプロンプトでcd:\で移動しても見つからないってなる。
何度もパス設定したのに。
0823デフォルトの名無しさん
2012/05/15(火) 23:34:02.150824デフォルトの名無しさん
2012/05/15(火) 23:47:50.40Calendar.getInstanceとの違いは、「new GregorianCalendarでは常にGregorianCalendarインスタンスが得られるが、Calendar.getInstanceではそうとは限らない」という点です。
ttp://allabout.co.jp/gm/gc/80723/2/
0825デフォルトの名無しさん
2012/05/16(水) 00:04:30.50ロケールによってデフォルトのカレンダが変わる
0826デフォルトの名無しさん
2012/05/16(水) 01:30:38.660827デフォルトの名無しさん
2012/05/16(水) 06:09:48.30ありがとう、本気でありがとう
0828デフォルトの名無しさん
2012/05/16(水) 06:13:15.02何が違うんだ?
staticでnesInstance定義してる類は、ロケールや
プロパティを参照して環境にあった実際のクラスをロードする。
そうで無いものがあるか?
>違くない
どうでもいいが、これって栃木近辺の方言だっけ?
最近静岡出身の人も使う人が増えた気がする
0829デフォルトの名無しさん
2012/05/16(水) 14:19:10.78ヒント: メモリ領域の確保
0830デフォルトの名無しさん
2012/05/16(水) 19:15:23.49JapaneseImperialCalendarはどうなのさ。
0831デフォルトの名無しさん
2012/05/16(水) 19:38:05.72意味が解らん。サブクラスを通常のnewするんじゃなく
HeapAllocしたメモリーをラップしたインスタンスでも返すんかい。
0832デフォルトの名無しさん
2012/05/16(水) 21:11:52.54int d="あ".charAt(0);
逆にこの数値から全角文字に戻すにはどうすればいいですか?
ファイルを通す手段は使いたくないです。
0833デフォルトの名無しさん
2012/05/16(水) 21:26:33.750834デフォルトの名無しさん
2012/05/16(水) 21:33:04.99できました。
0835デフォルトの名無しさん
2012/05/16(水) 22:59:22.61Class.forName("org.postgresql.Driver");
DriverManager.getConnection("jdbc:postgresql://localhost:5432/sampledb","postgres","postgres");
↓こんなエラーがでて接続できません。
SEVERE: Servlet.service() for servlet [S_Top] in context with path [/sample] threw exception [null] with root cause
java.security.AccessControlException: access denied (java.util.PropertyPermission file.encoding read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at com.mysql.jdbc.StringUtils.<clinit>(StringUtils.java:70)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:286)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at D_Manager.getConnection(D_Manager.java:17)
at S_Top.doGet(S_Top.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
同じコードをmainから流すと普通に接続できます。
このスタックトレースの意味がわかる人いませんか?
0836デフォルトの名無しさん
2012/05/16(水) 23:04:29.40ヒント: メモリ領域の確保
0837デフォルトの名無しさん
2012/05/16(水) 23:04:43.140838デフォルトの名無しさん
2012/05/16(水) 23:06:14.11うお、即答すごい。ありがとうございます。
0839デフォルトの名無しさん
2012/05/16(水) 23:06:47.790840デフォルトの名無しさん
2012/05/16(水) 23:12:10.03いえいえ
0841デフォルトの名無しさん
2012/05/16(水) 23:20:42.700842デフォルトの名無しさん
2012/05/16(水) 23:34:44.73ぼくちんも困ってたんですぅ^^
でもたかりました^^
0843デフォルトの名無しさん
2012/05/16(水) 23:56:56.510844デフォルトの名無しさん
2012/05/17(木) 00:16:01.16こちらこそ宜しくお願いします
0845デフォルトの名無しさん
2012/05/17(木) 01:15:43.470846デフォルトの名無しさん
2012/05/17(木) 11:01:20.910847デフォルトの名無しさん
2012/05/17(木) 13:33:02.24もっと同じ本を何度も繰り返した方がいいんですか?
0848デフォルトの名無しさん
2012/05/17(木) 13:43:48.11流し見したって価値がないだろ。
0849デフォルトの名無しさん
2012/05/17(木) 14:02:45.03章ごとには理解してるはずなんだけど、また違う章で同じ様なコードが来ると忘れてるんです
0850デフォルトの名無しさん
2012/05/17(木) 14:23:17.66暗記しろとは言わないまでも、学習中の教科書くらい、用件がどのあたりに書かれているか覚えるまで読め。
0851デフォルトの名無しさん
2012/05/17(木) 15:06:55.560852デフォルトの名無しさん
2012/05/17(木) 15:34:46.860853デフォルトの名無しさん
2012/05/17(木) 15:47:18.46自分の作りたいやつににているもしくは必要な機能ににているサンプルを修正していったら?
0854デフォルトの名無しさん
2012/05/17(木) 17:36:41.41そういう人は、本より講座受ける方がいいかも。
0855デフォルトの名無しさん
2012/05/17(木) 20:35:36.35java3dもjoglもまともに更新してなさそうなんです。。
0856デフォルトの名無しさん
2012/05/17(木) 21:46:51.580857デフォルトの名無しさん
2012/05/17(木) 22:33:52.115/2にjogl 2.0rc8が出たばっかだが?
0858デフォルトの名無しさん
2012/05/17(木) 22:51:13.82ごめんちょっと前に見たときには全然更新してなかったんだ。。。
すんませんでした
0859デフォルトの名無しさん
2012/05/17(木) 23:02:29.170860デフォルトの名無しさん
2012/05/17(木) 23:23:48.010861デフォルトの名無しさん
2012/05/18(金) 02:25:04.33今まで勉強してた なんか燃えてきた
ありがとうございます
0862デフォルトの名無しさん
2012/05/18(金) 02:51:34.74それを例えば変数aに代入した場合、ResultSet.nextでResultSetが次の値を
読み込むと変数aの値はどうなるのでしょうか?
代入した際の値がそのまま保持されるのか、ResultSet.nextによって得られた
次の値が保持されるのか、どちらになりますか?
0863デフォルトの名無しさん
2012/05/18(金) 04:45:21.83いえいえ
0864デフォルトの名無しさん
2012/05/18(金) 05:48:20.95やってみそ
すぐわかっから
0865デフォルトの名無しさん
2012/05/18(金) 07:03:35.54未定義の型:String
useBeanのクラス属性 String の値が無効です
とエラーが出ます。どこを間違っているでしょうか?
JSPファイルは以下の3行のみです。
--------------
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ page import="java.lang.String" %>
<jsp:useBean id="test" scope="request" class="String" />
0866デフォルトの名無しさん
2012/05/18(金) 07:46:59.520867865
2012/05/18(金) 07:53:15.09<%@ page import="java.lang.*" %>
<jsp:useBean id="test" scope="request" class="java.lang.String" />
----------------------
pageEncoding指定が抜けていたようです。
さらにStringをパッケージ名から完全指定しました。
class="java.lang.String"
と記述すれば実行できました。
class="String"
と記述した場合はあいかわらずエラーですが。
0868デフォルトの名無しさん
2012/05/18(金) 08:01:04.65生成されたソース見れば、なぜエラーになるのか理解できると思うよ。
0869デフォルトの名無しさん
2012/05/18(金) 09:59:30.82参考に
ttp://www.atmarkit.co.jp/fjava/rensai/jdbc02/jdbc02.html
ttp://idocsq.net/page/429
0870デフォルトの名無しさん
2012/05/18(金) 14:46:47.82こういう出力がでます。(抜粋)
C:\xampp\rails-apps>rails server
Usage:
rails new APP_PATH [options]
Options:
-r, [--ruby=PATH] # Path to the Ruby binary of your choice
0871デフォルトの名無しさん
2012/05/18(金) 15:13:28.650872デフォルトの名無しさん
2012/05/18(金) 16:30:26.000873デフォルトの名無しさん
2012/05/18(金) 17:16:44.080874デフォルトの名無しさん
2012/05/18(金) 17:27:42.710875デフォルトの名無しさん
2012/05/18(金) 17:39:35.17実験的に手動でリクエストごとにHttpServletRequestからセッションを取得し、
そこからsession idを得て、標準出力にloggerで出すだけの
logger.info(request.getSession().getId());
こんなロジックで値を確認してみたのですが、ブラウザからアクセスがあるたびに
IDが変わってしまいます。
HTTPはステートレスなのは解ってるつもりなので、それはそうだと思うのですが、
ブラウザを終了しない限り、セッションタイムアウトするまでは同じIDを持ち回るというのは
どういう仕組みになるんでしょうか?
0876デフォルトの名無しさん
2012/05/18(金) 17:43:10.400877デフォルトの名無しさん
2012/05/18(金) 17:51:58.580878デフォルトの名無しさん
2012/05/18(金) 18:13:05.88<session-config>の中に、<cookie-config>をいろいろ設定していたのが
悪さをしていたようです。
試しに<session-config>の中は<session-timeout>だけにしてみたら
ちゃんとIDが固定されるようになりました。
ありがとうございました。
0879デフォルトの名無しさん
2012/05/19(土) 00:51:04.07128*96の画像ファイルを32*32に分割して2次元配列に入れようとしているのですが
Nullがでてしまいうまくいきません
どうかご助力お願いします
import java.awt.Container;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;
import javax.imageio.ImageIO;import javax.swing.ImageIcon;import javax.swing.JApplet;import javax.swing.JLabel;
public class aaa extends JApplet {
private void DivideImage(File f, JLabel lb[][]) {
int Highnum, Widthnum;// 縦分割,横分割の個数
ImageIcon imgic[][];
int KPixel = 32;// KPixelは画像の縦横のピクセル
try { BufferedImage bimg = ImageIO.read(f);
Highnum = bimg.getHeight() / KPixel; Widthnum = bimg.getWidth() / KPixel;
imgic = new ImageIcon[Highnum][Widthnum]; lb = new JLabel[Highnum][Widthnum];
// 以下分割して配列にいれる
for (int i = 0; i < Highnum; i++) {
for (int j = 0; j < Widthnum; j++) {
imgic[i][j] = new ImageIcon(bimg.getSubimage(j * KPixel, i
* KPixel, KPixel, KPixel));
lb[i][j] = new JLabel(imgic[i][j]);
}
}
} catch (IOException ex) {ex.printStackTrace();}
}
private JLabel Kyara[][];
public void init() {
Container cnt = getContentPane();
File f = new File("画像.png");
DivideImage(f, Kyara); cnt.add(Kyara[0][0]);
}
}
0880デフォルトの名無しさん
2012/05/19(土) 03:43:51.880881デフォルトの名無しさん
2012/05/19(土) 09:57:15.61KyaraにはDivideImageメソッドを適用して画像を入れているつもりなのですが、
メソッド内では代入できないのでしょうか?
0882デフォルトの名無しさん
2012/05/19(土) 11:44:32.580883デフォルトの名無しさん
2012/05/19(土) 12:10:37.55テストケースの実行中にwebページの内容を変更するという事がやりたくなった。
(これまでは手動でページを編集していた)
JVM自体を覆えるweb環境のモックオブジェクトを作れれば可能だろうけど、
(こういうURLにアクセスされたらこういうページを返す、というような事をテストケース中で定義したい)
そういう方法はあるんだろうか
0884デフォルトの名無しさん
2012/05/19(土) 13:01:03.010885デフォルトの名無しさん
2012/05/19(土) 13:11:49.48こういうURLにアクセスされたらこういうページを返す、というような事をテストケース中で定義したい
0886デフォルトの名無しさん
2012/05/19(土) 14:52:28.470887デフォルトの名無しさん
2012/05/19(土) 15:03:13.91ScalaやるならJavaからはじめたほうがいいの?
0888デフォルトの名無しさん
2012/05/19(土) 15:09:01.86ScalaはJava(言語)使いたくないけどJava(プラットフォーム)使わないと仕方がない人のためのもので、
関数型やりたいだけだったら他のにすればいいのに
0889デフォルトの名無しさん
2012/05/19(土) 15:54:56.01Kyaraの配列の要素数を前もって
private JLabel Kyara[][] = new JLabel[4][3];
としておけばうまくいきました
メソッド中で配列の要素数を宣言したのがまずかったのかもしれません
ありがとうございました
0890デフォルトの名無しさん
2012/05/19(土) 16:01:37.28無ければ入力した文字をtxtに追記というプログラムを作りたいのですが比較、追記のプログラムを別々に作ることはできたのですが合わせるとうまくいきません。
if文で判定はできないのでしょうか?
0891デフォルトの名無しさん
2012/05/19(土) 16:11:20.920892デフォルトの名無しさん
2012/05/19(土) 16:24:41.98まあ、file ioだかnioがまずいんだろうけど
0893デフォルトの名無しさん
2012/05/19(土) 16:43:41.400895デフォルトの名無しさん
2012/05/19(土) 17:03:05.430896デフォルトの名無しさん
2012/05/19(土) 17:07:20.63そうでなければ1.7メインで。
0897デフォルトの名無しさん
2012/05/19(土) 17:08:29.611.7一択
0898デフォルトの名無しさん
2012/05/19(土) 17:10:06.18javaのライブラリに頼らないとテキストファイルの操作すらまともにできない言語w
0899デフォルトの名無しさん
2012/05/19(土) 17:21:20.10>>893
ありがとうざいます!
別々に処理してみます
0900デフォルトの名無しさん
2012/05/19(土) 17:50:37.94これが沢山になると面倒なのでファイルから読み込ませたいんだけど、
Propertiesクラス使って読み込むコードを自分で実装しなきゃだめ?
0901デフォルトの名無しさん
2012/05/19(土) 19:36:25.380902デフォルトの名無しさん
2012/05/19(土) 19:45:38.33grassfishはEJBがつかえるよ。TomcatはJSP/サーブレットまで
0903デフォルトの名無しさん
2012/05/19(土) 19:50:50.300904デフォルトの名無しさん
2012/05/19(土) 19:51:21.460905デフォルトの名無しさん
2012/05/19(土) 19:51:46.24実装したくないならしないほうがいいですよ
0906デフォルトの名無しさん
2012/05/19(土) 19:53:32.12カスかてめぇコラぁ
0907デフォルトの名無しさん
2012/05/19(土) 20:05:23.301.7でもbeansbindingは動くでしょうか?
0908デフォルトの名無しさん
2012/05/19(土) 20:08:25.700909デフォルトの名無しさん
2012/05/19(土) 20:14:18.470910デフォルトの名無しさん
2012/05/19(土) 20:18:24.170911デフォルトの名無しさん
2012/05/19(土) 22:03:02.92米国が韓国から輸入する一部の貝類の流通や小売を禁止させた。韓国は米国向けに
年間2300万ドル(約270億ウォン)分の貝類を輸出している。牡蠣の輸出割合が最も
多く、牡蠣産業界の被害が懸念される。
●米「韓国産牡蠣からノロウイルス検出」
18日、米食品医薬局(FDA)は、「韓国から輸入する貝類の流通を、全国的に禁止する一方、
近いうちに、リコール措置を下す予定だ」とし、消費者らに対し、摂取しないよう呼びかけた。
これに先立って、1日は、貝類を扱う業者らの輸出資格を取り消した。
FDAは、韓国産貝類は、養殖して採取した地域の水や土地が汚染し、食中毒の発生原因
であるノロウイルスが、貝類を通じて人間に移る危険性があると指摘した。ノロウイルスとは
、吐き気や嘔吐、下痢、胃の痙攣を誘発する食中毒菌だ。
米国では昨年末、韓国産牡蠣を食べた1?2人の消費者が、ノロウイルス症状を見せた。
米政府は今年3月に訪韓し、米輸出向け牡蠣を養殖する慶?南道(キョンサンナムド)の統營
(トンヨン)・巨濟(コジェ)地域を調査し、検査の結果、ノロウイルスが検出されたと発表した。
農林水産食品部(農食品部)は、統營・巨濟の牡蠣養殖場などに対するノロウイルス安全
計画をまとめ、米側に伝える一方、ノロウイルスを除去し、近いうちに輸入再開できるよう
努力すると明らかにした。
0912デフォルトの名無しさん
2012/05/19(土) 22:30:45.40>>897
1.7を入れることにします
JDKでググってもhttp://java.sun.com/javase/ja/6/download.htmlがヒットするんですが日本ではやっぱり1.7は一般公開されてないって事ですか?
英語版のほうにはありますけどもhttp://www.oracle.com/technetwork/java/javase/downloads/index.html
0913デフォルトの名無しさん
2012/05/19(土) 22:43:04.040914デフォルトの名無しさん
2012/05/19(土) 22:55:06.335時間に一回くらいFull GCがおきてるんですけど、この程度なら普通すか?
そもそもミッションクリティカルじゃない場合でもFull GCって絶対おきないようにするんもんすか?
とくにサーバーに負荷がかかっているわけでもなすけど
ネットで調べたところ、Full GCの間は処理がとまってしまうと書いてあったので
ちょっとビビッてます。
0915デフォルトの名無しさん
2012/05/19(土) 22:56:59.60JSPとサーブレットどっちが主流でしょうか?
0916デフォルトの名無しさん
2012/05/19(土) 22:58:20.61画面表示はJSP、ビジネスロジックはサーブレットという感じでどっちも使うよ
0917デフォルトの名無しさん
2012/05/19(土) 23:00:22.910918デフォルトの名無しさん
2012/05/19(土) 23:23:01.78画面表示はHTML+jQueryで、Apacheかnginxに任せる。
ビジネスロジックはServlet+Springで、TomcatかJetty。
画面とロジックはajax通信でJSONによる表示情報のやりとりのみの疎結合。
ビジネスロジック出来て無くても、ロジックが返すはずのモックオブジェクトを
ローカルにJSONで置けるから、Webデザイナーとプログラマの作業分担もやりやすい。
JSP使うと、作業分担もしにくいしデザインも入れ込みにくい。
おまけにロジック絡まない画面まで全部アプリケーションサーバを通すから
Webサーバ無しでいいっちゃいいけど、高負荷時とかで問題が起きたときに切り分けしづらい。
0919デフォルトの名無しさん
2012/05/20(日) 00:41:39.780920デフォルトの名無しさん
2012/05/20(日) 00:55:01.97現在時点ではJava日本版のサイトから辿ってもそのサイトへ誘導されますね
ttp://www.oracle.com/technetwork/jp/java/index.html
0921デフォルトの名無しさん
2012/05/20(日) 01:00:57.83「Java SE ダウンロードの最新版は、こちら(USサイト)からダウンロードをお願いします。」
って書いてあるよ。
0922デフォルトの名無しさん
2012/05/20(日) 01:38:52.42テキストから行ごとに読み込み完全に一致したものを表示でindexOfを使っていたのですが
これだと順番がバラバラでも表示されてしまうことに気が付きequalsを使ったのですが表示され無くなってしまいました。
原因がわからないのですが…
0923デフォルトの名無しさん
2012/05/20(日) 01:43:00.920924デフォルトの名無しさん
2012/05/20(日) 01:49:26.81import java.io.*;
class hikaku {
public static void main(String[] args) {
try {
InputStreamReader is = new InputStreamReader(System.in);
System.out.print("PleaseInputNumber → ");
int str = is.read();
BufferedReader br = new BufferedReader(new FileReader("./InputNumber.txt"));
String line=null;
while ((line = br.readLine()) != null) {
if(line.equals(str))
System.out.println(str);
}
br.close();
} catch (IOException e) {
System.out.println(e);
}
}
}
0925デフォルトの名無しさん
2012/05/20(日) 02:43:31.240926デフォルトの名無しさん
2012/05/20(日) 02:45:49.54> InputStreamReader is = new InputStreamReader(System.in);
> int str = is.read();
→
BufferedReader is = new BufferedReader(
new InputStreamReader(System.in));
String str = is.readLine();
>>590の「ここに書くときは半角スペース2個を、全角スペース1個に置換しといて!」を守れ
あと、もっと試行錯誤しろ
0927924
2012/05/20(日) 02:46:26.15テキストの中に 111 とあってこのプログラムで 111と入力しても表示されないのですが…
0929デフォルトの名無しさん
2012/05/20(日) 04:15:24.020930デフォルトの名無しさん
2012/05/20(日) 04:26:42.950931デフォルトの名無しさん
2012/05/20(日) 07:18:38.15札幌市立啓北商業高校の野島(横濱)えり Microsoft USA co.tp.
弖十=TEN10(teto)=優多野手頭=野慈蚕=帝跿(徒)=衛鴉朧 笑狸乃雉匯
0932デフォルトの名無しさん
2012/05/20(日) 09:59:17.750933デフォルトの名無しさん
2012/05/20(日) 11:08:56.62http://www.oracle.com/technetwork/java/eol-135779.html
0934デフォルトの名無しさん
2012/05/20(日) 11:31:11.08String型とint型を比較して一致するわけないだろ
0935デフォルトの名無しさん
2012/05/20(日) 14:50:47.87___________
|| // // |
|| / ̄ ̄ ̄ ̄\. | /  ̄ ̄ ̄ \
|| ( 人____) | ( )
|| |ミ/ ー◎-◎-)| (ヽミ i
|| (6 ゜(_ _) )|. ( 6) !
|| __| ∴ ノ 3 )| (∴ \____ノ__
|| (_/.\_____ノ | .>>929(っ___□__)
|| / ( )) ))ヽ| ( )) |三| ヾ
0936デフォルトの名無しさん
2012/05/20(日) 19:44:14.35これバグ埋もれないか?
0937デフォルトの名無しさん
2012/05/20(日) 20:55:08.45目的:ボタンを常に無効にしたい。
PropertyChangeイベントで、
JButton button = (JButton)propertyChangeEvent.getSource();
button.setEnabled(false);
にしてみたら、ボタンのプロパティ値はfalseだけど、ボタンは押せるおかしな状態になってしまいました。
プロパティが変更される直前にイベントが発生して、変更をキャンセルするようなことはできないのでしょうか?
0939デフォルトの名無しさん
2012/05/20(日) 23:38:13.940940デフォルトの名無しさん
2012/05/21(月) 01:18:51.761.3・・・
常に無効にしたいなら無効なボタンの画像にしちゃえば?
もしくは表示が普通でも良いならリスナー側でreturnするとか
0941デフォルトの名無しさん
2012/05/21(月) 02:55:39.10javax.cryptoパッケージを使った暗号化・復号化と、
同じ結果を得られるJavaScriptの暗号化復号化ライブラリがあれば
教えて下さい。
https://code.google.com/p/crypto-js/
これは試してみたのですが、AES、DESなどで暗号化結果が合わないようでした。
0942デフォルトの名無しさん
2012/05/21(月) 03:13:12.020943デフォルトの名無しさん
2012/05/21(月) 11:53:11.33ある程度何でも作れるようになるまで何年かかりましたか?
0944デフォルトの名無しさん
2012/05/21(月) 12:00:11.150945デフォルトの名無しさん
2012/05/21(月) 15:02:42.160946デフォルトの名無しさん
2012/05/21(月) 15:18:53.24testrun.java
class testrun{
public static void main(String[] args){
new sleeptest();
}
}
sleeptest.java
class sleeptest{
void sleeptest(){
Runtime rt = Runtime.getRuntime();
try{
rt.exec("sleep 30");
}
catch(Exception ex){
System.exit(1);
}
}
}
下記の様にすると実行できはしたのですが、気になっています。
testrun.java
class testrun{
public static void main(String[] args){
sleeptest st = new sleeptest();
st.sleeptest();
}
}
0947デフォルトの名無しさん
2012/05/21(月) 15:20:27.510948デフォルトの名無しさん
2012/05/21(月) 15:29:34.15> void sleeptest(){
sleeptest() {
voidをつけるとコンストラクタ定義ではなくメソッド定義になる。
sleeptestは明示的にコンストラクタが定義されていないので
引数なしで何もしないコンストラクタが暗黙に追加される。
0949デフォルトの名無しさん
2012/05/21(月) 15:29:46.38> void sleeptest(){
void が付いてるから、それはコンストラクタじゃなくメソッドになる
コンストラクタは戻り値 void ではなく、何も書かないんだ
0950デフォルトの名無しさん
2012/05/21(月) 15:30:33.840951デフォルトの名無しさん
2012/05/21(月) 15:31:24.410952デフォルトの名無しさん
2012/05/21(月) 15:31:52.450953デフォルトの名無しさん
2012/05/21(月) 15:49:39.15>>949
ありがとうございます、voidはずしたらなりました!
returnしなければいいのかと思ってました。
0954デフォルトの名無しさん
2012/05/21(月) 15:51:27.20Javaの代替
0955デフォルトの名無しさん
2012/05/21(月) 19:16:12.08String s1 = "ABC";
String s2 = "DEF";
String added = s1 + s2;
とやるより、
StringBuilder bf = new StringBuilder();
bf.add("ABC");
bf.add("DEF");
String added = bf.toString();
とやるべきだと聞きますが、前者のStringオブジェクトどうしの
結合はなぜ推奨されないのでしょうか?
0957デフォルトの名無しさん
2012/05/21(月) 19:35:44.33s1、s2が必要でないなら、
String added = "ABC" + "DEF";
が良い。
StringBuilder使うよりも。
0958デフォルトの名無しさん
2012/05/21(月) 19:41:27.490959デフォルトの名無しさん
2012/05/21(月) 19:42:25.33ありがとうございました。勉強になりました。
大量にオブジェクト作って、メモリ消費量も確認してみたいと思います。
0960デフォルトの名無しさん
2012/05/21(月) 20:02:57.05ループでnewしたりする事さえ注意すれば何してもいいじゃん
0961デフォルトの名無しさん
2012/05/21(月) 20:43:57.00その例だと変わらんよ
0962デフォルトの名無しさん
2012/05/21(月) 21:02:11.580963デフォルトの名無しさん
2012/05/21(月) 22:41:55.520964デフォルトの名無しさん
2012/05/21(月) 23:07:50.280965デフォルトの名無しさん
2012/05/21(月) 23:08:50.91List<String> fooList = new ArrayList<String>() {
{
add("foo");
add("baa");
add("hoge");
}
};
0966デフォルトの名無しさん
2012/05/21(月) 23:14:57.81いちいちクラスが生成されて、たかがコレクションの初期化に使うには激しく無駄の多いやり方なので真似しないほうがいいよ
0967デフォルトの名無しさん
2012/05/21(月) 23:53:29.64レスありがとうございました。無名クラスについて調べてみます。
インタフェースをその場で実装するようなのは見たことがあったんですけど、
具象クラスでこういうのは初めて見たので助かりました。
0968デフォルトの名無しさん
2012/05/22(火) 00:02:34.67メモリー消費はあんまり関係ない
処理速度の問題
for(;;) string = string + "文字";
ループでこういう書き方したとき、変数stringに
格納した文字列は毎回解放される。
また、stringの内容は+演算子によって生成された
メモリー領域に毎回コピーされる
例えばコピーが行われる内容はこんな感じ。
1回目: 文字
2回目: 文字文字
3回目: 文字文字文字
このコピーが凄く無駄。StringBuilderだと、コピーせず内部で
リストに繋いでたりするからループ中でコピーする文字列はこんな感じになる
1回目: 文字
2回目: 文字
3回目: 文字
0969デフォルトの名無しさん
2012/05/22(火) 00:03:39.38最適化で消えるだろ
0970デフォルトの名無しさん
2012/05/22(火) 00:27:35.24double brace initialization
バッドノウハウだから使うな。メリットゼロ
0971デフォルトの名無しさん
2012/05/22(火) 00:29:04.13まいいや
0972デフォルトの名無しさん
2012/05/22(火) 00:40:31.94読みやすいというメリットは明らかだがデメリットがあんま解からんな
速度カリカリにチューンしなきゃならんのならマズイのは解るが
起動しっぱなしのアプリで高頻度で呼ばない処理なら
大したデメリットないじゃん。
0973デフォルトの名無しさん
2012/05/22(火) 00:56:21.76さすがにあんまり多用してたらメモリ食うしロードも遅くなるぞ
0974デフォルトの名無しさん
2012/05/22(火) 01:07:59.780975デフォルトの名無しさん
2012/05/22(火) 01:10:42.65なんで動くか理解したか?
理解できればあり得ないって気づくよ
0976デフォルトの名無しさん
2012/05/22(火) 01:21:30.62staticフィールドの初期化で動いてんだろ
コンストラクターより前に動くはずだから危険な気がするが
みなさんにはぜひおすすめしたい
0977デフォルトの名無しさん
2012/05/22(火) 01:23:05.30ちがう。javapの結果ちら見して答えちゃだめよ。
0978デフォルトの名無しさん
2012/05/22(火) 01:25:33.62ふと疑問に思ったんだがあのコード実行中に一回しか動かなくね?
0979デフォルトの名無しさん
2012/05/22(火) 01:28:17.23中級者→どっかの解答みて小一時間かけて漸く説明出来るようになる
上級者→コード整形とかしてるうちに、あ、あれ使ってたのかよ!とわかる。で、待てよ・・・と検討に入る。
だいたいこんな感じになると思う。
何で動くか理解出来る奴少な杉!な時点でもうないよね
0980デフォルトの名無しさん
2012/05/22(火) 01:28:52.44うん。一回だね。
0981デフォルトの名無しさん
2012/05/22(火) 05:17:02.390982デフォルトの名無しさん
2012/05/22(火) 06:15:18.72その辺はアセンブラから来るともどかしい。
梅。
0983デフォルトの名無しさん
2012/05/22(火) 06:23:40.24C/C++ メモリの数珠繋ぎ、下手したらこま切れw
0984デフォルトの名無しさん
2012/05/22(火) 07:14:55.090985デフォルトの名無しさん
2012/05/22(火) 07:55:21.38os上でアプリ何度か起動する時点で、アプリに割り当てられてるメモリは細切れなんだし。
0986デフォルトの名無しさん
2012/05/22(火) 08:00:46.990987デフォルトの名無しさん
2012/05/22(火) 09:26:47.32名称ありがとうございます。おかげさまで関連情報をいろいろと見つけることができました。
中括弧が二重になっているからdouble braceってわかりやすいですね。
これは無名内部クラスの作成と非staticな初期化ブロックの組み合わせで実現しているようです。
確かに普通のクラスでこれを使うのはやりすぎな感じがしますし、getClass()しても無名クラスが返ってくるしでイマイチな感じでした。
static finalで参照専用なCollections.unmodifiableListあたりのの初期化なら使えそうな感じがします。
# コンパイルすると無名クラスファイルができてしまうのはご愛嬌?
今回は一つのちょっと風変わりなコード片からいろいろと学べて良かったです。
ご回答くださったみなさま本当にありがとうございました。
0988デフォルトの名無しさん
2012/05/22(火) 13:09:25.87いえいえ
0989デフォルトの名無しさん
2012/05/22(火) 13:11:40.221) ZIPファイル解凍(中に複数のテキストファイルあり)
2) 解凍した複数のテキストファイルを読込みながらDBへINSERT
するjavaプログラムがあるのですが、
ほとんどの場合、正常に動作し、中のテキストファイルが全てDBに取り込まれるのですが、
まったく同じZIPを相手にしているのに、時たま1、2ファイル抜け落ちてしまうことがあります。
ただしその場合でもプログラムは正常終了しています。
ログを仕込んで調査した結果、
1)はちゃんと全ファイル解凍しに行っています。
2)も1)で対象になった全ファイル読込み対象にしに行っています。
なのに1、2ファイル抜け落ちてしまうことがあるのです。
なので、考えられるのは、1)でZIPを解凍する際、
1-1) ZIPファイルのエントリリスト取得(java.util.zip.ZipEntry)
1-2) 1-1)のリストのファイルをBufferedInputStream#readで読込み
1-3) 1-2)をFileOutputStream#writeで解凍先へ書込み
のうち、1-3)のFileOutputStream#writeが非同期になっている(書込み完了を待っていない)
もしくはOSの遅延書込みが原因かと思っています。
javaで書込み完了を待つ、もしくはOSの遅延書込みを待つ等の制御は可能なのでしょうか?
または別の原因でしょうか?
このあたりに詳しい方、アドバイスお願いします!m(_ _)m
ちなみにOSはWindowsXPで、Java1.4.2です。
ソースが必要でしたら晒すことも可能です!
0990デフォルトの名無しさん
2012/05/22(火) 14:18:50.88初歩的な質問ですがわかりやすくご教授頂けないでしょうか。。
btn1.addActionListener(this);
0991デフォルトの名無しさん
2012/05/22(火) 14:26:11.06this が何かのイベントを listen したいなら、 this をイベントリスナーにする
0992デフォルトの名無しさん
2012/05/22(火) 14:28:45.190993デフォルトの名無しさん
2012/05/22(火) 14:29:36.46thisである自分自身にActionListenerがimplementsされてれば有ってるよ
リスナーはイベントが起きたときの処理を記載したクラス
イベントが起きるとリスナーの中の決まったメソッドを実行してくれる
0994990
2012/05/22(火) 14:45:40.15btn1.addActionListener(this);を記載したのと同じクラス内にはactionPerformed(ActionEvent e)というメソッドがあります。
btn1がクリックされるなどのイベントが発生した場合に、actionPerformedが呼び出され処理をしますってことでしょうか?
例えばActionListenerがimplementsされた他のクラスで処理させる場合にはどのように記述されるのでしょうか。
0995デフォルトの名無しさん
2012/05/22(火) 14:49:57.19将来的にはプログラムの配布とかをしたいので気になりました。
0996デフォルトの名無しさん
2012/05/22(火) 14:51:20.15お願いしますJRE入れてくださいって土下座するになるけどなw
それが嫌なら.NETにしとくのが吉
0997デフォルトの名無しさん
2012/05/22(火) 14:54:31.00linuxだったらどーするんだ?
0998デフォルトの名無しさん
2012/05/22(火) 14:56:22.45Arrays.asList
0999デフォルトの名無しさん
2012/05/22(火) 14:59:53.10Doppio VM とか言ってみるテスト
1000デフォルトの名無しさん
2012/05/22(火) 15:03:50.5010011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。