1 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 17:52:10 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド115【歓迎】 pc11.2ch.net/test/read.cgi/tech/1210529127/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
42 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:38:28 ] >>33 例外出るだろ?
43 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:40:56 ] >>40 いえ、ほかの方かと…(汗 >>41 デタラメに見えてしまいましたか(汗 受け答えもよくなかったようなので反省します… プログラムは一応習ったのを応用して 書いてみたのですがうまく>>33 の表現にならなかったので… 一から書き直したほうがいいでしょうか?
44 名前:32 mailto:sage [2008/06/14(土) 18:51:59 ] すいません、質問の仕方が酷かったです。 例えば、x = f(x)という式があって、f(x)がtrueかfalseを返すとします。 そいう条件下であってもjavaでは if (x = f(x)){ /* xを使った処理 */ } という書き方は許されないのでしょうか? ちなみに「式が値を持つ」という言い回しはCの本で有名なK&Rに出てた言葉ですが こういう言い方はあまりしないのですか?
45 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:52:35 ] >>33 方法は少なくとも2通りある。 1. 1行を何度かに分けて表示する。System.out.print("1+1="); System.out.println(1 + 1); 2. データを文字列に連結してから表示する。System.out.println("1+1=" + (1 + 1)); どっちかは習ってるんじゃないの。
46 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:54:11 ] >>44 この場合はふさわしくない、という意味 1 + 1も式、 a /= 1 + 1も式でしょ
47 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:57:24 ] >>44 xがbooleanなら、そう書くこと自体に問題はない。
48 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:58:18 ] >>44 参考までに、どうしてそういう疑問が湧いたのか教えてくれれば幸い
49 名前:32 mailto:sage [2008/06/14(土) 19:01:43 ] >>46 >>47 ありがとうございます。文法的には許されるんですね。すっきりしました! >>48 自分はCとJavaをどっちも素人で同時に勉強してるのですが(たぶん効率最悪ですが) Cの本にはよく、ifの後に代入式を書いても左辺の変数の値がその式の値になる というような記述をよく見るんですがjavaの本では見たこと無かったので疑問に思いました。
50 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:03:03 ] >>45 二つとも習いましたが、応用できていませんでした(汗 繋がった式でしたので、「この方法はできないのかな」と 一人思いこんでいました しかし分けたり連結したり表示するには あの長い式を分解したりするのでしょうか? それとも繋がったままでしょうか? ちょっと頭が混乱してきました すみません
51 名前:デフォルトの名無しさん [2008/06/14(土) 19:04:15 ] どっちかだけの方がいいよ。見た目同じだけど、全然違うから。 Cのポインタの方が難しいから、先にそっちを攻略しとくとJavaのjava.lang.Objectの方も理解が深まるよ。
52 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:11:31 ] 代入式は文じゃなくて式なんだよね。 「=」は+やーと同じ演算子に過ぎないから。 プログラムに明るくない人間が見れば文に見えるから少しややこしい。 rubyみたいに文が値を持つ言語が出てくるとさらにややこしい
53 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:14:14 ] >>49 既に前のレスで十分な返答をもらってるのに、 それを理解もせず自分で確かめもせず質問連発する奴は素人未満だ馬鹿。
54 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:17:29 ] わかりました アドバイスどうもです 一応連結してから表示のほうをやってみたのですが またも変な表示が…
55 名前:40 mailto:sage [2008/06/14(土) 19:28:02 ] >またも変な表示が… n<100 五目並べ問題の人?
56 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:53:09 ] >49 どっちかをある程度習得するまでは片方にしろ 言語が違えばルールも違うし考え方すら異なる場合もある 効率が悪いって言うかどっちもモノに出来ないと思う
57 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:58:04 ] >>50 いえ、0〜99まで数列を表示する問題です。 増やすことはできたのですが、表示に問題がありまして 表示を出すにはどうすればいいかというのを考えてまして。 それで、ここの方々にアドバイスをいただいていたところです。
58 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:59:47 ] >「式が値を持つ」 言語によるよね
59 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:08:36 ] >>33 配列を使うなら先に数列を完成させてしまったほうが、 表示の反復が単純になるんじゃないかな。 「変な表示が」というものをただ「変」で済ませていたら進まないと思うけどw
60 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:12:38 ] 式が値を持つ って初めて聞いたな 古い本か?
61 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:13:08 ] >>59 ふむふむ、先に数列を完成させると…。 アドバイスどうもです。
62 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:33:04 ] 式の値というのはC言語で聞いた記憶があるよ。 話題になっているのは代入式が値をもつ言う話で a = b = 99 で b = 99の式が99という値をもっていて、それをさらに a に代入できる。 もっともif に論理式が必要なのを誤解した故の発言だったわけだが。 他にこういう時に使う。 b = 10 a = b++ の説明で右辺の式の値は10で aには10が代入される。 a = ++b の場合は右辺の式の値は10で aには11が代入される。
63 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:33:50 ] >>62 >a = ++b の場合は右辺の式の値は10で aには11が代入される。 a = ++b の場合は右辺の式の値は11で aには11が代入される。 訂正
64 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:35:12 ] >>60 普通の本だと思うが。
65 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 21:33:03 ] 式が値を持つって意味分からないし 最後に評価された値を見てるだけだし
66 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 21:45:02 ] 珍解釈ktkr
67 名前:デフォルトの名無しさん [2008/06/14(土) 22:07:21 ] まずはC++からやれ。
68 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:27:17 ] >>36 その表記は見苦しいし意味がないから嫌いだ。
69 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:35:14 ] ((b op (c op d)) op a) より (a op (b op (c op d))) のほうが見やすいと思うんだ
70 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:00:59 ] 1. if (a == 123) { 2. if (123 == a) { Cの場合はif (a = 123)が通ってしまうの2をすすめる人もいるけど、 その心配のないjavaでは1が自然だと思う。
71 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:07:08 ] 異常なことをやっているところでは異常性の際だつ書き方をするクセがある
72 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:10:17 ] b c d op op a op 逆ポーランドが好きです
73 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:17:24 ] javaって0とか1とかnullとかどれも条件式の結果には使えない? trueとfalseのみ?
74 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:18:42 ] 当然
75 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:30:02 ] そーなのかーありがとう。堅苦しい言語だね
76 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:53:43 ] それはCがずぶずぶ過ぎる。 C++でboolを追加するときにまともにしたかったのだが、 Cとの互換から手を付けられなかったらしい。 bool/int相互に暗黙の変換を許してしまってほとんどboolの存在価値はなくなった。
77 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:54:24 ] そのへんは機械語的な都合もあったんでしょ
78 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:55:12 ] ていうかコンパイラ的な都合かな
79 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:26:37 ] 構造化アセンブラですから。
80 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:39:39 ] そもそもbooleanの価値が分からない俺は死んだ方がいい
81 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:50:36 ] じゃあ俺も死ぬ
82 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:56:14 ] >>80 >>81 おまいら死なないで。
83 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:58:57 ] なんというドラマ
84 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:16:30 ] いっぺん死んでみる?
85 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:43:55 ] 今日で、めでたくく初心者を卒業したっぽいわけですが・・・ ひとつ質問していいですか? どうしてjavaは初心者にこうも厳しいんですか? 例えばダブルクリックの起動ファイルひとつ作るのでも、ネット上の情報はうそっぱちか役に立たない情報ばっかり。 VBと比べても必要な情報にたどりつくのに時間がかかりすぎ。 これだったら、M$社製品(C++、C#、VB2005等)の方が手っ取り早かった(と思う、たぶん)。 とくかく情報の出し惜しみはやめてほしいな。 なんで、java弄るひとって性格の悪い人がおおいんだろ。 java関係の本でもろくなのないし。
86 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:46:10 ] | | | | | | | | | | || | | | | | レ | | | | | J || | | | | | J | | | し || | | | レ | | レ| || J | J し | | || J | し J| J レ /V\ /◎;;;,;,,,,ヽ _ ム::::(l|l゚Д゚)| …うわぁ ヽツ.(ノ::::::::::.:::::.:..|) ヾソ:::::::::::::::::.:ノ ` ー U'"U'
87 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:49:39 ] >>86 遅くまでごくろうさまです。 いや釣りじゃなくて、真面目に抗議しているんですが・・・
88 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:51:19 ] 2chに抗議とか言われても・・・w Sunに言えよ。
89 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:52:40 ] すんません。 そうですよね。 結局、タダほど高いものはないっていう(ry
90 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:55:33 ] ぜんぶ的外れ・・・・でもないがぜんぶ的を射てはいないという
91 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:57:35 ] そうなんですよ、それそれその感覚なんです。 VBだと魔界の仮面弁士さんとかMVPがいるからなぁ。 あ、やっぱM$から金でてますものねぇ〜。
92 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:58:23 ] ネット上の情報はどの分野でも基本的に話半分に聞くべき。 本もだけど。
93 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:00:41 ] おっしゃるとおりなんですが、 VBでは結構有用な目から鱗状態の情報が結構ごろごろしてたんですよ。 もうjavaの本とか最悪。ほとんど詐欺本ですな。
94 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:02:26 ] 立ち読みして選べよ
95 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:05:34 ] いやー立ち読みでわかりやすいって思う本って、家帰ってほとんど読まなかったですね。 結城さんの本は鱗でしたが、全部そろえるとまあ高いのなんのって。 アマチュアレベルで気軽にかえるほんではなかったですね。TT
96 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:06:38 ] 安物買いの銭失いって言うからな。
97 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:08:27 ] おっしゃるとおりです。 でも誰も結城さんの本なんか薦めないでしょ。 淋しいよな〜
98 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:09:11 ] いや、結城本は定番じゃないのか?w
99 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:12:05 ] あなたに最初に出会えてればよかった。 っていうか、初心者にいつも薦められてます? 学校とかで推薦になっているのではないでしょうか? 私は、完全に独学なもので・・・
100 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:14:29 ] 結局独学ではしっかり調べでもしない限りは運に寄る所が大きい。
101 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:18:48 ] おっしゃるとおりですね。 いそばがなんとかですね。 まあでも今日で初心者卒業できたのは、私も運がよかったということですかね。 こんな時間まで起きている、先輩はかなりの方とお見受けしました。 生業としている方ですね、きっと。 そういえば、2chでの質問内容ってほとんど、学校の質問みたいなものがおおいですものね。 なんか、目的をもったプログラムにかんするものは少ないですね〜。 まあ、プロフェッショナルは2chできかないでしょうが。
102 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:22:57 ] では寝ますね。こんなじかんまでお付き合いいただき、誠にありがとうございました。 秋葉原の事件で、もう2chはいらないとおもいましたが、こんな古き良き時代によくあった チャットをできるとはおもいませんでした。 ではご健康にきをつけて。 失礼します。
103 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:41:51 ] >>98 >>99 そう言えば、「結城本は定番」というのは確かによく聞くような気がするが、どこで聞いたか思い出せねーなwww このスレのテンプレにも無いようだし……。
104 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 07:35:37 ] いそばが
105 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:08:20 ] なにこの気持ち悪い流れ
106 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:18:10 ] JavaAppletについての質問です。 ブラウザの更新ボタンが押された時にアプレットの初期化又は変数の初期化を 行いたいのですが、どうすればいいですか? 教えて下さいお願いします。
107 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 09:14:44 ] ブラウザで更新されたらAppletは強制的に初期化だw
108 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 09:41:39 ] ***Javaのオススメ入門書*** 『創るJava』 3.0 pc11.2ch.net/test/read.cgi/tech/1190032149/ ↑のスレ自体より過去ログ見た方がいいかも
109 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 09:50:14 ] >>1 のwikiに昔は結城本の事も書いてあった気がするが 今はこうなってるのか >2chで推薦されている入門書を挙げておきます。 > >Head First Java―頭とからだで覚えるJavaの基本 >独習Java >コアJava2 Vol.1 基礎編 >コアJava2 Vol.2 応用編 >Javaの格言―より良いオブジェクト設計のためのパターンと定石 >Javaの鉄則―エキスパートのプログラミングテクニック >「やさしいJava」(高橋 麻奈 著)はプログラミング未経験者が読むには適していますが、Java入門書とは呼べません。 >Javaプログラミングとはこういうものなんだ、というのをつかんだら上記入門書をやるのをお勧めします。
110 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 09:56:37 ] VBからjavaって…なんか可哀想なPGだね Cから上に上がっていけば新たな言語でも何の苦労も無いのに
111 名前:デフォルトの名無しさん [2008/06/15(日) 10:17:23 ] >VBでは結構有用な目から鱗状態の情報が結構ごろごろしてたんですよ。 人によると思うだけど、明け方に投稿するような君にとってそのゴロゴロ情報は例えば何?
112 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:28:16 ] なんつーかIDEって普段使わないんで たまに使うことがあるとすげー気持ち悪いんだが >>85 見て改めてIDEはイラネと思ったわ
113 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:30:46 ] 訂正IDEがイラネ→IDEに頼ってる奴
114 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:31:50 ] キモイ奴は、話を聞いていてもやっぱり最後までキモイな。いいまわしとかも最悪。 君は、VBの方が性に合ってるんじゃないの?
115 名前:デフォルトの名無しさん [2008/06/15(日) 10:33:18 ] そのVB宙の話は、なんか犯罪者がアレコレしゃべってるのを聞かされているようで怖かった
116 名前:106 mailto:sage [2008/06/15(日) 10:34:08 ] すいません、分かりました。 start()で変数の初期化を行えばいいのですね。
117 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:25:58 ] >>116 分かってしまったなら仕方あるまい
118 名前:デフォルトの名無しさん [2008/06/15(日) 12:29:43 ] 今日の深夜までにやらなきゃいけない課題なんですが、なかなかうまくいきません。 助けてください。 自動販売機を表すVendingMachineクラスとそれを実行するmainメソッドを作成せよ ・機能 ・お金を投入する ・金額が十分投入してればジュースを買える。 ・お金の払い戻しができる 作成したVendingMachineに対しカプセル化を施し意図しない状態に変更されないようにせよ
119 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:42:47 ] >>85 つまり、Javaの勉強にVBでの経験が役に立たなかった、でFAか
120 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:58:20 ] >>109 最近でた柴田本はどうなん? Cの入門書はなかなかの良書だったんで、ちょっと期待してるんだが
121 名前:デフォルトの名無しさん [2008/06/15(日) 13:03:41 ] 奴の本の良し悪しよりも、奴の人格が歪んでる
122 名前:85 mailto:sage [2008/06/15(日) 13:55:33 ] >>110 C(無印)は当時かなり敷居がたかかったんですよ。 統合開発環境もなかったし、PCもちょうど98全盛のころでしたからね。 BACICからVBまでおよそ15年のブランクがありました。 プロフェッショナルじゃなくて、趣味でつくるプリグラミングなんてそんなレベルですよ。 決して自分が可哀そうとか思いません。w でもおかげさまで、java勉強したおかげでCは読めます。 その点はjava様々ですが。 >>119 手続き型からオブジェクト指向へのつなぎとしての意味は大きかったです。 あと、マイクロソフトの考え方もちょっとわかった(気がする)。
123 名前:デフォルトの名無しさん [2008/06/15(日) 14:11:21 ] そんなあなたにはVBのままの方が遠回りもせず結局いいと思いますよ。 Javaは所々面倒くさいのが多いし、setter/getterとかも。 VB出身ならC#が普通の流れなんですけどね…
124 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:37:58 ] Java 勉強したらある程度 C は読めるはずだが、 それだけだとポインタに関する知識が怪しいはずだと思う。
125 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:19:47 ] だれか、 g.setColor(new Color(this.move_color[i]));//16進数色指定(配列より抽出する。0xff0000) こうやって変数を使って色指定すると C:\>javac nico_mouse.java nico_mouse.java:124: シンボルを見つけられません。 シンボル: コンストラクタ Color(java.lang.String) 場所 : java.awt.Color の クラス g.setColor(new Color(this.move_color[i]));//16進数色指定(配列より抽 出する。0xff0000) ^ エラー 1 個 といったエラーが出てくるんだがどうやったら治せる!?
126 名前:デフォルトの名無しさん [2008/06/15(日) 16:25:30 ] だれか、 g.setColor(new Color(this.move_color[i]));//16進数色指定(配列より抽出する。0xff0000) こうやって変数を使って色指定すると C:\>javac nico_mouse.java nico_mouse.java:124: シンボルを見つけられません。 シンボル: コンストラクタ Color(java.lang.String) 場所 : java.awt.Color の クラス g.setColor(new Color(this.move_color[i]));//16進数色指定(配列より抽 出する。0xff0000) ^ エラー 1 個 といったエラーが出てくるんだがどうやったら治せる!?
127 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 16:33:14 ] ColorのコンストラクタでStringを引数に持つものが無いからだろ。 Integer#decode(String)あたりでも参照すべし。
128 名前:デフォルトの名無しさん [2008/06/15(日) 17:03:04 ] 配列に設定してるところを書かないと意味ねーじゃん move_color[0]="0xff0000"; なことしてるんじゃね
129 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 17:25:17 ] 問診票 これまで大きな言語に罹られたことはありますか?
130 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:57:03 ] 漢字が読めません
131 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:13:05 ] "Javaの文字列連結演算子は" + "である。" >>129 かかられた、だ。
132 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:16:30 ] 罹(すっぽこ)られた
133 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:23:00 ] では次の方
134 名前:85 mailto:sage [2008/06/15(日) 19:31:18 ] >>123 アドバイスありがとうございます。 必要に迫られて消去法でjavaになりました。 C#も本でみましたが、あれも面白そうですね。 ただM$の都合で、変な改定されるのが怖いんです。(J++とかw) setter/getterについては後々勉強します。 >>124 おっしゃるとおりですが、私はZ80の脳内アセンブリ世代なんで、いちおうPCに関する極原始的な知識はあります。 C++をパスしたのもその辺の管理が面倒というのがありました。 特段質問はないんでこれにて失礼します。 皆様今後とも、初心者にはやさしくしてくださるようよろしくお願いします。 javaのご加護を
135 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:35:39 ] それならperlの方がいいんじゃない?趣味なんだしw
136 名前:85 mailto:sage [2008/06/15(日) 19:46:35 ] >>135 あれまだ私、話してていんですかね。 あんまし登場するとチラウラで申し訳ないです。 perlとかrubyとかActiveBasicとかも一応候補にいれたんですが。 特段perlに光るものはなかったと記憶しています。 ネット上のサンプルプログラムも少なすぎるし、なにより書店の売り場面積が、こっちくるな!って言っているようで・・・。w よろしければ、perlの良い点を教えてください。 あ、スレチですね。 javaのキラーコンテンツはやはりマルチスレッドですかね。 スレッドフリーということばがjavaの世界にあるのには感動しました。
137 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:47:55 ] perl のサンプル多過ぎるくらいだろw 探し方おかしいんじゃね。
138 名前:85 mailto:sage [2008/06/15(日) 20:00:47 ] >>137 けっこうメジャーな言語なんですね。 ズラズラとでてきました。 ABと同列にしてごめんなさい。 スピードはどうなんですか?お、『各レイヤはC言語で実装できるため高速』なんですか。 オブジェクト指向言語としての位置づけも一抹の不安が。 こうしてみると悪くないですね。
139 名前:デフォルトの名無しさん [2008/06/15(日) 20:46:41 ] 「アセンブラやってました」とかの釣りを相手にするのは、もういいだろ あなただと、Javaだとそのうち不満が出る(例えば演算子おーばーろど云々)でしょうし、C#の方が向いてますよ。
140 名前:デフォルトの名無しさん [2008/06/15(日) 20:48:26 ] こういうキモイ奴の相手はしたくないな。VBの世界でこの世からは隔離されていてくださいな
141 名前:85 mailto:sage [2008/06/15(日) 20:57:24 ] >>139 アドバイスありがとうございます。 しかし、そんなに高級なことをやりたいわけではないですので、VBより少々使い勝手がよければ全く文句ないです。 しかしそこまで執拗にC#を進める背景にはなんかあるのでしょうかね。 きたるべきマイクロソフトの崩壊に備え、M$からの脱却を図っているのでjavaにしたんですよ。 LinuxではC#動かないでしょう? .NETははっきりいって糞くらえですよ。(食事中のかたすんません)
142 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:58:46 ] 人間というのは、ここまで気持ち悪くなれるものなのか… もしかして層か?
143 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:59:13 ] ときどきでいいからmonoのことも思い出してください
144 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:01:23 ] >>139 あ、ばれちゃった(^ V^)
145 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:16:15 ] 知識の歪みは背骨の歪み
146 名前:85 mailto:sage [2008/06/15(日) 21:18:24 ] ふりだしに戻る・・・ ⇒なんで、java弄るひとって性格の悪い人がおおいんだろ。 自分なりの分析ですが java弄る人って、殆どが玄人(それで飯食っているひと)なわけですよ。 もしくは、いま勉強中で資格とって就職しようとしている人々。 したがって、ライバルは少ないほうがいい、もしくは自分の優位性をつねに保っていたい。 そんなエゴが見え隠れしている。 昨日の深夜に僕の相手をしてくれた方は違うとおもいますが、ほとんどの人が傲慢だ。 私もすごく気持ちが悪い。 そうじゃないでしょ、ってこと。 プログラミングはアマ・プロ区別なくみんなのものでしょってこと。 一般人、ど素人に丁寧に教えていかなければ未来はないですよ。 べつに2chにそういうことを期待しているわけではないですが、数々の方のブログを拝見して感じたことです。 以上。
147 名前:デフォルトの名無しさん [2008/06/15(日) 21:21:40 ] いや、もういいや。死んでいいよ
148 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:27:01 ] >>146 あなたが疎外されているとしたら「素人だから」ではないと思われる。 大体そんな感じで。
149 名前:85 mailto:sage [2008/06/15(日) 21:30:47 ] >>148 いやあなたの論理が破たんしてますがな。 私は疎外感など何も感じていない。 だいたいどうしたら、ネットサーフィンや読書で疎外感を感じなきゃ(ry およそそんな感じで。
150 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:31:30 ] ようするに>>145 が言いたいのはちゃんと教えてくれないのは レスしてる奴が競争相手を減らしたいと考えてるって事でいいんだよな なら残念ながらレスが帰ってこないのは単純にお前が気持ち悪いからだ
151 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:35:08 ] 初心者は初心者でも、人間初心者なんですね。わかります
152 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:36:17 ] よくわからんけど、 どうしてJavaの世界は素人である私を容易に仲間にしてくれない(なかった)の? っていう話じゃなかったんだっけ。では次の方。
153 名前:デフォルトの名無しさん [2008/06/15(日) 21:44:16 ] たまにはこういうキモイ雑魚も、創価学会のマンパワーみたいで楽しかった。 >>86
154 名前:85 mailto:sage [2008/06/15(日) 21:46:07 ] >>152 最後のおまとめありがとうございます。 まあ端的にいえばそのとおりですね。 他の方は誤解されているようですが、私はこの板で質問したことは一度もないし、ネット上の掲示板にも質問したことはありません。 すべて独学です。 >>85 のコメントは形式は質問になってますが、 >>87 で補足したように抗議文です。 警鐘を鳴らしたかっただけです。 では、ここからはいつもの流れでどうぞ。
155 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:47:50 ] そんなにデタラメ情報ばかりだったかな、と思って、 >>85 が挙げてる例である「Java ダブルクリック 実行」でググってみた。 …マニフェストファイル書いてjar作る正しい手順が、それなりにヒットする。 >>85 が何を見て「でたらめだらけ」と結論づけたのか気になる。 ただ、VBと違って、標準の開発環境はこれ、というのがないから、初心者は困るんだろうな。 素のjdkが基本といえば基本だけど、 初心者には(特にVBのようなRADツールの経験があれば余計に)取っつきづらいだろう。 最近じゃ「Eclipseで始めるJava入門」みたいな本も出てるしね。 だから、コマンドプロンプトでの手順示されても 「じゃあウチのEclipse/NetBeans/JBuilderではどうすりゃいいの?」となるんじゃないかな。 その結果「これはつかえない!デタラメに違いない!」と結論づける、と。 そもそも、仮にjdkオンリーで覚えても、最終的にはIDEを使うようになると知ったら、 「あの苦労は何だったのか」と徒労感を覚えるかもしれない(それはそれで大事な経験なんだけど)。 そしたら余計に取っつき悪さを感じるかも。 そういうのが嫌な人は、どれか特定の便利なIDEべったりになるといいかもね。 そういう人にはNetBeansがお勧め。 Webから得られる情報が限られるけど、面倒なネタは避けられると思う。
156 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:05:06 ] >今日で、めでたくく初心者を卒業したっぽいわけですが・・・ >まあでも今日で初心者卒業できたのは、 いきなりそんなこと前提にされても、と何も言えなくて・・・夏
157 名前:デフォルトの名無しさん [2008/06/15(日) 23:09:35 ] 創価学会は思考盗聴とか集団ストーカーをやってるそうなんで、身の回りには注意しておいたほうがいいですよ。
158 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:09:47 ] すみませんが、教えてほしいことがあります。 「n=OO」という風に表示したいのですが、 表示をさせることができません。 表示をさせるための記述を教えてください。 よろしくお願いします。 public class karimasu{ public static void main(String[] args){ int n=0; double a[]=new double[100]; a[0]=1.5; a[1]=2.0; a[2]=3.0; System.out.println("1.5"); System.out.println("2.0"); System.out.println("3.0"); for(n=3;n<=100;n++){ a[n]=(-1*a[n-1]) + a[n-2] + a[n-3]; System.out.println(a[n]); } } }
159 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:10:36 ] >>158 追記 答えは出ましたが、表示を変えることができないです。
160 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:13:56 ] System.out.println("n=OO");
161 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:16:36 ] >>45 で解決しなかったのか
162 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:25:41 ] >>161 あの時の方で いまだに解決していません(汗 ()の中にいろいろといれても うまく表示できなくて…
163 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:29:36 ] >>160 例えがものすごく悪かったようなので もう一度書きます a[1]=1.5 a[2]=2.0 a[3]=3.0 といった表示を連続で出したいのです
164 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:31:56 ] System.out.println("a[" + n + "]=" + a[n]);
165 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:35:08 ] >>158 なぜ>>42 をスルーできたのか気になる
166 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:37:13 ] >>164 教えてくださりありがとうございます おかげさまで出ましたm(_ _)mペコリ
167 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:39:00 ] 世の中は不思議に満ちている
168 名前:166 mailto:sage [2008/06/15(日) 23:39:54 ] と思ったら まさかのa[0]〜a[2] の表示が出ない!!
169 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:40:48 ] 枯れない桜が枯れたのだよ
170 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:42:40 ] >>168 そりゃ、ループが3からだもの 0, 1, 2 は固定なんだから、>>158 の System.out.println("1.5"); System.out.println("2.0"); System.out.println("3.0"); を System.out.println("a[0]=1.5"); System.out.println("a[1]=2.0"); System.out.println("a[2]=3.0"); に変えればいいと思うよ
171 名前:166 mailto:sage [2008/06/15(日) 23:42:57 ] ちょっと冷静になって直してきました 無事にできました ありがとうございます とりあえず落ち着け俺
172 名前:166 mailto:sage [2008/06/15(日) 23:43:52 ] >>170 すみません、おかげさまでできました ちょっと混乱しやすい性質です パニック映画でまず食われる役が最適なやつですから
173 名前:デフォルトの名無しさん [2008/06/15(日) 23:48:37 ] ん?創価学会がなんだって?
174 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:02:42 ] すみませんが、教えてください。 「入力した数字が素数かどうかを調べる」というものなのですが、 下のところまでできたのですが、 肝心の「数字を入れてください」の部分ができません 「input>」と表示した後に数字を入れたいのですが どうすればいいでしょうか public class sosuu { public static void main (String[] args) { int n = ; boolean isPrime = true; for (int i = 2; i <= n - 1; i++) if (n % i == 0) { isPrime = false; break; } if (isPrime) System.out.println(n + " prime number."); else System.out.println(n + " not prime number."); } } 記述すべきことを教えてくださいませ よろしくお願いします
175 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:05:17 ] つBefferedReader
176 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:08:20 ] >>176 一応聞きたいのですが、 それ以外の方法はありますでしょうか? 教わったかどうかあやふやですので…
177 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:14:20 ] それ以外だとargsを使う方法かな
178 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:16:33 ] >>177 そっちのほうほうをお願いします 自分でもうまく当てはめようとしたのですが どうにもうまくいかず。 教えの程、よろしくお願いします
179 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:17:16 ] すみません ほうが一つ多すぎましたorz 落ち着け私
180 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:19:06 ] あれっ? 自分で作っておいて気づいたのですが argsを使っていました… ここからどう変えるのか…
181 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:26:52 ] >>174 >「input>」と表示した後に数字を入れたいのですが この「後に」というのは条件ではないの? argsの内容は実行前のコマンドの段階で入力されてしまうんだけど、っていうあたりはわかってるのかな
182 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:28:46 ] 多分分かってない いや>>174 よく読まず無責任にargs出した俺が悪いんだが
183 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:31:15 ] >>181 忘れていました(汗 「いつも最初に記述するように」と教わっていたので 最初の2行くらいはろくに考えておらず… となると>>175 の方の表記の方法でしかできませんかね?
184 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:32:13 ] >>182 の方… やはり私の記述はわかりづらいのでしょうか?
185 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:33:32 ] BufferedReaderを習ってないとすると、 まだDataInputStreamのreadLine()で指導している先生だったりするとか、 そのくらいしか思い浮かばない
186 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:36:56 ] >>185 あれ… その方法は学んだっかな… 何かもっとこうシンプルだったような…
187 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:39:26 ] あとは、例の「IO」みたいなユーティリティークラスを用意していて、 それを専ら使うように指導しているとか
188 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:43:25 ] スキャナーを利用したインプット表示でした とりあえず手元にあるパソコンでは スキャナー表示のものを動かすことができませんので 手を加えたものを後日別の場所で動かしてみます
189 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:50:34 ] 1.5導入かw 素で使ったことなかったYO
190 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:54:54 ] jdkのバージョンを5.0以上にすれば良いだけじゃないの?
191 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:55:14 ] >>174 >System.out.println(n + " is a prime number."); >System.out.println(n + " is not a prime number.");
192 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:58:30 ] >>190 jcpadはそれで大丈夫なのかなと >>191 ?
193 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 00:59:05 ] ## : prime ## : not prime ならおkかも
194 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:05:14 ] >>193 どのような記述をすればそうなるでしょうか?
195 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:06:52 ] いや、>>191 は単に>>174 の英語が変ってことでしょ >>193 は形容詞版
196 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:13:35 ] あれっ? なんだかだんだんおかしな方向に… 表記はこうするように言われているのでこの通りにしております 問題は数字をJCpadのコマンド画面で直接打てないことで…
197 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:19:51 ] コマンドプロンプトから実行する方法は知らないってことね
198 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:26:08 ] >>191 いや、わかった。すまん。 ttp://www.mlab.im.dendai.ac.jp/computer2/while/
199 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:26:29 ] >>197 そうです、はい 素数の式が絡んでくるともう…
200 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:28:06 ] >>198 それのことを言っていたんですかね? 確かに参考にしましたが、うまくできず
201 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:30:09 ] これじゃ学生が可哀想だ。 教師か教科書か教え方が悪い。
202 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 03:33:10 ] >>33 >>158 よく見たらこれと一緒だな ttp://pc11.2ch.net/test/read.cgi/tech/1212085079/46
203 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:09:44 ] 最近の大学生って頭悪いよね 情報学科卒業してきた子より 高卒で趣味でunixいじってたような子の方ができたりする
204 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 09:35:23 ] 現在、ポーカーのプログラムを作っています TreeMapを使っているのに、ソートされないのは やはりソースに問題がありますよね?
205 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:10:15 ] 最近の情報学科って大したこと教えてないからな。 その上こんなスレに来る奴なんてデフォで講義ろくに聞いてない&屑講師なんだから当たり前だろ。 そりゃ趣味でlinuxいじってた方が強いわ。
206 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:25:17 ] 習うより何とかってことで纏め
207 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 11:50:09 ] 創価大に情報科なんかあったか?
208 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 12:03:20 ] ルートディレクトリを与えるとそこからツリーを生成するプログラムを作ったのですが、 Linuxと違ってWinではルートが複数あり、また環境によって存在するドライブレターも違うので 全ルートを与えるためにはA~Zまで試してみるくらいしか方法が思いつきません。 今現在存在するルートディレクトリ(C:\,D:\…)を取得する方法ってあるでしょうか?
209 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 12:13:54 ] >>208 File.listRoots()
210 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 13:13:08 ] >>209 四苦八苦していたのにこんな便利なstaticメソッドがあったのですか…。 即レスありがとうございます!!
211 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:50:40 ] JNIで外部DLLを呼び出しているんですが そのDLLでEXCEPTION_ACCESS_VIOLATION (0xc0000005) を発生した場合、Java側ではtry catchをしても 落ちてしまいます。 なんとか例外としてキャッチできないものでしょうか?
212 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:04:19 ] C側で例外をキャッチする必要があるのでは でJavaの例外として投げ直す
213 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:21:26 ] >>212 ありがとうございます。 CでDLLのEXCEPTION_ACCESS_VIOLATION をキャッチできるか 聞いてきます。
214 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:47:14 ] ArrayListではなく、エクスプローラみたいなイメージのツリーの機能を実装したコレクションクラスや それに近いクラスはあるでしょうか。JDK1.6です。JDKでなくても、その他ライブラリであれば合わせて教えていただけないでしょうか。
215 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:23:05 ] 文字列「C:\」を「C:」に変換したくて String path="C:\\"; path.replaceAll("\\",""); とやったのですが、java.util.regex.PatternSyntaxExceptionが出ました。 バックスラッシュを表したくてエスケープさせて指定したつもりが、 どこがおかしいのでしょうか?
216 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:23:55 ] >>214 JTree
217 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:33:24 ] >>216 ありがとうございます。 これってawt用ですが、できれば親と子を持つという概念だけのコレクションクラスはないですかね。
218 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:40:02 ] >>215 [\\\\]->[\\]
219 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:41:49 ] >>217 それくらい自分で作れ
220 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:00:37 ] >>217 コレクションでツリーなんて良くあることなのに、高級言語の1.6にしてもないなんてね。そのくせ余計なクラスばかり多い
221 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:21:52 ] >>218 ありがとうございます。 しかし何故\\\\になるのでしょうか? replaceを使うと普通に\\で大丈夫なのに。
222 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:25:16 ] >>217 ない。 bugs.sun.com/view_bug.do?bug_id=4094377 evaluationによれば、Doug Lea御大がC++で実装した経験から、 汎用かつ軽量でパフォーマンスに優れた実装を作るのが難しいからだってさ。
223 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:26:34 ] >>221 ttp://java.sun.com/javase/ja/6/docs/ja/api/java/lang/String.html > String replace(CharSequence target, CharSequence replacement) > リテラルターゲットシーケンスに一致するこの文字列の部分文字列を、指定されたリテラル置換シーケンスに置き換えます。 > String replaceAll(String regex, String replacement) > 指定された正規表現に一致する、この文字列の各部分文字列に対し、指定された置換を実行します。
224 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:46:06 ] >>223 ここから考えると、 \を表す文字列で表したい→\\ \を正規表現で表したい→\\\\ ってことですよね。 なんか考えているうちにこんがらがってきましたが、 コンパイル時のエスケープと正規表現のエスケープで二重にエスケープする 必要があるってことでしょうか??
225 名前:224 mailto:sage [2008/06/16(月) 19:47:09 ] × \を表す文字列で ○ \を文字列で
226 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:57:44 ] >>224 ttp://java.sun.com/javase/ja/6/docs/ja/api/java/util/regex/Pattern.html >たとえば、文字列リテラル "\b" は、正規表現と解釈されると、バックスペース 1 文字とマッチされます。 しかし、"\\b" は単語境界とマッチされます。
227 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:29:46 ] JListでListCellRendererを使いアイコンをセットする際に、 システムで設定されているアイコン(htmlならIEやFxのアイコンのような)を表示したいのですが、 Javaではこういう情報を取得する方法はあるでしょうか?
228 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:38:39 ] 知識不足によりはまっているのでご教授願えればと思います。 現在、Apache + Tomcat の環境で、SSLによるWebアプリケーションを構築しています。 その中でAppletも併用しているのですが、このAppletに証明書を付けて配布したいと考えています(AppletからWebサービスを呼び出す) Apacheにopensslで作成したキーを登録し、WebアプリケーションやAppletのダウンロードのSSL化はできました。 ところが、そこで作成した証明書をkeytool で登録し、AppletのJarに付与しようとするとエラーとなります(認証チェインがルート証明書に届いていない云々) そこでkeytoolでキーと証明書を作ればと思ったのですが、keytoolでは証明書はエクスポートできるのですが、鍵は抽出できません。 本番環境では正式なCAを通した鍵と証明書があるのですが、開発環境でオレオレ認証でApacheと署名Jarを同時に行うにはどうすれば良いでしょうか?
229 名前:218 mailto:sage [2008/06/16(月) 21:39:29 ] String r; r = path.replaceAll("[\\\\]",""); // Compile -> "[\\]" r = path.replaceAll("\\\\",""); // Compile -> "\\" r = path.replace("\\",""); // Compile -> "\" コンパイルすると、2つ重なる¥が1つの¥になるので、 逆に1つの¥を表すためには¥を2つ重ねる必要がある。(C/C++も同じ。) その上で、正規表現の¥自身を表すときは¥を2つ重ねる必要がある。 正規表現で"\"や"[\]"はおかしい。 コンパイル後、String内の¥¥bは2バイト、一方¥bは1バイト文字になる。
230 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:52:01 ] >>227 JFileChooser で使ってるサイズしか取れないけど。 javax.swing.filechooser.FileSystemView#getSystemIcon(java.io.File)
231 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:06:06 ] >>230 こんなのあったのですか、ありがとうございます!
232 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:29:30 ] >>228 オレオレCAの証明書をJREのルート証明書群に追加すればいいんでない? (jre/lib/security/cacerts)
233 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:06:02 ] Javaで開発する際に、プロジェクトの構成というか、ディレクトリの整理作法がわからないんだけど たとえばこんなのとかので trunk +-/build/build.xml #ビルドに関するもろもろ +-/src/net/2ch/pc11/Hoge.java #ソース +-/tests/net/2ch/pc11/HogeTest.java #テスト用 参考になるウェブサイトとか公開されているsvnで秀逸なのを教えてくんろ
234 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:39:42 ] apacheでは参考にならないと?
235 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:03:25 ] nextした数を保持するiteratorクラスってありますか?
236 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:16:02 ] それくらい作れよ
237 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:15:21 ] >>235 つListIterator
238 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:50:28 ] 一般には>>236 かな。反復回数の実績をカプセル化したいんでしょ。
239 名前:デフォルトの名無しさん [2008/06/17(火) 19:06:42 ] Hibernateで、エンティティとして定義しているクラスに継承をしているものがあるとクエリ結果がダブってuniqueRequestでエラーになる、、 ビューを定義していたから楽しようとして落とし穴にはまった、、 継承せずにベタに書くと解決しました。 継承したままうまくクエリする方法ってないでしょうか。
240 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:41:06 ] 音楽を鳴らしたいが、シンボルが見つかりませんというエラーがでるんだ。 何が必要なのかおしえてくれ〜〜〜 play("./burst.wav");//爆発音声
241 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:07:08 ] >>240 参考資料をよく読むんだッ
242 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:10:43 ] int x = 2345; int y = 1585; xの百の位の3とyの十の位の8を 抜き出して演算処理したいのですが どのようにしたらいいですか?心優しい方助言をば・・ 初心者でごめんですm(_ _)m
243 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:13:36 ] >>242 123わる10は、12あまり3
244 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:36:27 ] >>240 アプレットのplayメソッドに渡すのは文字列で表されたURLじゃなくて、 「URL」というクラスのオブジェクト。 play getCodeBase でぐぐるとわかるよ。
245 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:45:16 ] >>123 わる10は、12あまり3 わかりそうで・・・わかりませんOrz 具体的にコードで操作するにはどうすれば int x = 2345; の 百の位の 3 抜き取れますか? タイトルに・・初心者大歓迎って書いてあったから・・ごめんなさい
246 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:51:37 ] ComponentのcreateImageで戻ってきたImageをBufferedImageを変更したいのですが、 どうすればよいでしょうか?
247 名前:デフォルトの名無しさん [2008/06/17(火) 20:53:40 ] Tomcat 6上で動くアプリを開発してます。 サーブレットのユニットテストを書こうと思っていて、 ちょっと調べた所HttpUnitとCactusってのが有名っぽいので どちらかを使おうと思ってます。、 それぞれの長所短所とか教えて下さい。
248 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:55:14 ] >>245-246 こういうのって良くあるTIPだと思うんですけど、そういうサイトとご存知ないですか?
249 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:56:46 ] >>245 x=String.valueOf(2345); x.charAt(2);
250 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:02:15 ] >>248 すみません。いろいろ調べたのですが。InputStream見たいにデコレータ形式だと思ってjavadocも見たのですが、 コンストラクタにもなくて。
251 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:02:28 ] >>246 PixelGrabberでピクセル値とってきてBufferedImageに書き込むとかは?
252 名前:245 mailto:sage [2008/06/17(火) 21:12:56 ] どこかこういうTIPが載っているサイトありましたら教えてください 初めてiアプリ自作してるのでわからないことだらけ・・ですOrz
253 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:16:17 ] >>245 整数の商、整数の剰余の出し方はさすがにわからないとおかしいと思ったんだけど。。 123 / 10 == 12 (123 / 10) % 2 == 2 123の十の位は2。
254 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:16:38 ] やべ、何だ % 2 ってw % 10 ね
255 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:19:51 ] >>245 いえ、大歓迎とまでは
256 名前:デフォルトの名無しさん [2008/06/17(火) 21:27:47 ] 初心者っつーか ちと、質問がある 誰か教えてくださいまし 俺はインターネットファイルを取り出して 自分のPCにディレクトリごとにフォルダを作ってコピーし オフライン時にこのように模擬サイトを作って見るんだが javaアプレットが入ったサイトだと、そのファイルを取り出せずに 仕方なくjavaなしのオフラインサイトを見ることになるんだが どうやったら、javaアプレットを動作させる模擬サイトを作れるか教えてくださいまし
257 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:36:30 ] >>233 Pragmatic Starter Kitのどれか(たぶんVersion ControlかAutomation)に載っ てるのがひとつの参考にはなると思う。 訳は↓ 達人プログラマー―ソフトウェア開発に不可欠な基礎知識 バージョン管理/ユニットテスト/自動化 www.amazon.jp/dp/475614599X まぁ立ち読みしてみてくれい。
258 名前:245 mailto:sage [2008/06/17(火) 21:45:12 ] >>253 ありがとぅ>< >>255 大歓迎・・は、してなかったですねOrz
259 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:46:05 ] >>256 アプレットがどのファイルを使うか、というのは基本的にHTML上のリンクとして現れないから、 アプレットの中身を分析するとか、そういうツールを調達するとかしないとダメな場合が多いと思われ。
260 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:48:43 ] いや、JREのキャッシュから復元できたりするのか?やったことないけど
261 名前:256 [2008/06/17(火) 21:57:17 ] >>259 >>260 どもども、すいませんです プログラミングとしての質問でなくて肩身狭いっす>< java自体仕組みが分かってないので 専門の方にはバカっぽい質問でしょうが、 その、俺が復元したいサイトはjavaアプレットを使って中学数学を教えているサイトでして、 そのアプレットが動作しないと、文章や画像があってもサイトとしての意味がないものに なってしまいます>< ソースを見るとどうやら、拡張子がclassのファイルがjavaアプレットだと思うのですが(それって当たってます?) どうも、キャッシュにないです>< どうにか復元したいので、教えてください;;
262 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:06:27 ] Appletはオフラインよりオンライン(ネット上のアプリ)を想定してるので、素直につなげていた方がいいですよ。 出来なくも無いですけど、アレコレやるの面倒でしょ 何なら作者に連絡取るとか
263 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:07:49 ] >>261 >javaアプレットを使って中学数学を教えているサイト ちょっと設定に無理がある
264 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:12:01 ] 参照渡しの概念って厳密にはどんな定義なんですか? 今まで自分は配列を参照する変数やオブジェクトを参照変数を引数で渡すことが 参照渡しだと思ってたのに、Cの本なんかを読むとどうやら違うみたいなので。
265 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:56:08 ] 厳密な定義などはないけど、C的にはメモリ上のアドレスの値を渡すこと
266 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:00:31 ] javaでいう参照渡しとC++でいう参照渡しは別モノ
267 名前:デフォルトの名無しさん [2008/06/17(火) 23:05:41 ] >>258 オレの答えたcharAtじゃご不満なわけか
268 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:11:32 ] >>265 Cに参照渡しはない
269 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:12:58 ] FORTRANの引数やC++の参照型の引数は純粋な参照渡し。 Cのはポインタ渡し。
270 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:13:14 ] 用語は違うがあるけど? Cやったこと無いくせにに、適当なこと言う言うな
271 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:14:51 ] Cのはポインタの値渡し。 参照渡し使ってる言語をちゃんと知ってるなら ポインタ渡しが参照渡しなんて口が裂けても言えないはず。
272 名前:デフォルトの名無しさん [2008/06/17(火) 23:16:28 ] >>265
273 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:18:07 ] >>267 たぶんこのjavaスレは呪われてんだろ
274 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:18:23 ] 多重継承とか参照渡しとか何時まで釣れるんだよw
275 名前:256 mailto:sage [2008/06/17(火) 23:18:54 ] >>262 ,263 やっぱりサイト主に連絡しないとですか… 復元してるなんて、、言って大丈夫なのか心配です、、 いい方法があったら、教えてください。 場違いを感じてきたので、ロムりながら勉強します。 アプレットは 作図の手順をクリックすると順番に線が現れるやつとか 比例反比例のグラフが点が多くなってゆき最後に線になる奴とか なんかフラッシュでもできそうなやつです…
276 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:20:20 ] >>264 「変数」に関する参照渡し(参照呼出し)はできない、と言っていい。 javafaq.jp/S012.html#S012-21 Cの場合、「参照による変数渡し」のような文法的概念はないけど、 変数への参照を明示的に渡すことによってほぼ同等のことができるという感じか。
277 名前:デフォルトの名無しさん [2008/06/17(火) 23:21:30 ] >>275 初めの質問のときとだいぶ態度が違うけど、何で?
278 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:22:54 ] >>272 仮引数の値をコピーして実引数に渡すのが値渡し。 仮引数に対する操作が(可能なら)実引数に及ぶのが参照渡し。 厳密に定義されています。 ポインタ渡しは単に値をコピーするだけなのであくまで値渡し。 参照渡しのエミュレートでしかありません。 残念でした。
279 名前:256 mailto:sage [2008/06/17(火) 23:27:14 ] 前スレ読まず、ただ教えてくれ〜の気持ちが強くて ちょっと強気に言ってました。。。 気に障ったらごめんなさい。。 すげぇ場違いだったと今反省してます;; オフラインで使用可能な方法がありましたら、よろしくです。 id表示ありませんがすべて自分ですのでよろしく。
280 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:30:36 ] >>278 はぁ?
281 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:33:42 ] >>279 十分教えてもらったのにまだ教えてもらいたいなどと考えてるし、 たぶん君が願っている事はもうかなわないと思う。
282 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:34:08 ] まあなんていうか、「厳密には参照渡しじゃねーよ」というものも、 「実質的にはそーじゃねーか」とか言われてるね、みたいな空気を感じるあたりで手を打たないかw
283 名前:256 mailto:sage [2008/06/17(火) 23:38:02 ] 279 あ、前スレじゃなく このスレを読まず いきなり質問してしまいましたが、 レス入れていただいた方ありがとうございます。 では、<(__)>
284 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:38:06 ] そうやって甘やかすから void foo(int *p) { p = malloc(sizeof(int)); } で int *p; foo(p); free(p); とかして、ポインタに代入して参照渡しにしたのに 何かエラーになりますとか言う奴が現れるんだろ・・・。
285 名前:デフォルトの名無しさん [2008/06/17(火) 23:41:55 ] Cをちゃんと勉強してからジャヴァやるもんじゃないですか?普通は
286 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:42:05 ] >>256 はいさようなら
287 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:43:36 ] Java の引数も値渡しだな。
288 名前:デフォルトの名無しさん [2008/06/17(火) 23:45:20 ] >>283 個人的な意見で申し訳ないが、なんかアパマン・ショップの物件案内の社員(DQN)と似てるんだがw やっぱりDQNはどの分野でもDQNであって、決してそのようなDQNに期待してはいけないのだろうかといつも悩んでいるんだけど、誰か教えてくれませんか?
289 名前:264 mailto:sage [2008/06/17(火) 23:47:24 ] たくさんのレスありがとうございます。 まだモヤモヤしてるけど雰囲気は掴めました。 CもJavaも基本は値渡しだけどポインタとか使っちゃうと似た感じにできちゃうけど でもそれは厳密には参照渡しじゃないぜ って感じですね 面白そうだから純粋な参照渡しを仕様としてる言語を勉強してみます
290 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:47:30 ] 何か質問者も回答者も頭おかしいのがちらほら増え始めたな >>288 はそんな質問ここでして何がしたいんだ
291 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:48:23 ] 毎度のことながら値渡し/参照渡しで揉める理由が分からん C, Javaには参照渡しはない。C++, C#にはある。 というだけの話しだろう
292 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:48:40 ] >>289 正確に理解してくれて嬉しいぜ。
293 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:49:50 ] >>289 というか、あなたの理解は根本的に間違ってますね。 少しCをかじったことあるみたいですけど・・
294 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:50:52 ] >>293 ^^;
295 名前:256 mailto:sage [2008/06/17(火) 23:52:20 ] ・・・すいません。失礼します。
296 名前:デフォルトの名無しさん [2008/06/17(火) 23:55:05 ] >>256 >>286 おいでくさいまし
297 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:55:22 ] C++でもint& b = a;を「参照」という言葉で表現するという罠があるし、 まあいいんじゃねそんな世界
298 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:57:04 ] 値渡しor参照渡しってのは、呼び元に影響を与えるかどうかだ。 int[] data = new data[5]; この変数dataには実体ではなく配列データが保存されたメモリを指す だからf(data)と渡してf関数の中でdataをいじれば呼び元の配列に影響を及ぼす よって参照渡しである。 OK?
299 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:57:09 ] いや、それは参照で合ってるだろ。 b に対する操作が a に及ぶんだから。
300 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:58:20 ] >>298 data の参照先に影響を及ぼすが data には影響を及ぼさない。 仮引数をいくらいじろうが、data の中身が急に int[10] に変わることは無い。 よって値渡し。 OK?
301 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:59:32 ] >>298 引数に指定した変数そのものを指すのが参照渡し 実体がどうとかじゃなくて,そういう風に見せる言語機能
302 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:00:39 ] >>300 例えば関数の中でdata[0] = 1 と代入したら 呼び元のdataに入ってる配列の値も変わるんですが。 意味分かってる?
303 名前:デフォルトの名無しさん [2008/06/18(水) 00:00:50 ] >>256 みたいな人をここでバカにすると、今度は>>256 みたいな人が他のところでjava技術者を馬鹿にするから、そういう事はやっちゃダメ!!
304 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:01:40 ] 298 = 馬鹿 ってことぐらいしか分からない
305 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:01:46 ] >>302 分かってるに決まってるだろwww
306 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:02:12 ] 盛り上がって参りました(棒読み) >>299 あれは参照渡しに使えるけど、参照そのものではない
307 名前:デフォルトの名無しさん [2008/06/18(水) 00:02:47 ] もうツマンネー自演はいいから
308 名前:デフォルトの名無しさん [2008/06/18(水) 00:04:13 ] >>288 をこのスレの方々はどう考えてるのか教えていただけないでしょうか・・
309 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:05:04 ] void 参照渡し(ref int[] data) { data = new int[] { 4, 5 }; } int[] a = { 1, 2, 3 }; 参照渡し(ref a); 出力(a);//{4, 5}が出力される C#だとこんな感じ
310 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:05:33 ] ポインタの話と同様、 void foo(int[] hoge) { hoge = new int[10]; } で int[] data = new int[5]; foo(data); とやっても data が参照してるのは new int[5] のままであって new int[10] ではない。 Java の引数が本当に参照渡しなら、data は new int[10] を指すようになる。
311 名前:256 mailto:sage [2008/06/18(水) 00:08:05 ] 一応、ロムしてましたが、 アプレットはオフラインはできない という答えを受け取って消えます。 さようなら。
312 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:08:13 ] >>309 と >>310 の差をきちんと理解し実感していれば Java が参照渡しなんて口が裂けても言えなくなる。 「Java が参照渡し」 という言葉は初心者にいらぬ誤解を与える邪悪な言葉だ。
313 名前:デフォルトの名無しさん [2008/06/18(水) 00:09:48 ] いつの時代でも、Cのポインタを理解するのは鬼門ってこと char*manko=&tinpo
314 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:12:21 ] >>310 それってdataはnew int[10]になるんじゃないの?
315 名前:デフォルトの名無しさん [2008/06/18(水) 00:12:59 ] >>312 じゃ、何渡しがいいかな?
316 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:13:34 ] 「オブジェクトの参照値渡し」とか?w
317 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:14:07 ] >>315 ポインタ渡しでいいよ。 ぬるぽとか言うくらいだし。
318 名前:デフォルトの名無しさん [2008/06/18(水) 00:14:30 ] 一応、ポインタを全快に理解してないと、GCを実装できないんだが・・
319 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:14:48 ] お前らが頭いいのは分かったが 何言ってんのかがさっぱり分からん!
320 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:15:48 ] >>314 ならないよ
321 名前:デフォルトの名無しさん [2008/06/18(水) 00:15:54 ] >>316 あまり厳密に突っ込みを入れたくは無いだが、それは「インスタンスの」じゃないの?
322 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:17:34 ] >>314 みたいなのが出てくるから Java は参照渡しとか言うのは邪悪としか言いようが無いんだよな。
323 名前:デフォルトの名無しさん [2008/06/18(水) 00:19:12 ] Javaやる前にCを勉強してください。それも鬼門とか超難関といわれる「ポインタ」(と参照)についてしっかりやっておかないとついてこれなくなります。
324 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:20:57 ] >>315 参照の値渡しでいいんじゃね?
325 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:21:17 ] Cに参照はないし 別にポインタは難関でもなんでもない。
326 名前:デフォルトの名無しさん [2008/06/18(水) 00:23:45 ] アパマンの奴はDQNしかない。「とーちゃん。派遣面接受かったみたいだよー」のあの派遣会社のCMと同程度のDQNしかいない。
327 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:33:46 ] >>326 なにいってんだ?同じ人間だし、確かに変なやつだとしてもな、どこかにいいところがあるだろ。 そういうところを互いに評価しないといけないんじゃないのか?
328 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:38:13 ] >>321 java.sun.com/docs/books/jls/third_edition/html/typesValues.html#12028 > An object is a class instance or an array. だから「オブジェクト」のほうが正確なんじゃないかな?
329 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:44:08 ] いや、Java的にはね
330 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:00:22 ] >>328 たぶん君もアパマンのDQNと同等と思ったけどね、そう噛み付きなさんなw
331 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:03:15 ] 「アパマン」「DQN」がマイブームの香具師がいるな
332 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:03:53 ] オレ的解釈だと、C的にはオブジェクトの」、Java的にはインスタンスの」かな。 オブジェクトの単語自体があいまだからなんともいえないけど。>>328 の引用は単なる君が権威主義(英語とかSUNとか)が好きなだけじゃないのかな?
333 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:05:57 ] よくわからんw
334 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:09:26 ] >>328 は権威にあこがれるDQNってことじゃないの?
335 名前:デフォルトの名無しさん [2008/06/18(水) 01:17:09 ] >>328 ,331,333 食わず嫌いはいけませんね。 そうなってしまったのは、あなたの人格が歪んでるからでしょうか?
336 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:55:47 ] 権威も何も、Sunが作った言語なんだから、 Sunの見解を参照するのは当然でしょ。
337 名前:デフォルトの名無しさん [2008/06/18(水) 02:26:01 ] 英語の文脈で使われるobjectと日本語の文脈で使われるオブジェクトは違うでしょ javaを使うならJLSは当然第一に参考にすべき文書だけど日本語に訳する時に直訳はいかんよ
338 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:28:49 ] >>268 >Cに参照渡しはない >>270 >用語は違うがあるけど? Javaでいう参照渡しはC/C++でいうアドレス渡し ところで、 >>270 >Cやったこと無いくせにに、適当なこと言う言うな ??
339 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:11:17 ] toStringで任意の型のオブジェクトを文字列に変換することができますが、 逆に、Type型の値と文字列からオブジェクトを作成するような枠組みは無いのでしょうか? よろしくお願いします。
340 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:00:02 ] >>339 意味がよく判らないんだけど、 "int", "1" => int で 1 "float", "1" => float で 1.0 みたいな感じ? で、それは既存の組み込み型だけでいいの?
341 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:32:46 ] sprintf() の 逆なら atoi() static Integer Integer.valueOf(String s) <指定された String の値を保持する Integer オブジェクトを返します。> Type型と文字列から、じゃなくて? 表現は正確に。
342 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:56:44 ] Cのscanf()に相当する関数が欲しいって話かな。
343 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:15:23 ] スクリプト系言語のeval相当のものが欲しいようにも読める
344 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 12:34:41 ] そこでJson-libですよ。
345 名前:339 mailto:sage [2008/06/18(水) 13:50:08 ] 説明がわかりにくくてすみません。 Object a = fromString(java.util.Date.class,"2008/1/1"); System.out.println(a.getClass()); // class java.util.Date System.out.println(a); // Tue Jan 01 00:00:00 JST 2008 Object b = fromString(Integer.class,"10"); System.out.println(b.getClass()); // class java.lang.Integer System.out.println(b); // 10 上のfromStringのように、文字列と変換後の型を指定すると、 文字列を指定した型のオブジェクトに変換できるような物が欲しいのです。 .NETのTypeConverterのように、 既存の組み込み型や標準ライブラリで定義された型に対して使用でき、 さらに、自分で作成したクラスに対する動作も指定できるような枠組みがあればよいのですが このようなものはありませんでしょうか?
346 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:51:30 ] JDK6でrhinoでevalすればいいだろ
347 名前:346 mailto:sage [2008/06/18(水) 13:53:03 ] >>343-344 あてね
348 名前:デフォルトの名無しさん [2008/06/18(水) 13:57:57 ] Class.forName()
349 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:59:30 ] >>339 「toStringの逆」という変換が一般には無理だとわかった上で? 具体例をどうぞ
350 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:59:51 ] やべ遅れたw
351 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:32:23 ] リフレクションで出来そうじゃない?
352 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:35:23 ] よくわからんけど、インターフェースが統一されないとやなのか
353 名前:デフォルトの名無しさん [2008/06/18(水) 15:20:13 ] いやいや、単なるC#宙でしょ
354 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:00:56 ] 自分で作ればいいんじゃない Object fromString(Class c, String s) { if (c == Date.class) return DateFormat.getInstance().parse(s); if (c == Integer.class) return Integer.parseInt(s); if (c == Float.class) return Float.parseFloat(s); 以下略 }
355 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:52:10 ] toStringが返す文字列からオブジェクトを復元することは汎用的には無理
356 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:42:53 ] Object#toString()ってサブクラスの実装依存じゃなかったっけ?
357 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:41:28 ] うん。というか、 Object#toString()がオーバーライドされていないと、 クラス名とハッシュ値しか返ってこないから、 インスタンスの内部状態を知ることができない。
358 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:58:04 ] ttp://msdn.microsoft.com/ja-jp/library/ayybcxe5(VS.80).aspx Windows フォームのプログラミング 方法 : 型コンバータを実装する ここなんかを見ると、GUI要素のプロパティをいじる時に文字列を経由したりするよねっていう感じの 用途がかいま見える
359 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:02:03 ] TypeConverterってそういうもんだよ 実装したらメタデータとして型やプロパティに指定しといてリフレクションで取ってくるの
360 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:39:10 ] これは邪道かな(あとPnutsですまん) pe = class java.beans.PropertyEditorManager::findEditor(Integer.TYPE) pe.setAsText("100") println(pe.value - 1) // 99 pe.value = 200 println("200".equals(pe.getAsText())) // true
361 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:27:12 ] だからそれならrhinioで出来るって
362 名前:デフォルトの名無しさん [2008/06/18(水) 20:36:38 ] このスレでは、String.charAtやClass.forNameじゃ不満なのか? もう答えるつもりないし、どうでもいいけど
363 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:45:44 ] >>361 ぐぐったら前立腺マッサージャーが出たYO
364 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:44:13 ] >>362 Class.forNameは外していると思うけど、String.charAtはまあまあかな。桁数チェックにもなるし。
365 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:09:43 ] だれだ、おまえ?
366 名前:デフォルトの名無しさん [2008/06/18(水) 22:50:54 ] >>364 ここではあなたの評価を気にしながら質問に答えなければいけないのですか?
367 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 23:14:03 ] >>366 どこからそういう疑問が湧いたのですか?
368 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:12:43 ] C言語でいう int data = 3; printf("%3d",data); のように右寄せするメソッドご存じないでしょうか?
369 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:17:55 ] >>368 System.out.print(String.format("%3d", data));
370 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:18:33 ] >>368 System.out.printf
371 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:18:54 ] または System.out.format("%3d", data);
372 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:19:10 ] ごめん,かぶった.
373 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:19:32 ] System.out.printf(); 改行は ¥n ではなく %n を使う。
374 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 00:29:23 ] >>369-373 迅速にお答えいただきありがとうございました。
375 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 01:13:23 ] 1.4系だったという落ちですね。わかります。
376 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:40:00 ] 質問です 開発は windowsXP+Eclipseで行い、jarファイルを生成 実行は Solaris10 にて行いました 実行時にエラーとして Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/log4j/Layout at Cardget.<clinit>(Cardget.java:40) と出てしまったのですが、ドコから調べればよいかヒントなど ありませんでしょうか 実行方法は $ java -cp zgss_core.jar Cardget としました
377 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 02:59:14 ] log4jをクラスパスに通せ
378 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 04:00:33 ] うむ
379 名前:デフォルトの名無しさん [2008/06/19(木) 04:29:15 ] if(test[s]<test[t]){ int tmp=test[t]; test[t]=test[s]; test[s]=tmp; } と if(test[s]<test[t]){ int tmp=test[s]; test[s]=test[t]; test[t]=tmp; } はどっちを書いてもいいの?
380 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 04:35:39 ] どこに
381 名前:デフォルトの名無しさん [2008/06/19(木) 08:01:31 ] そのソースだけだと、どっちでもいいとしか言えんがなw
382 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 09:17:15 ] TraverseEventってなに? マウスイベントとか、キーイベントで、ででてくるんだけど、 イマイチ英和辞典の訳じゃ掴めない。 trav・erse ━━ vt. 横切る, 横断する; 通過する; あちこち動く;
383 名前:デフォルトの名無しさん [2008/06/19(木) 11:25:27 ] 質問させてください。 Mapの値を降順に表示したいんです。現在下のような記述をしてるのですが、 どうも最善な気がしません。これよりマシな方法をごぞんじなら教えてください。 Mapのインスタンス名はmapです。 Set<Integer> ts = new TreeSet<Integer>(); ts.addAll(map.values()); List<Integer> order = new ArrayList<Integer>(); order.addAll(ts); for(int i= order.size()-1; i>=0; i--){ int num = order.get(i); for(Entry<String, Integer> en:map.entrySet()){ String key = en.getKey(); Integer value = en.getValue(); if(value == num){ StringBuilder sb = new StringBuilder("Products: "); sb.append(key).append(": Number: ").append(value); System.out.println(sb.toString()); } } }
384 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 11:32:59 ] TreeSetの値を出力すればいいのではなくて?
385 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 11:54:42 ] >>383 値の降順にソートするコンパレータを設定したTreeMapにmapをputAllして、 そのTreeMapから順番に取り出せばいいんじゃない?
386 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 11:58:04 ] あ、キーの値じゃなくて値か じゃあ385はダメだね
387 名前:385 mailto:sage [2008/06/19(木) 12:08:03 ] Entryの値の方で降順にソートするコンパレータを設定したTreeSet<Map.Entry<String, Integer>>に map.entrySet()をaddAllして、そのTreeSetから順番に取り出せばいいのかな。
388 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 12:11:05 ] 配列に全部突っ込んでからソートした方が速そう
389 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 12:23:26 ] おおまかにはこんな感じかな? Set<Map.Entry<String, Integer>> set = new TreeSet<Map.Entry<String, Integer>>( new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return o2.getValue().compareTo(o1.getValue()); } }); set.addAll(map.entrySet()); for (Map.Entry<String, Integer> e : set) { System.out.println("Products: " + e.getKey() + ": Number: " + e.getValue()); } StringBuilderを使っているところはインスタンスをループの外で生成するのなら別だけど、 わざわざそう書かなくても+で結合する書き方でもコンパイラがそんな感じにしてくれる。 >>388 それもいいかも
390 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 12:34:23 ] どうもgenericsの記述量に負けてあまりシンプルって感じに見えないや。 流れは単にnew TreeSetしてaddAllだけなのに。
391 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 17:34:42 ] JavaSE6からjavax.tools.Compilerを使えばJREだけでJavaのコンパイルできるってこと?
392 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:05:52 ] >>391 JRE には tools.jar が無いから無理のはず。
393 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:18:21 ] JREにtools.jarは入っていないけれど、 tools.jarをJREといっしょに再配布するのは構わなかったはずなので、 あとはtools.jarにパスが通っていればおk
394 名前:393 mailto:sage [2008/06/19(木) 18:23:07 ] 自分の作成した動的コンパイル機能付きのプログラムを配布する場合、という意味ね 自分の環境だけでいいのなら素直にJDKをインストール
395 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 18:24:52 ] なるほど、tools.jarの再配布条件を調べてみます ありがd
396 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:17:29 ] 質問です jarを実行したところエラーが出まして Can't find resource for bundle java.util.PropertyResourceBundle, key table.section.pointup9 というエラーが出たのですが、ドコから調べていいのかわからず。 設定ファイルを読んで処理をするjarなのですが・・
397 名前:デフォルトの名無しさん [2008/06/19(木) 22:43:48 ] 久しぶりにJavaのお仕事… 既存のWebシステムに一画面追加するだけのお仕事だったのですが、 SIとSLを作成し、ローカルでコンパイルし、 作ったクラスファイルをUNIXサーバにFTPで配置したのに404 WebOTXを何度落とし上げしても404・・・ ずっと悩んでしまったんだけど、 これってもしやasant deployを忘れてるってことでおkですか?
398 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 22:52:14 ] >>396 その設定ファイルが正しく読めてない予感
399 名前:396 mailto:sage [2008/06/19(木) 23:00:58 ] pointup9 という項目を追加して読もうとしてるので、そこがおかしいみたいです・・ね javaのmain定義部分をもう少し見直してみます
400 名前:デフォルトの名無しさん [2008/06/19(木) 23:26:37 ] 初心者です 歌詞検索みたいなのってJavaでつくることは可能ですか?
401 名前:デフォルトの名無しさん mailto:sage [2008/06/19(木) 23:34:30 ] データがあればね
402 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 00:00:07 ] >>383 もっと素直に ArrayList<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(map.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, Integer>>(){ public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return o1.getValue().compareTo(o2.getValue()) * -1; } }); for (Map.Entry<String, Integer> entry : list) { System.out.printf("Products: %s, Number: %s%n", entry.getKey(), entry.getValue()); }
403 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 00:23:02 ] > * -1; 初めて見た
404 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 01:26:42 ] そんな奴には Integer.MIN_VALUE を渡すことにしている。
405 名前:デフォルトの名無しさん [2008/06/20(金) 02:11:20 ] すいません、質問させて下さい。 classpath上に存在するクラスの中から、特定のアノテーションが付いているものだけを抽出する方法を調べています。 Javaで実行時のclasspath上に存在する全クラスを取得する方法ってないのでしょうか? もしくは特定のpackage以下に存在する全クラスでも良いのですが・・・。 ClassLoaderを自作するサンプルとかにあるみたいに、ディレクトリ以下の.classを直接読みに行く他ないのでしょうか・・・。
406 名前:デフォルトの名無しさん [2008/06/20(金) 02:24:26 ] ええ本教えて
407 名前:デフォルトの名無しさん [2008/06/20(金) 03:29:59 ] >>397 JavaとWebOTXについて言うと WebOTXを使ったWebアプリ開発についての書籍とかサイトって なかなかないんだよな・・・ WebOTXユーザって相当少ないのかな・・・ 事例とか簡単入門とかもあんまり見当たらないよな・・・ だれか詳しい人、何か参考になる情報あれば、ぜひ
408 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 03:34:46 ] >>407 君が詳しい人になって本を書くかサイトを立ち上げてほしいな。
409 名前:デフォルトの名無しさん [2008/06/20(金) 03:40:18 ] 3ヶ月間職業訓練校行った人 授業の内容どんなの?
410 名前:デフォルトの名無しさん [2008/06/20(金) 06:35:48 ] >>389 >>402 383です。おそくなりましたが、カキコをありがとうございます。 教えていただいたComperatorインタフェースの使い方、大変参考になりました! まさに知りたい事だったように思います。
411 名前:デフォルトの名無しさん [2008/06/20(金) 06:44:01 ] スペル間違い、Comparatorでした。
412 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:03:29 ] 私は今年javaを本格的に学び始めた者ですが質問です。 interface Frame { String Frame = "Alumi"; String getFrame(); } 上記の内容のinterfaceがあるとき実際にはどのような記述と同意であるか?というものです。 いろいろ調べてはみたのですが問題の定義もなんだかイマイチ曖昧で分かりません。 どなたか分かる方教えていただけませんか?
413 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:21:18 ] っinterface 暗黙 修飾子
414 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 09:29:50 ] >>413 abstract?
415 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:49:00 ] DecimalFormat exFormat2 = new DecimalFormat("###,###,###,##0.##"); System.out.println("hoge=" + exFormat2.format(99.999)); 上記ソースで実行結果が99.99となるような切捨てにしたいのですが どうしたらよいでしょうか?
416 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:51:54 ] >>405 クラスパスを自力で辿って、すべてのクラスの名前を (ファイル名等から) 知る Class#forName で、その名前のクラスをロードする Class#getAnnotation で、ロードしたクラスのアノテーションを調べる
417 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:35:18 ] >>415 1.6以降なら exFormat2.setRoundingMode(RoundingMode.DOWN) とかすりゃ切捨てできるけど
418 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:33:21 ] すいません、ここでJSPの質問をしても大丈夫でしょうか?
419 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:34:09 ] >>417 さんくす。1.5なので100かけて100で割ることにしました。
420 名前:デフォルトの名無しさん [2008/06/20(金) 14:58:24 ] BufferedImageに読み込んだ画像の背景を透明にしたいのですが どのような方法がいいでしょうか?
421 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:11:56 ] 最初から背景が透明な画像 (透過GIFやアルファ付きPNG) を読み込むのが一番簡単だと思うよ それじゃだめな理由があるなら、説明よろしく
422 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:53:16 ] >>420 何をもって背景にするかによって方法はいろいろあるけど、 一番お手軽で処理が速いのは>>421 の言う通り最初から透明化したリソースを用意すること。 動的に透過色を変更したいとかの要求があるなら、イメージフィルタを通す方法がある。 例えば真っ白を背景色として透明にするなら、白のピクセルのアルファを0にするイメージフィルタを介してやる。 おおまかにはこんな感じで。 Image transimage = Toolkit.getDefaultToolkit().createImage(new FilteredImageSource( sourceimage.getSource(), new RGBImageFilter() { public int filterRGB(int x, int y, int rgb) { return (rgb & 0x00ffffff) == 0x00ffffff ? rgb & 0x00ffffff : rgb; } } )); これは背景色が固定された処理だけど、 背景にしたい色を与えて動的に背景色を変更するようにフィルタを実装すればそれなりにいろいろと。
423 名前:420 [2008/06/20(金) 16:14:09 ] >>421 >>422 返信ありがとうございます できれば最初から透過された物を使用するのがベストだと思うのですが アプリケーションを実行する時にpngに関する事でエラーを起こしてしまい うまくいきません これは画像の作り方が悪いのでしょうか?
424 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 16:16:54 ] >>423 少なくともエラーは晒せ できればソースも それともエスパーによる回答希望?
425 名前:420 [2008/06/20(金) 16:41:26 ] 本当にすいません 画像を作り直したら成功しました ありがとうございました
426 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:12:38 ] whileで永久ループしているプログラムに外から停止命令を 出したいのですが、こういう場合はソケット通信が適切でしょうか? ほかに良い方法がありましたら教えてください。
427 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:15:40 ] 普通はThreadじゃないの?
428 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 17:15:48 ] っスレッド
429 名前:426 mailto:sage [2008/06/20(金) 17:23:55 ] >>427 ,428 ありがとうございます。 たとえば >java hoge.class で実行して >java hogestop.class を実行するとhoge.classのプログラムが終了するような感じにしたいです。 このような場合ですがスレッドはどのように使えますでしょうか?
430 名前:デフォルトの名無しさん [2008/06/20(金) 17:45:17 ] なんだ、小出し野郎か。
431 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:11:37 ] staticなflagを作って外部から書き換える
432 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:32:00 ] canvas3D上にpaintでfillRectを用いて描画したいと思っているのですが、 最前面に表示されません。何かいい方法ご存知でしたら教えて下さい。 よろしくお願いします。
433 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 01:53:26 ] javaアプリケーションからjarファイル(他のjavaアプリ)を起動することはできるのでしょうか? 方法をご存知でしたら教えていただきたいです。よろしくお願いします。
434 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 02:03:41 ] >>433 クラスパスが通ってれば、String[] argsを用意して com.example.app.FooApplication.main(args); を呼ぶだけ。 ・クラスパスが通ってない場合 ・mainのクラス名がわからない場合 などなどあるけど、まあ基本は↑ので。
435 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 08:58:12 ] >>434 ありがとうございます。試してみたところ起動できました。 今は同一プロジェクト内のクラスのmainを複数起動してみたのですが、 クラスパスが通っていれば他プロジェクトのmainも起動できるのでしょうか。 一つ問題なのが、この方法だとおそらく複数のアプリが同一プロセスで 実行されている気がするのですが、別々のプロセスで実行することは可能でしょうか。 答えていただければ幸いです。
436 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 09:21:18 ] ProcessBuilderとかRuntime(1.4まで)とか Javaではサブプロセスと縁を切ることはできないんだっけ?
437 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 10:45:23 ] 独習JAVAで勉強してるんですが スレッドの章でRunnableを実装したクラスで MyThread4(String str, long msec) { this.str = str; this.msec = msec; new Thread(this).start(); } と言う部分があり、その中の new Thread(this).start(); の部分が意味がいまいちわかりません。 質問があいまいですいませんが どなたか説明していただけないでしょうか。 お願いします。
438 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 10:51:36 ] // 自分自身をスレッドで実行されるコードとして、スレッドを作成する Thread t = new Thread(this); // スレッドを開始する t.start();
439 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 11:23:58 ] MouseMotionListenerをimplementsしないと ・mouseDragged(MouseEvent e) ・mouseMoved(MouseEvent e) が実装できないのはなぜでしょうか。 インターフェイスはあくまで、指定したメソッドの 実装を義務付けるみたいな感じで習ったので。
440 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 11:33:21 ] >>439 MouseMotionListenerをimplementせずに ・mouseDragged(MouseEvent e) ・mouseMoved(MouseEvent e) を実装しても一向に構わないが、 MouseMotionListenerを実装したとは認識されない。ただそんだけ。
441 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 11:52:57 ] っダックタイピング
442 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 11:54:33 ] ダックタイピングか強い静的タイピングの違いだな。
443 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 11:55:16 ] ち、リロードしてなかったぜ
444 名前:439 mailto:sage [2008/06/21(土) 12:14:32 ] >>440 ありがとうございます。 addMouseMotionListner(this)によって渡すものが MouseMotionListenerクラスのオブジェクトでないと いけないのだと解釈しました。
445 名前:439 mailto:sage [2008/06/21(土) 12:17:13 ] ああ、何かおかしい クラスというよりは、MouseMotionListenerという型で 受け取れる形だから、継承または実装されたオブジェクト でないと、うまいこといかないってことなのかなぁ
446 名前:439 mailto:sage [2008/06/21(土) 12:19:27 ] MouseMotionListenerというインターフェイスを 実装してないとダメなわけですね!
447 名前:デフォルトの名無しさん [2008/06/21(土) 14:29:59 ] ダックタイピング だとしてもimplementsやらないと結局機能しないんじゃないの?
448 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 14:57:52 ] ダックタイピングは持ってるメソッドで所属するクラス(オブジェクト)決めてるからそんな心配ナス
449 名前:デフォルトの名無しさん [2008/06/21(土) 15:34:40 ] リスナーの呼び出し元はどうするの。 addMouseListener()とかしないでどうやってcallするの?
450 名前: [―{}@{}@{}-] デフォルトの名無しさん mailto:sage [2008/06/21(土) 15:41:54 ] ホスト名(FQDN)が正当かどうか評価する方法はないでしょうか。 どうも . が付いても InetAddress#getByName 等では引けてしまうようで、 1. www.example.com : 当然 OK 2. www.example.com. : OK 3. www.example.com.. : これは NG といった状態になってしまいます。 或いは RFC 的に 2 も OK(1 と同じ場所を指す)と言う事なのでしょうか。 であると逆に、InetAddress#getByName で引ければ正当と判断して良い?
451 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 15:52:46 ] . つけてもブラウザで見れるね
452 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 16:25:32 ] >>449 addはもちろんするが型がなんであるかは関係ない。 普通はメソッドテーブルを検索して対応するメソッドがあれば呼ぶ。 この場合だとコールバック関数名が一致するオブジェクトをadd(これがcallee側になる)しといてcaller側が必要なコールバック関数を呼び出せるかどうか試してみる。 それに成功すればcallee側のコールバック関数を呼び出す。 ダックタイピング採用してるruby辺りをいじるのが早くて分かりやすい。
453 名前:デフォルトの名無しさん [2008/06/21(土) 16:27:39 ] implements MouseListener じゃないと、型が違うからadd出来ないと思うが?
454 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 16:37:11 ] おまえはまずダックタイピングを理解しろ
455 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 16:50:24 ] このスレ的にはダックタイピングの議論を深めるのはスレ違いだし初心者を混乱させる元だ 今のjavaをやっている限りはダックタイピングについて理解しなくても構わない
456 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:08:28 ] いっそ、java.beans.EventHandlerについて語ろうぜ
457 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:09:57 ] いやここはJAXB2.0だろ
458 名前:デフォルトの名無しさん [2008/06/21(土) 17:50:33 ] eclipsでtomcatを使用できるようにしようとしているんですが サーバービューで起動するとポートが使用されているか既に使われていて使えないと出てしまいます。 どうすれば使えるようになるのか教えてください。
459 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 18:05:10 ] eclipseスレに行け
460 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 18:31:27 ] そのポートを使用しているアプリケーションを終了するかポートを変更してください
461 名前:デフォルトの名無しさん [2008/06/21(土) 18:46:17 ] JSFでFragmentを切り替えるにはどうしたらいいでしょうか
462 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 18:55:25 ] InputStreamのread()の返却値の型がintになっている理由がよく分からないのですが、 read()はストリームから次の1バイトを読み込み、それを返すというものと考えて良いのでしょうか? OutputStreamのwrite(int)ではintを引数にして上位24bitを無視することで1バイトの書き込みをするというのも不自然な気がして、 これもreadの仕様が素直にbyteなら良い気がするのですが。
463 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 18:58:28 ] 255と-1(EOF)を区別するためだろうけど、Cへのオマージュではなかろうか。
464 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 18:58:56 ] >462 JavaDoc嫁 int read() 入力ストリームから次のバイトデータを読み込みます。 戻り値: データの次のバイト。ストリームの終わりに達した場合は -1 intな理由はint read(byte[] bytes)との兼ね合いかもね
465 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 19:00:33 ] むしろ、Byte read() だったならばOKなのか、ストリームの終わりの場合はnull(EOF)とできるから
466 名前:461 [2008/06/21(土) 19:05:06 ] リンクにイベント発生させるようにすればいいのかしら
467 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 19:19:30 ] JavaAppletからJavaScriptを操作する方法を知りたいので、 検索して調べたところ、「netscape.javascript.*」を取り込まないといけないと書いてあり、 コンパイルのために、JDKに付属するライブラリをCLASSPATHに通す必要がある、 と書いてありました。 それでCLASSPATHを通すというのが分からないので教えて下さい。 開発環境は CPAD for JAVA2 SDK j2sdk1.4.2_15 です。お願いします。
468 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 19:26:00 ] 環境変数設定しろ。あとはググレ。 あとcom.netscapeパッケージはNN系しか使えないからRhino組み込め。
469 名前:461 [2008/06/21(土) 19:30:33 ] やっぱjavaコード側で何とかする話なんだよねえ
470 名前:デフォルトの名無しさん [2008/06/21(土) 20:10:28 ] 素直にページ作るよ
471 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 20:38:15 ] >>468 IEでも動くがな
472 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 20:47:15 ] >>471 一部だけな
473 名前:439 mailto:sage [2008/06/21(土) 21:04:07 ] ダックタイピングってもしかして私に対するレス!? だとしたら、みなさんありがとうございます。 ダックタイピングも調べてみたのですが、やっぱり >>453 さんの仰るように、 implements MouseListener がないとエラーが出てしまいます。 Javaはダックタイピングができないのかな それから、もうこの話はしない方が良いのでしょうか?
474 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 21:10:15 ] ダックタイピング知らないなら気にしなくて良いよ。
475 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 21:56:55 ] >>473 すくなくともJavaをふつうに使っている限りは関係がない。
476 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 04:37:27 ] >>473 implementsをつければ、クラスを作る側がそのインターフェースを実装する気だったことが早い段階で確認できるでしょう。 偶然メソッド名などが一致していて動作の辻褄も合うなら同類とみなす、というダックタイピング的考えとは対照的(だから参考になる)。 Javaの型の基本が身についていれば出てこない疑問かもしれない。
477 名前:467 mailto:sage [2008/06/22(日) 08:25:07 ] >>468 com.netscapeの使い方が分かるようになりました。 ありがとうございます。 あと、Rhinoについて調べてrhino1_7R1というのをダウンロードして、 今度は使い方について調べたのですが、 コマンドラインからの利用法しか載っておらず、 JavaAppletなどからの利用法が見つかりませんでした。 よろしければ使い方を教えて頂けませんか? もしくは使い方の載ってるサイトを教えて下さい。お願いします。
478 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:07:12 ] Listの中身をチェックしながら消したいんですけど for (ManagerImpl manager : managerList) { if (manager.cleanup()) { managerList.remove(manager); } } こういう書き方だとjava.util.ConcurrentModificationException が出ます。 どういうお作法がいいんでしょうか。
479 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:46:25 ] OKWaveに同じ質問がありました。 for (Iterator<ManagerImpl> i = managerList.iterator(); i.hasNext();) { if (i.next().cleanup()) { i.remove(); } } だそうです。
480 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:51:29 ] ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/language/foreach.html > for-each ループでは反復子が隠されるため、remove メソッドを呼び出すことができません。 > そのため、for-each ループをフィルタリングに使用することはできません。
481 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:56:09 ] >>477 rhinoのページに組み込みかた載ってるしrhinoのサンプルにも組み込みサンプルがあるよく見てみ。
482 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 11:57:00 ] >>478 Listのremoveでなくイテレータのremoveを使わないと for (Iterator<ManagerImpl> iter = list.iterator(); iter.hasNext(); ) { ManagerImpl manager = iter.next(); if (manager.cleanup()) iter.remove(); }
483 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:43:51 ] 2chでのマルチが減った代わりに 教えて君御用達Q&Aサイトとのマルチが増えたな
484 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 12:48:48 ] 質問です。 JTableのセルにJbuttonを配置したいのですが、うまくいきません。 具体的には、JTableのセルにImageIconを配置するサンプルプログラム ttp://www.javadrive.jp/tutorial/jtable/index14.html のページの下にあるソースコードの、テーブルデータの配列中のImageIconを指定している部分 new ImageIcon("./img/***.gif") を new JButton("a") のように置き換えてみましたが、javax.swing〜という文字列が表示されるだけです。 クラスが正しく扱われていないのではと思い、 public Class getColumnClass(int col){ return getValueAt(0, col).getClass(); } 上部分のソースコードのreturnを、 return JButton.class; のように置き換えて直接指定してみたのですが、結果は同じでした 説明が拙くて恐縮ですが、JTableのセルにJbuttonを配置する具体的な方法を どなたかご存知でしたら教えてください
485 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 13:16:30 ] >>478 まあ for(member:list)構文の弱点の一つだな。 見栄えはいいんだけど、イテレタ展開しちゃうからね。 このパターンだけは、昔ながらの書式で、 for(int i=list.size()-1;i>=0;i--){ if(list.get(i).cleanup()){ list.remove(i); } } と書くのが好み。 Iteratorの実装はなんどかやったことあるけど、 remove()は必要になるまで書かない(というか書きたくない)からさ、 使うのも自重してる。
486 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:20:57 ] javaアプレットでさ、動画と画像を描画するときに動画が手前にくるんだが、z軸を調整する関数はなんだっけ?
487 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 14:30:55 ] API何使ってんだよ?
488 名前:デフォルトの名無しさん [2008/06/22(日) 17:07:02 ] >>486 動画?
489 名前:467 mailto:sage [2008/06/22(日) 17:24:24 ] www.mozilla-japan.org/rhino/tutorial.html このページ読んだのですが、使い方が分かりませんでした。 まずはimport org.mozilla.javascript.*;を使うにはまた環境変数をいじらないといけませんよね? あと、これを書けばJavaScriptの文法を使用可能になると言うことでしょうか?
490 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 18:03:23 ] >>489 実行時にクラスパス通せばいい。 >あと、これを書けばJavaScriptの文法を使用可能になると言うことでしょうか? そう
491 名前:使用書無しさん [2008/06/22(日) 19:17:24 ] javaフリークの皆さん。100%PureJavaでドローソフト jdrafter.sakura.ne.jp/ を作ったので是非使ってね。javaの帳票設計にも使えるよ。
492 名前:デフォルトの名無しさん [2008/06/22(日) 19:25:37 ] java3D?
493 名前:使用書無しさん [2008/06/22(日) 19:27:13 ] 2Dだよ
494 名前:デフォルトの名無しさん [2008/06/22(日) 19:28:39 ] おー 頑張った頑張った。だが…
495 名前:使用書無しさん [2008/06/22(日) 19:32:02 ] だが?
496 名前:デフォルトの名無しさん [2008/06/22(日) 19:32:03 ] 初心者から中級者ってどこで判断するんだ 開発経験年数?
497 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 19:36:47 ] >>491 すっげぇ!!!! まじで感動したw 俺もがんばろっとー
498 名前:使用書無しさん [2008/06/22(日) 19:51:23 ] >>497 よかったら使ってね。
499 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:01:56 ] javaなのになんでexeなの?
500 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 20:08:30 ] ただの自己解凍zipだよ。解凍したらclassファイルいっぱいでてくる。 けど・・・ほんとすごいわ。 経験が浅いからこんなでっかいプログラム見たこともなかった。 馬鹿にされそうw
501 名前:使用書無しさん [2008/06/22(日) 20:09:14 ] jarパッケージでもよかったんだけど、jarだと中身丸見えだしアイコンも ダサいので、あえてExeにラップしました。
502 名前:デフォルトの名無しさん [2008/06/22(日) 23:26:45 ] あの〜 色決めるときに { | | } こんな感じで区切ってbyteに代入するのはいったいどういう意味があるんですか? ほかにも | で区切る表現が偶に出てきて戸惑うんですけど・・・・・ 入門書にも載ってなくて 誰か教えてもらえませんか?
503 名前:デフォルトの名無しさん mailto:sage [2008/06/22(日) 23:37:25 ] | は区切りではない ビットごとの論理和 (OR) の演算子 その入門書の演算子の一覧かなんか見てみろ、載ってるはず
504 名前:デフォルトの名無しさん [2008/06/23(月) 01:26:41 ] 趣味で為替のチャート表示のプログラミングをJAVAでしたいと思っているのですが、為替のリアルタイムでのデータをネットから取り込むことは出来るのでしょうか? 質問が漠然としていて申し訳ないのですがお願いします。
505 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 01:32:42 ] >>504 きみのPCのブラウザで表示できる情報はすべてJavaで取得できる手段が 存在すると考えていい。すごく難しい場合もあるけど。
506 名前:デフォルトの名無しさん [2008/06/23(月) 01:48:37 ] >>505 ありがとうございます。 大学ではCとFortranを使ってたのですがどちらも制御系のプログラムばかりでこういった類の経験がありませんでした。 林晴比古の入門JAVAシニア編でもネットから情報を取り込むことに触れられないので不安に感じましたが、もっと勉強しようと思います。 その辺を詳しく解説してくれる書籍などはないでしょうか?
507 名前:デフォルトの名無しさん [2008/06/23(月) 02:31:02 ] 赤音れおん
508 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 03:33:11 ] >>504 >>506 よくわからないけど、java.netパッケージあたりが基本では ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/net/index.html
509 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 07:31:09 ] >>508 ありがとうございます。その系列の本をあさってみようと思います
510 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 09:42:26 ] >>504 原則的には>>505 が言ったとおりなんだけど ファイナンス系サイトはデータを流用されないように工夫しているところもあるから注意 例えば数字に見えても画像だったりFlushで表示を制御してたり
511 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:02:41 ] プログラムのために準備されたものでないものからデータを拾う場合は それないりに工夫や苦労はつき物。 相手がレイアウトや内容を変えない保障はどこにもない。 うちの社内なんていくつかのシステムの寄せ集めで、 システム間のデータのやり取りの大半が、 印刷直前の帳票データから拾ってるから間違い多いしカオスすぎる・・・
512 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:32:44 ] 特定のフォルダ内からフィルタを掛けて、条件に引っかかるファイルの内容を表示したいので、 finamefilterを使って実現したのですが、当然の如くフォルダ内のファイル数増加に伴って応答が遅くなります。 なにかいい解消手段はないでしょうか?
513 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 10:42:39 ] >>510 なるほど・・・たしかに証券会社のチャートやボードはフラッシュや動画の類いに見えます。 実際問題、個人でそういったデータを引っ張ってきて表示させるのはきつそうですね。 ありがとうございました
514 名前:デフォルトの名無しさん [2008/06/23(月) 11:15:17 ] MT4辺りにDLLフックかけてJNI経由で取り込む
515 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 12:27:35 ] >>512 (十分な効果が出るか分からんけど)ファイル名をあらかじめメモリに展開するとか よほど大量なら、全文検索エンジンに放り込んでおくという手もあるが 取り扱いが面倒になる
516 名前:デフォルトの名無しさん [2008/06/23(月) 12:59:21 ] >>513 もうちょっと有力な回答があるとまってたんですけど・・・ 確か個人ですけど、リアルタイム(1秒毎)は証券会社に加入するしかないです。 yahooのあれは20分遅れだったかな? 個人集団が作ってる有力な株ソフトがいくつかあるんで、それを参考にしたらどうですか。 やってることもhtmlのテキスト解析・分析・処理のようですけど。
517 名前:デフォルトの名無しさん [2008/06/23(月) 13:20:03 ] eclipseでパッケージの中にパッケージをつくるにはどうやるんですか?
518 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 15:32:10 ] eclipseスレにいけ
519 名前:デフォルトの名無しさん [2008/06/23(月) 20:26:11 ] javaでstrutsでなにかしてみたいのですが お勧めのHPあれば教えてください。
520 名前:デフォルトの名無しさん [2008/06/23(月) 20:46:11 ] 為替と聞かれて証券教えるこの不思議
521 名前:デフォルトの名無しさん [2008/06/23(月) 22:14:40 ] なに、御礼もないし嬉しくもないの? まあ、もう答えないからいいよ。
522 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 22:25:39 ] いじけちゃってかわいい♪
523 名前:デフォルトの名無しさん [2008/06/23(月) 22:53:26 ] 殺すぞ?
524 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 22:57:50 ] 通報すっぞ?
525 名前:デフォルトの名無しさん [2008/06/23(月) 22:58:46 ] ってかわいい♪
526 名前:デフォルトの名無しさん [2008/06/23(月) 23:06:04 ] 以下のソースだと、 java.lang.NullPointerException がtd[count].setWord(strAry[1]);のところで 出てしまいます。 かれこれ4時間やっているのですが、わからないので、 解決法をおしえてください。 また、できるだけ、影響が少ない方法(データモデルをあまり変えない) だと助かります よろしくお願いします。 int count = 0; while ((line = br.readLine()) != null) { String[] strAry = line.split(" "); System.out.println(strAry[1]); if (strAry.length==2) { System.out.println("aaa"); } else if (strAry.length==3){ System.out.println("gp" + strAry[1]); td[count].setWord(strAry[1]); td[count].setSpeech(strAry[2]); } } count++; }
527 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 23:08:47 ] >>526 td[] はどこでどうやって宣言してる?恐らくそれが間違っている。
528 名前:デフォルトの名無しさん [2008/06/23(月) 23:13:23 ] S!アプリ造りたいんですけどいいサイト知りませんか?
529 名前:526 [2008/06/23(月) 23:26:25 ] >>527 ありがとう public class Manager { TokenData[] td; という感じで,クラス宣言の後で,宣言しています. また,TokenDataは,以下のクラスで宣言しています. よろしくお願いします. public class TokenData { private String word = ""; private String basicWord = ""; private String speech = ""; public void Token() {} public String getWord() { return word; } public void setWord(String word) { this.word = word; } public String getBasicWord() { return basicWord; } public void setBasicWord(String basicWord) { this.basicWord = basicWord; } public String getSpeech() { return speech; } public void setSpeech(String speech) { this.speech = speech; }}
530 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 23:29:35 ] >>526 配列の宣言と初期化について調べたほうが良いと思います。 項目数が不明な取り込みには ArrayList を使いましょう。 配列での保持が必要なら、後で変換しましょう。
531 名前:526 [2008/06/23(月) 23:33:20 ] ありがとう。 ArrayListを使う場合の例をおしえていただけませんか?
532 名前:使用書無しさん [2008/06/23(月) 23:35:55 ] javaフリークの皆さん 100%purejavaのドローングソフト jdrafter.sakura.ne.jp 登場 帳票設計や、アプレットのヴェクターアニメーションにも使えるよ ダウンロードしてね
533 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 23:43:58 ] >>531 [配列] TokenData td[]=new TokenData[20]; for(int i=0;i<td.length;i++) td[i]=new TokenData(); [ArrayList] ArrayList<TokenData> td=new ArrayList<TokenData>();
534 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:02:55 ] 最近、PGやSEが逮捕されること多くないですか? それもアキバのお宅イメージをセットにして報道してるように感じますが、警察は何か恨みでもあるんでしょうか。winney?
535 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:08:26 ] ButtonGroupでグループ化した3つのラジオボタン1,2,3に対して、 初期はすべてのボタンが選択されていない状態ですが、 いずれかのボタンが選択された状態から、グループを初期の状態に戻す方法を教えていただけませんでしょうか。 ちなみに、clearSelection()は使えない環境です。
536 名前:526 [2008/06/24(火) 00:09:09 ] >>533 本当にありがとうございます。 素人なので、こうした情報が勇気づけられます。 java1.4の場合ですと、ArrayList<TokenData>のような表現は無理だそうです。。。 その場合は、どのような方法がありますでしょうか? DATACLASSをArrayListではあつかえないってことでしょうか? すみません。おしえてください。
537 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:16:31 ] >>536 ArrayList td=new ArrayList(); ただしこの場合は中身はObject型になるので利用する際キャストが必要。 td.add(new TokenData()); TockedData token1=(TokenData)td.get(0);
538 名前:デフォルトの名無しさん [2008/06/24(火) 00:16:34 ] a.javaをコンパイルしたらa.classとa$1.classてゆうのができました この二つのclassをjarに圧縮したいのですがどうもうまくいきません ちなみにプロンプトには jar cfm g.jar d.txt a.class a$1class と打っているんですがあっているでしょうか?
539 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:20:44 ] ぱっとソース見ただけだけど、selectionをnullにする必要があるのに、selectionのsetterがsetSelected(ButtonModel,boolean)しかないから、無理な気がする・・ せめてprotectedにしててくれたらなぁ。 大したプログラムじゃないし、自分で作ってみたら?
540 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:22:32 ] >>538 unix系のshellなら $は意味がある文字だから \$ とエスケープしてみたらどうでしょう。
541 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:26:28 ] しまった。>>539 は>>535 へのレスね。
542 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:45:01 ] >>538 >>540 以前にコマンド自体あってないね 書き込み時のtypoかもしれんが
543 名前:デフォルトの名無しさん [2008/06/24(火) 00:45:53 ] JSFでも使うぞ$
544 名前:デフォルトの名無しさん [2008/06/24(火) 03:04:20 ] クラスの設計を、 ・コードで直接行う場合のメリット、デメリット ・UMLを利用する場合のメリット、デメリット を教えてください 。
545 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 08:59:35 ] 冗長、どちらか一つでいい。 ・コードで直接行う場合のメリット ・UMLを利用する場合のメリット
546 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 09:14:24 ] > クラスの設計を、 > ・コードで直接行う 設計になってねえ
547 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 11:03:46 ] クラスの設計を、コードで直接行う場合のメリット、デメリット を教えて下さい
548 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 11:04:26 ] クラスの設計を、コードで直接行う場合のメリット、デメリット を教えて下さい
549 名前:デフォルトの名無しさん [2008/06/24(火) 13:03:13 ] こんにちは。 学校の課題で作った掲示板システムの拡張をしています。 設計について質問させてください。 DB1テーブル1Entityで、各Entityが自身のvalidateメソッドを持つ形の設計をしています。 今回、一部のテーブルに対し、validateのみが異なる複数のEntityが必要な状況になりました。 いくつか方法を考えたのですが、このような場合どの方法がよいでしょうか。 (1) 関連のない別クラスとしてEntityを定義する。 (2) 共通の親Entityクラスを定義し、validateメソッドをoverrideする。 (3) validateを別クラスに切り出し、strategyに持ち込む。 よろしくお願いします。
550 名前:デフォルトの名無しさん [2008/06/24(火) 13:26:49 ] コーディングと設計の区別もつかないPGが混じってんのか
551 名前:デフォルトの名無しさん [2008/06/24(火) 14:52:17 ] こんにちは。JAVA初心者です。 eclipseでソースを打っているのですが、 コメントを打つと、たまに日本語が□に変わって うまく表示されません。 なぜか、教えてください。
552 名前:デフォルトの名無しさん [2008/06/24(火) 15:25:52 ] すいません解決しました。 ありがとうございました
553 名前:デフォルトの名無しさん [2008/06/24(火) 16:01:27 ] javaの土初心者です。JavaでWindows PCの I/O空間アクセス、物理メモリアクセス ってどのようにするんですか?
554 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 16:21:53 ] >>553 JNIとOSのディバイスドライバが必要だな。 そもそもWin32でそれをする方法を知ってるのか?
555 名前:デフォルトの名無しさん [2008/06/24(火) 17:13:06 ] >>554 デバイスドライバを作りたくないからJavaでやろうと考えたのですが... 今回はI/O空間アクセスが出来ればOKで、物理メモリアクセスはあればなんかの役に立つかな ぐらいなんですが Windowsならドライバで IO空間アクセス: READ_PORT_XXX、WRITE_PORT_XXX で行う 物理メモリアクセス: MmMapIoSpaceしてREAD_REGISTER_BUFFER_XXX、WRITE_REGISTER_BUFFER_XXX で行う で使うときにはDeviceIoControlで叩く ってC/C++のWinプログラム初心者でも知っている知識ですよ。 初心者Javaな人でもこれぐらいは知っていますよね。
556 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:22:57 ] ここはクマーとかいうAAを貼るところだろうか?
557 名前:デフォルトの名無しさん [2008/06/24(火) 17:27:05 ] アンダーフローやオーバーフローは構文エラーですか?論理エラーですか?
558 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:38:27 ] 違います 低脳エラー(うぽぽんエラー)です
559 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:40:41 ] >>555 すっげー 俺もこんくらいの知識ほしい
560 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:50:21 ] >>85-105 なんか爆笑した。>>85 の言動にw >>109 そこにJavaの格言とJavaの鉄則が入ってるのが理解できない。 あの本はJava5以前の本だぞ。Java5が出てから役に立たなくなったテクニックやTipsが けっこうあるので今ではおすすめしがたいな。鉄則のほうはそこそこ役に立つが、 それだったらEffective Javaのほうが全然役に立つ。
561 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:51:04 ] そクマー
562 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:56:02 ] >>121 Java+謎、落とし穴を書いた前橋 和弥よりはましではないかと。 あれは酷かった。本に愚痴ばかりかいて、今となっては解決済みの問題が あたかも解決されていないかのような書き方が、初心者に誤解を与えかねない本だな。 アンチがあれを読んで昔飛びついていた記憶がある。
563 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 17:57:58 ] >>134 > ただM$の都合で、変な改定されるのが怖いんです。(J++とかw) そのくせ、こんなこと言ってるよな。VBにしておけよ電波。 > どうしてjavaは初心者にこうも厳しいんですか? > 例えばダブルクリックの起動ファイルひとつ作るのでも、ネット上の情報はうそっぱちか役に立たない情報ばっかり。 > VBと比べても必要な情報にたどりつくのに時間がかかりすぎ。 > これだったら、M$社製品(C++、C#、VB2005等)の方が手っ取り早かった(と思う、たぶん)。 > とくかく情報の出し惜しみはやめてほしいな。 > なんで、java弄るひとって性格の悪い人がおおいんだろ。 > java関係の本でもろくなのないし。
564 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:00:22 ] >>141 > LinuxではC#動かないでしょう? Monoで動く。 > .NETははっきりいって糞くらえですよ。(食事中のかたすんません) VB忠なのに。
565 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:01:37 ] >>146 > ふりだしに戻る・・・ > ⇒なんで、java弄るひとって性格の悪い人がおおいんだろ。 > > 自分なりの分析ですが > java弄る人って、殆どが玄人(それで飯食っているひと)なわけですよ。 > もしくは、いま勉強中で資格とって就職しようとしている人々。 > したがって、ライバルは少ないほうがいい、もしくは自分の優位性をつねに保っていたい。 > そんなエゴが見え隠れしている。 一昔前のC言語厨やUNIX屋じゃあるまいし。 このスレ見ればわかると思うが、素人がよく質問しに来ているが。
566 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:04:05 ] >>154 たいした警鐘に感じないなあ。 Javaの情報は10年前に比べれば腐るほどあるし ライブラリもたっぷりあるし書籍もネットも充実して情報には困らないんだよなあ
567 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:05:19 ] この使い方の意義が分からん漏れはヴァカですか? StringBuffer sb; sb.append("Hello, ").append("world!!");
568 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 18:15:01 ] >>567 意味じゃなくて意義となればワンライナーと呼ばれる人々が喜ぶ
569 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 19:08:36 ] >>549 validateを交換可能にしたいんでしょ? まあ2のTemplateMethodパターンかなあ
570 名前:デフォルトの名無しさん [2008/06/24(火) 19:09:11 ] java.awt.FileDialog上のキー操作、マウス操作をフックしたいのですが、 実装方法を教えてください。 フックしたい目的は、右上の×ボタンとESCキーによるキャンセル抑止です。 processEventメソッドをオーバーライドしたり、 リスナを追加してもどうもフックされていないようです・・。
571 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 19:19:11 ] >>567 それだったらStringBufferをStringBuilderに変えて StringBuilder sb = new StringBuilder(); sb.append("Hello, world!!"); したkなる。 new忘れていたようなのでつけておいた。 "Hello, "と"world!!"が文字リテラルではなく変数や定数だったら 意義はある。
572 名前:デフォルトの名無しさん [2008/06/24(火) 19:45:18 ] 5万ぐらいの激安のノートパソコンで 勉強できる?
573 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:05:32 ] >>569 ありがとうございました。 その方向で設計してみます。
574 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:42:39 ] JMFを使ってキャプチャした画像→ JNIを通してOpenCVに送り顔認識→ 認識した顔の中心座標を返す といったプログラムを書こうとしていますが、そもそもこんなことは可能なのでしょうか。 別にJNIを使わなくても顔認識ができればいいのですが、 OpenCV程度の顔認識精度があるJAVA用ライブラリなどあれば教えて頂きたいです。
575 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:56:56 ] >>572 何が?
576 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 20:59:29 ] >>572 勉強するだけなら10年前のでもできるだろ 何を勉強するのかしらんけど
577 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:00:01 ] 4月からIT企業に入社したヒヨッコです。いろいろ勉強のために調べていたらどうしても理解できないソースを見つけたので質問に来ました。 インタフェースの中にある以下のようなソースなんですが public interface IntComparator{ public static final IntComparator NATURAL_COMPARATOR = new IntComparator(){ public int compare(int i1, int i2){ return i1 < i2 ? -1 : i1 > i2 ? 1 : 0 ; } }; } 出典:ttp://mitv2.net/algorithm/sort1.html#IntComparator 1.「new コンストラクタ{メソッド名(引数){メソッド定義}}」という書式はこの他にも見かけたのですが、 これはこれから生成するインスタンスに含まれるメソッドを定義する構文という理解で正しいのでしょうか?また、その場合このメソッド定義はどのインスタンスに対して有効なのでしょうか? (クラス定義と同じでこれ以降同じクラスから生成するインスタンス全てに有効?それともここで生成するインスタンスのみに有効?) 2.メソッドを定義する構文であるとすれば、抽象メソッドしか持たないはずのインタフェース内でメソッドを定義していることになります。 Eclipsにコピペしてみてもコンパイルエラーは発生しないようですが、本当にこのようなことが許容されるのでしょうか? 長文になってしまいましたが、よろしくお願いします。
578 名前:577 mailto:sage [2008/06/24(火) 21:01:02 ] インデントきえたーーー 読みにくくてスイマセン…出典元を見ていただいたほうがいいかも知れません…
579 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 21:04:21 ] >>578 専ブラならポップアップで見てみ
580 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:00:48 ] >>577 それは匿名内部クラス、あるいは単に匿名クラス、もしくは無名クラスなどという。 指定したクラスかインタフェイス(その場合はIntComparator)を継承・実装している名前のないクラスを定義してnewする。 定義したメソッドは、そこで生成するインスタンスだけのもの。
581 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 22:09:13 ] >>577 1回限りしか必要のないクラスの名前をわざわざ付けて名前空間を汚す代わりに 名無しのクラスからインスタンスを生成することができる。 書式的には、 new 親クラス(親クラスのコンストラクタの引数) { メソッド定義 } みたいな感じ。 名前がないので、新しいメソッドを定義してもクラスを明示できないから呼べない。 大抵、親クラスのメソッドのオーバライドしないと意味がない。 クラスじゃなくてインターフェースでもおk 似たようなものに、配列の生成と初期化を同時に行う方法がある。 new int[] { 1, 2, 3, } とか。 いちいち配列を入れる変数名を用意して名前空間を汚さずとも そのままメソッドの実引数などに使える。 ただ、見づらいと言う人は多々居る。不毛な論争の種にどうぞ
582 名前:577 mailto:sage [2008/06/24(火) 22:51:54 ] >>580 >>581 ありがとうございます。 読みながら想像してたのと大体合ってたようで一安心です。 クラスの中でインスタンスをいっぱい(50コとか)作るけど、そのうち1つだけメソッドの中身がちょっと違うときに使ったりするものなんですね。 もう少しこのソースがどんな動きをするのかを考えてみたいと思います。その過程で壁に当たったらまた質問に来るかもしれないので、そのときはよろしくお願いします。
583 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 23:28:01 ] クラスの設計を、コードで直接行う場合のメリット、デメリット を教えて下さい
584 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:22:10 ] サイズを固定しないJTableを作りたいのですが、 可変長の二次元配列ってどうやって表現すればよいのでしょうか? 一次元でも実現可能なのでしょうが、コードが冗長になりそうで・・・
585 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:29:21 ] >>584 配列じゃなくてコレクション使ったMODELで
586 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:52:08 ] >>585 引数がVectorのDefaultTableModelを使うという事でしょうか?
587 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 00:53:39 ] javaで図形処理をさせる課題が出て難しく感じたので これを機に参考書を買おうと思っています。 wiki乗っている「コアJava2 Vol.1 基礎編」が良さそうだと思ったのですが 図形処理関係では他にどういう参考書があるか知りたいので 教えてください。
588 名前:デフォルトの名無しさん [2008/06/25(水) 01:20:12 ] WebOTXでJavaを利用したアプリサーバを 構築してるんですが、なんというか情報が少なすぎる… 参考書があるか知りたいですが、探し方が悪いのか 丸善とかでは見つからなかった。 WebOTXでJavaをつかったアプリサーバ構築 みたいなテーマの本はないでしょうか・・・
589 名前:デフォルトの名無しさん [2008/06/25(水) 08:08:51 ] Javaはガベジコレクション等プログラマがメモリを意識しないでいい利点があると聞いたのですが・・・ int[] a = {10, 9, 8, 7, 6} int[] b = {1, 2, 3} a = b; とした時にC言語だとfree?されてないのでメモリが無駄になるのですが、Javaだとどうなるんですか?
590 名前:デフォルトの名無しさん [2008/06/25(水) 08:09:37 ] ↑{10, 9, 8, 7, 6} のメモリ領域が
591 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 08:23:43 ] >>589 言語仕様で決まってるのは{10, 9, 8, 7, 6}の配列がガベコレ可能な状態になるってところまで。 どのタイミングで回収されるかは実装依存。 あと、C言語だと、スタックに確保されるんじゃなかったか? それ。
592 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 11:47:12 ] 指定した番号目の素数を出すにはどうしたらいいですか?
593 名前:デフォルトの名無しさん [2008/06/25(水) 11:49:39 ] age
594 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 11:56:34 ] 素数を降順でリストに突っ込んで取だしゃいいだろ。
595 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 11:57:20 ] >>594 すみません、素数を出すコードがわかりませんので。
596 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 12:03:16 ] エラトステネスのふるいでググレ
597 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 12:06:59 ] 了解
598 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 12:41:32 ] 数日前にチャート表示のプログラムを相談したものですが、 ttp//plaza.rakuten.co.jp/meime/diary/200603310002 を参考にしてみます。相談に乗っていただきありがとうございました。
599 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 13:42:22 ] >>594 なんで降順?
600 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 15:10:17 ] そんなどうでもいいこと聞いてなんになるの?
601 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 15:22:59 ] 普通は昇順(1,2,3,5,7....)で何番目の素数とか言うだろw 降順の素数番目ってどうすんだw
602 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 17:11:11 ] じゃあ昇順てことで
603 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:27:38 ] スレ違いかもしれませんが、DoJaのコンソールの Main :java.lang.NullPointerException Test java.lang.NullPointerException at MainCanvas.<init>(+40) at Test.start(+7) MainCanvas このエラー出力の(+40)や(+7)はどういう意味ですか?
604 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 18:31:26 ] バイトコードの位置 <init>メソッドの40バイトめとstartメソッドの7バイトめ
605 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:23:38 ] 進むほど↑↑なのが昇順。 進むほど↓↓なのが降順。
606 名前:デフォルトの名無しさん [2008/06/25(水) 21:47:03 ] 自分で使えるAPIをもっと増やしたいと思っている者ですが、みなさんの方でおすすめの本などあるでしょうか? 仕様を見ているだけではなかなか使いこなせず、使用例を見て理解したいと思うんですが、ソースをどこから探せばいいかとよく迷います。 自分のレベルですがJava歴は1年3ケ月、JSP、JSTLのタグを経て、GoFのデザインパターンを現在勉強しています。 ご教授、よろしくお願いします。
607 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:48:08 ] new コンストラクタ(引数).メソッド(引数) という構文を見たのですが(左辺には何も無し)、これは staticでないメソッドを使いたい!でも他に使うものはないからインスタンスを作るまでも無い! というときにインスタンスを介さずに非staticメソッドを呼び出すものと考えていいのでしょうか?
608 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 21:48:30 ] >>605 時間軸で見た前方後方くらいにわかりづらいな
609 名前:デフォルトの名無しさん [2008/06/25(水) 21:59:50 ] >>607 いや、newでインスタンスを生成してからメソッドを呼んでる形だよ、それは。 つまり Hoge hoge = new Hoge(param); Hoge.method(param); の2行を new Hoge(param).method(param); に省略。
610 名前:デフォルトの名無しさん [2008/06/25(水) 22:01:36 ] ああスマン、上のHoge hoge.method(param)の間違い。
611 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:12:41 ] >>577 なんでそんなものを作るのか。 java.lang.ComparableインタフェースとComparable#compareTo()メソッドがあるのに
612 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:15:07 ] >>589 AtomicIntegerとか使えばいい
613 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 22:16:18 ] >>607 インスタンスは必要だが参照として保持する必要がない場合に使う書き方 FileChanel channel = new FileInputStream(file).getChannel(); とかよく使うパターンかね
614 名前:607 mailto:sage [2008/06/25(水) 22:47:43 ] >>609 >>613 ありがとうございます。 内部ではインスタンスは作られているけれど、参照が無いから後から同じインスタンスをいじったりはできないということですね。 いまさらこんなこと聞くのもアレなんですが、Javaで言うところの「参照」というのはCでのポインタみたいなものと考えていいんですよね? …ちょっと自信がなくなってきた… >>611 出典のページによるとcompareToではオブジェクト同士の比較だけで、int同士の比較ができないから作っちまえということのようです。
615 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 23:07:51 ] >>614 参照はポインタの一種と考えれば、まあ間違いはない。 ポインタで出来ることを全て参照でできないってくらい理解しておけばいいと俺は思う
616 名前:609 [2008/06/26(木) 07:50:26 ] >>614 出典のページによるとcompareToではオブジェクト同士の比較だけで、int同士の比較ができないから作っちまえということのようです。 参考までに出典を教えて。説明を聞いてもIntegerクラスとのボクシング、アウトボクシングがある5.0以降なら、やはり611の言う通りと思えるので。 ボクシングの説明をただ省きたかっただけなのかもしれないけどね。
617 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 08:02:11 ] IntComparatorを日本語ページでぐぐったら2003年に書いたページが出てきたけど。 これ1.5より前に書かれてるんだろうから仕方ないんじゃね?
618 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 09:47:01 ] HtmlURLConnectionを用いてウェブページへのログインを実現させようとしています。 パケットキャプチャして、POSTの方はほぼ完全に一致させ、それに対するサーバーの応答も大丈夫だったのですが、その後こちらがGETするときにはPOSTの時に URLConnection#setRequestProperty(String,String)で設定していたプロパティが完全にクリアされてしまい、サーバーから403が返ってきます。 具体的には、User-Agentが問題なようです。 GETの時のプロパティを設定するにはどのようにすればよいのでしょうか?
619 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 12:54:34 ] JMFを使って動画の再生に成功。あとはタイムラインと文字を流すシステムをひっつければニコニコ動画の完成だ!
620 名前:616 [2008/06/26(木) 13:21:43 ] >>617 おいおい、可能性高くてもWebで同じ名前のソース一つ見つけたからこれのこと言ってんだろってのは無謀だろ。 よしんばほんとにそうだとして、俺を納得させてどうするw ここは614に「古いコードあてにしないで611の言うこと参考にしたほうがいい。」と言ってやるのが筋じゃないか。
621 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 13:25:43 ] >>620 ってか、君こそ出典知ってどうするつもりだったん?
622 名前:デフォルトの名無しさん [2008/06/26(木) 14:59:17 ] メモ帳からデータを読み込むプログラミングを作りたいのですがうまくいきません 以下が私の作成したものです。NetBeansを用いました。 メモ帳の中のデータは 1 2 です。 package javaapplication2; import java.io.*; public class Load { public static void main(String[] args) { try { //(1) //(2)Fileオブジェクトの生成 FileReader fr =new FileReader("test.txt"); //(3)Fileオブジェクトの生成 int i,m,s,kai=0; //(7)読み込みデータがなくなるまで読み込み while ((i = fr.read()) != -1) { s=i; //(8)書き込むデータがなくなるまで書き込み m=i; kai = s + m; } fr.close(); System.out.print(kai); //(9)読み込みストリームを閉じる //(10)書き込みストリームを閉じる catch(IOException e) { } }}
623 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 16:03:23 ] >>622 コメントが意味分からないんだが、どうして欲しいんだ? ついでにそれはメモ帳からデータを読み込むプログラムとは言わないだろw
624 名前:デフォルトの名無しさん [2008/06/26(木) 16:07:41 ] >>622 どううまくいかないのか、期待したことと起きたことを明記してください。
625 名前:622 [2008/06/26(木) 16:34:45 ] 期待したことは、 1がsに入り2がmに入って、それらが足し算されkaiに3が入り 3が出力されるというものです。 起きた事は 100と出力されました。
626 名前:624 [2008/06/26(木) 16:47:12 ] >>625 FileReader#read() は一文字(or一行?)を読むのではなく、1バイトを読み込みます。 ”メモ帳の中のデータ”と言っている(おそらく)テキストファイルの先頭から1バイトづつです。 足す前に System.out.println("i="+i); 等と状況を表示する文を入れて実行し、どんな値が読み込まれているのか確認してみてください。 またどうしてそうなるのか、”メモ帳の中のデータ”をファイルダンプツールで見てみると良いでしょう。
627 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 16:49:32 ] >>625 e-words.jp/p/r-ascii.html sには最初'1'、つまり49が入る。 次に復帰改行で13、次に10が入る。 そして最後に'2'、つまり50が入る。 mも全く同じもの入れてるんだから、同じ。 つまり50+50=100が出力されてる。
628 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 17:36:11 ] >>626 >FileReader#read() は一文字(or一行?)を読むのではなく、1バイトを読み込みます。 これは非常に語弊があると思うんだけど。。
629 名前:624 [2008/06/26(木) 17:50:00 ] 私の作成したのもがどのように振舞っているかは、良くわかりましたが、 どのように修正すれば良いかアウトラインが見えないので、 教えてください。
630 名前:626 [2008/06/26(木) 17:51:23 ] >>FileReader#read() は一文字(or一行?)を読むのではなく、1バイトを読み込みます。 >これは非常に語弊があると思うんだけど。。 そうでした、FileReaderは文字読みでした。 なので一行でも1バイトでもなく、一文字が正解です。ごめんなさい。
631 名前:630 [2008/06/26(木) 17:54:29 ] >>629 一行を文字列として読み込むというメソッドを持つクラスがあるので探してみてください。
632 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:07:56 ] >>622 繰り返しによって合計を取る方法(どう考えても基本です)をおさらいすることも重要かと。 ちなみに、mとかsというのは何かの略ですか?気になる。
633 名前:624 [2008/06/26(木) 18:08:04 ] >>631 ありがとう
634 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:52:03 ] pc11.2ch.net/test/read.cgi/tech/1212085079/259 このスレでちょっと出てたのをみて興味がわいたのですが、Javaで配列の要素側から、その要素を含む配列を取得することって出来ますか?
635 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 18:55:41 ] 基本無理。その要素に、それを含む配列を持たせたらできるけどあほらしいし・・
636 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 19:18:47 ] 質問なんですけど、夏にjavaプログラマのSJC-Pの試験を受けるため勉強してるんですが、 問題集しか購入してなく、用語の解説や流れなどのった教科書が欲しいところなのですが お勧めの本とかないですか?友達がもってるSCCの教本見たら微妙だったんですよね。 問題集のほう「徹底攻略 Java2プログラマPlatform1.4」の黒本使ってます。 お勧めなどありましたら教えてください。
637 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 20:39:12 ] 質問です。 Java システムアイコンを抽出 / Chat&Messenger ttp://sattontanabe.blog86.fc2.com/blog-entry-64.html のサイトで、ウィンドウにドラッグドロップしたファイルのアイコンを取得する サンプルプログラムが公開されているのですが、このプログラムでは 16*16サイズのアイコンを取得することしか出来ません。 Fileから32*32もしくはそれ以上のサイズのアイコンを取得する方法はありますか?
638 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 21:27:39 ] >>637 無理っす。
639 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 22:47:09 ] メソッド名の書き方について質問です。 メソッド名が長くなるので略して書きたいのですが、その場合大文字小文字の区別はどうするべきでしょうか? 例として aaaaaBbbbbCcccccDdddd というメソッド名を短くしてABCDという名前に略すのですが、これだと規約から外れてしまいます。 そこで 1.aBCD 2.abcd 3.aaaaaBbbbbCcccccDdddd(略すべきではない) 4.その他 どれがいいのでしょうか?
640 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 22:53:52 ] aaaaaBCDとか
641 名前:使用書無しさん [2008/06/26(木) 23:00:45 ] netBeansとかいまどきのIDE使ったら自動補完してくれるので、後々の読みやすさ 考えたら略さないほうがいいと思うけど。
642 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 23:18:47 ] >>639 略し方すらわからなくて人に聞かなきゃいけないレベルなら略さない方が良いと思うぞ。 無意識のうちに>>639 が望む回答するように情報隠してる可能性もあるし。 例えば、命名規約のルールだって全部出してるわけじゃないでしょ。
643 名前:使用書無しさん [2008/06/26(木) 23:22:59 ] 634<< 配列よりVectorつかったらどうだ。 class A { public B parent=null; public void setParent(B parent){ this.parent=parent; } public B getParent(){ return parent; } } class B extends Vector<A>{ @override public void add( A child){ child.setParent(this); super.add(child); } public void add(int index,A child){ child.setParent(this); super.add(index,child); } } こんなもんかな。
644 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 23:43:35 ] >>639 長すぎるってのはクラスの設計が良くない兆候。 aaaaaBbbbbCcccccDdddd というメソッドが HogeManagerとかにあるんだろ、どうせ。 HogeAaaaBbbbクラスをつくり、ccccDdddってメソッドを作るような状況な筈
645 名前:デフォルトの名無しさん [2008/06/27(金) 00:05:06 ] >>624 ファイルからのデータの読み取りにはcsv形式が便利(基本)。(「1,2」とか書いてtest.csvを準備。) 以下はCSVテキスト上で同じ行にある数値の合計を順次算出して別ファイルに集計する例 package javaapplication2; import java.io.*; import java.util.*; public class Load { public static void main(String[] args) { //データ格納用Listの準備 List<String[]> list = new ArrayList<String[]>(); try { FileReader fr =new FileReader("test.csv"); BufferedReader bf = new BufferedReader(fr); String st = null; while ((st = bf.readLine()) != null) { String[] line = st.split(","); list.add(line);//ファイル上1行の各数値を文字列として格納 } bf.close();
646 名前:デフォルトの名無しさん [2008/06/27(金) 00:05:38 ] //計算結果データ格納用Listの準備 List<Integer> result = new ArrayList<Integer>(); int sum = 0; for(String[] values: list){ for(String value: values){ int num = Integer.parseInt(value);//文字列を数値型に変換 sum += num;//同じ配列内の値の合計値を求める } System.out.println(sum); result.add(sum);//合計値を格納 sum = 0; } FileWriter fw = new FileWriter("result.csv"); PrintWriter pw = new PrintWriter(new BufferedWriter(fw)); for(Integer val: result){ pw.println(val); } pw.close(); }catch(IOException e) { e.printStackTrace(); } } }
647 名前:639 mailto:sage [2008/06/27(金) 00:11:41 ] レスどうもです。 今iアプリを作成してて複数単語を繋げて長くなったら打つのが面倒だから略して書けないか? その場合どうするべきか?というのを軽く疑問に思っただけだったので、変な例を出してしまいましたが、 それがいけなかったようですので実際に作っているのを出してみます。 ダーツゲームを作成しているのですが、ゲームルールとしてスーパー・ラウンド・ザ・クロックというのがあります。 ルールクラスの中にスーパー・ラウンド・ザ・クロックメソッド(SuperRoundTheClock)を作るのですが、 この場合どうするべきか?というのが知りたかったのです。 ちなみに、SuperRoundTheClockぐらい打てよ!というのは無しの方向で・・・。 より長いものが出てきた場合に参考にしておきたいので。
648 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 00:17:54 ] 今どき補完できるエディタ使おうよ
649 名前:使用書無しさん [2008/06/27(金) 00:19:47 ] >>647 それjavaの質問というよりセンスの問題じゃねえ? 昔cobolやってたころなんか母音略して子音だけで名づけてたな sprRndTheClckなんてな..
650 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 00:23:43 ] >>647 その場合、RuleクラスのサブクラスとしてSuperRoundTheClockRuleを作成するのが定石だと思う。 なので、メソッド名は同じになりオーバーライドすることになる。
651 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 00:28:29 ] >>647 頭字語で補完してくれるよ、最近のIDEは。 Eclipseの場合だと、sRTC で補完すると superRoundTheClock() が出てくる。 重複するものがなきゃもっと短かくてもOK。 あと、Javaではメソッド名の先頭は小文字な。
652 名前:639 mailto:sage [2008/06/27(金) 01:32:47 ] 開発環境が固定されていないため(自宅と学校で学校の中でもいろんな場所でやってる)エディタ変更は厳しいです。 今は全マシンにインストールされてるエディタがあるのでそれを使っています。 今後は略さずに補完機能のあるエディタを使って開発する事がベストということですね。 >>650 上の例で突っ込まれそうな予感はしてましたが、突っ込まれてしまいました。 これはRuleクラスでメンバと抽象メソッドを作ればよいということでいいんでしょうか?
653 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 01:51:06 ] >>652 そのとおり。ストラテジーパターンで。 感覚は掴めていそうに見えるから、ググって実装例を見てみるといいと思う。 もっとも、ルールが2種類しかないとか言うなら、デザパタを適用するまでも無いけどね。
654 名前:639 mailto:sage [2008/06/27(金) 02:09:48 ] >>653 ルールは追加する予定ではいますが、時間の都合上、最悪superRound・・・だけというのも有り得ます。 が、勉強のためにそれでやってみようと思います。
655 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 06:32:30 ] >>635 ありがとうございます
656 名前:デフォルトの名無しさん [2008/06/27(金) 15:32:50 ] JSFでSSLは実現できますか
657 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 16:09:57 ] JDBCのresultsetのgetObjectで取得したデータの 型を取得する方法をご教示ください。 やりたいことは resultsetのgetObjectによって 取得されたデータで作成された ArrayList内データをcsvに出力する汎用的な メソッドを作成しています。 そのArrayList内のデータで、文字型なら「"」で くくりたいと考えています。 public void createCSV(List table) { //tableはgetObjectで取得したデータが渡される。 for (int r = 0; r < table.size(); r++) { List rec = (ArrayList)table.get(r); for( int c = 0; c < rec.size(); c++ ) { //ここでrec.get(c)のデータ型を知りたい。 } ・・・ }
658 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 16:13:48 ] >>657 if (rec.get(c) instanceof String) { ... } else { ... }
659 名前:デフォルトの名無しさん [2008/06/27(金) 16:15:55 ] getClass().getName() の方が早くね
660 名前:デフォルトの名無しさん [2008/06/27(金) 16:24:39 ] >>658-659 即レスでありがとうございます。 無事やりたいことができました。 勉強になりました。
661 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 22:55:13 ] 少し前に為替レートの取得法を相談したものですが,URLConnectionをつかってそのサイトのデータ引き落としは上手く行きましたが、 やはりレートを秒単位でリアルタイム表示しているところはとる事が出来ず行き詰ってしまいました・・ 何かいい案はないでしょうか?
662 名前:デフォルトの名無しさん mailto:sage [2008/06/27(金) 23:17:54 ] クラス図での表現を教えてください。 (属性と操作は省略していいそうです) そのクラス図がどのような現実世界の仕掛けを表現したものか も教えてください。 Course Person Professor ShedcleOfClasses Section Student Transcript TranscripEntry
663 名前:661 mailto:sage [2008/06/27(金) 23:44:49 ] すいません。いろいろ試した結果為替レートの取得できるようになりました。 申し訳ありませんでした
664 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:35:59 ] 'else'への'if'がありません ってどうすれば解決できるんでしょうか?
665 名前:639 mailto:sage [2008/06/28(土) 00:41:43 ] 問題になってるif文をここに貼り付ければ?
666 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 00:42:51 ] ifまわりの括弧がおかしいとかだろうな
667 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 01:10:59 ] www.objectstart.com/downloads.html にある下から2番目のClick here to access a Zip file containing the Java 1.5.x version of source code for the second edition of BJO. (This version of source code will not compile with Java 1.4.x or earlier compilers.) のファイルにあるCh14のCourse Person Professor ShedcleOfClasses Section Student Transcript TranscripEntry のクラス図を教えてください
668 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 09:45:47 ] >>667 クラス図がどんなものか知ってて、ソースコードがあれば 他人に聞く必要のあることなんてこれっぽっちも無いと思うぞ。 描くのが面倒臭いのか? もしそうなら、ソースからクラス図を吐き出すツールを作ればいいじゃない。 あとは、それくらいの発想なら世の優秀な兄者どもが 既に思いついてるんだろうな〜って感じで、ググっちゃいなヨ。 ↓はJudeっていうツールだけど、ソースからクラス図作成もできるので便利よ ttps://jude.change-vision.com/jude-web/index.html ちなみに ShedcleOfClasses じゃなくて ScheduleOfClasses ね
669 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 13:56:52 ] ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ毎日新聞社による日本人女性への誹謗中傷☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ☠ฺ ・母親は受験勉強をする息子の学力向上のためにフェラチオをする ・日本人女性の55%は、出会ったその日に男と寝る ・ファストフードは女子高生たちを性的狂乱状態におとしいれる ・ティーンたちはバイアグラを使ってウサギのようにセックスをする ・女子高生は、刺激のためにノーブラ・ノーパンになる ・日本の最新の流行 : 70歳の売春婦 ・老人の売春婦の人気にもかかわらず、日本では小学生の売春婦にも仕事がある ・日本の若い看護婦は売春婦に勝る ・24時間オルガズムが止まらない病気で苦しむ日本人女性の数が増えている ・15未満の子供を対象とした疑似ポルノが日本に蔓延している ・OLの72%が、セックスをより堪能するために何らかのトレーニングを受けている ・人妻は気分転換の目的で昔の恋人に抱かれに行く ・主婦は郊外のコイン・シャワーで売春をしている ・日本男子は柔道や空手の部活で男相手に童貞を捨てている ・ほとんどすべての漁師は海でマンタとSEXしている ・まだ10代の少年から退職した老人までみんな2980円の手コキを利用している ・六本木のあるレストランでは、食事の前にその材料となる動物と獣姦する ※同社が全年齢向けコーナーで七年以上にわたり世界に向けて配信していたものの一部です ※同社の行為は日本人への偏見や人種差別、婦女暴行、幼児虐待を助長するものです ◆毎日新聞の英語版サイトがひどすぎる まとめ@wiki www9.atwiki.jp/mainichiwaiwai/ ◆毎日新聞問題の情報集積wiki www8.atwiki.jp/mainichi-matome/ つまり日本国民は www.vipper.net/vip552788.jpg
670 名前:デフォルトの名無しさん [2008/06/28(土) 17:55:22 ] >>661 秒単位だとどうしてもソフトを間に挟むしかない MT4などにDllフックするか優良サービスを得るか www.dailyfx.com/charts/ChartStation.html で動いてるアプレットからデータを取得するのが無難
671 名前:デフォルトの名無しさん [2008/06/28(土) 18:03:12 ] てか 前に答えてあったな
672 名前:デフォルトの名無しさん [2008/06/28(土) 18:13:48 ] 670訂正 ○有料 ×優良 だね
673 名前:デフォルトの名無しさん [2008/06/28(土) 21:11:44 ] mysqlで100mbのデータをソートしたいのですが ResultSetのインスタンスを所得した時点でメモリ不足になりました また、ヒープのサイズを512MBに設定し、 100mbのCSVをCollectionsのsortメゾットでsortしたのですが これもまたメモリ不足になってしまいました。 大量データをソートする場合どのような手段をとればいいのでしょうか
674 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 22:36:31 ] マージソートの要領で、データ全体をメモリに入るサイズに分割して個別にソートし、最後にマージする
675 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 22:38:31 ] ゲームプログラミングで一般的にルールを破った場合というのは例外を投げ、それを対処すべきでしょうか? それとも、毎度ルールに沿っているかチェックして対処すべきでしょうか?
676 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 22:39:45 ] 入力された数字が一桁なら先頭に0をつけたすプログラムを書きたいのですが、 どうすればいいでしょうか・・・。 たとえば 6→06 としたいのです。 初歩的な質問過ぎてすいません。
677 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 22:44:06 ] int num; ... String numtext = String.format("%02d",num);
678 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 23:27:15 ] www.objectstart.com/downloads.html にある下から2番目のClick here to access a Zip file containing the Java 1.5.x version of source code for the second edition of BJO. (This version of source code will not compile with Java 1.4.x or earlier compilers.) のファイルにあるCh14のCourse Person Professor SchedcleOfClasses Section Student Transcript TranscripEntry のクラス図を教えてください
679 名前:デフォルトの名無しさん mailto:sage [2008/06/28(土) 23:53:53 ] javaでブラウザを作ってみたいのですが SWTを使わずにGeckoエンジンを使った表示の方法はないでしょうか?
680 名前:デフォルトの名無しさん [2008/06/28(土) 23:53:57 ] プロンプトでパラメータから年・月を受け取り、その「前月」「当月」「次月」の3ヶ月をコンソールに 出力するカレンダーにするにはどうしたらいいですか? (要するに、2008、5と入力したら、4月、5月、6月の3か月分を出力する) 条件として、 ・パラメータチェックメソッドを実装すること ただし、同メソッド内にtry/catch句を記述してはいけない。 (自前で数値チェックを実装する) ・mainメソッドはControllerとしてのみ使用すること。 (実際の作成/出力処理は別メソッドに実装すること) 助けてもらえたら幸いです、みなさんお願いします:;
681 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:02:03 ] >>679 Java Mozilla Html Parser
682 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:03:09 ] なんか最近勘違い君が多いけど、ここは宿題スレじゃないんだぜ >どうしたらいいですか? なんて曖昧な質問には、 プログラムしたらいいのでは? としか答えようがないでしょ? せめて、あたかも宿題じゃないかのようにぼかす配慮をした上で どういうコードを書いたらどういうエラーがでた、位は書こうぜ
683 名前:デフォルトの名無しさん [2008/06/29(日) 00:16:34 ] 680です。 すいませんでした、ご指摘のとおり宿題スレに行きますね。
684 名前:デフォルトの名無しさん [2008/06/29(日) 00:20:27 ] if(arg[0].equals("2008") && arg[1].equals("5")){ System.out.println("2008年4月、2008年5月、2008年6月"); }else{ System.out.println("自分でカレンダー見て"); }
685 名前:679 mailto:sage [2008/06/29(日) 00:24:20 ] >>681 解答ありがとうございます。 しかしパーサーじゃなくてレンダリングの方法をお願いしたかったのですが。。 XULRunnerやJavaXPCOMを見ていたのですが SwingやAWTはなにやら無理なようなので他に方法はないでしょうか
686 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:40:36 ] java.sun.com/j2se/1.4.2/ja/download.html J2SE SDK のダウンロードができないんです Archiveのリンクも開けません 何故でしょうか?
687 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:52:04 ] >>679 これは? jrex.mozdev.org/index.html
688 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 00:53:30 ] >>673 100MB(合計だよね?)のデータを読み込めて、同程度の作業領域を確保出来るだけのメモリがあるんだから、 適当にin-placeなソートでもすればいいと思うよ お勧めは、multikey quicksort, msd/lsd radix sort, bucket sortあたり どのソートアルゴリズムを利用すべきかは、データ構造によるところが大きいので適宜選択のこと
689 名前:デフォルトの名無しさん [2008/06/29(日) 00:57:03 ] >>682 話に加われるだけのレベルをつけてからおいで
690 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 01:15:20 ] >レベルをつけてから >レベルをつけてから >レベルをつけてから >レベルをつけてから >レベルをつけてから >レベルをつけてから
691 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 01:22:41 ] >>689 あんたは会話が成立するレベルの日本語を 操れるだけの能力を身につけてから出直しておいで。
692 名前:デフォルトの名無しさん [2008/06/29(日) 01:48:08 ] >>691 偉そうに言いながら「ら」抜き日本語かよww 正しくは「操られる」だろ おまえこそまともな日本語使えよなww
693 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 01:55:52 ] >>692 ねーよ
694 名前:デフォルトの名無しさん [2008/06/29(日) 01:57:52 ] int型のポインタを関数の引数に渡して、引数に、なんか値を戻してやる、 ・・・って感じのこと、javaは、できないのか?
695 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:00:44 ] 最近のJavaって終末感漂ってるよね 10年前の輝きは何だったんだろうね 新しい言語の説明ってどれもJavaの悪い部分との比較だったりするし Cみたいに恒常的に長生きする言語でもないし
696 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:06:37 ] >>695 今、一番輝いてる言語ってなに?
697 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:07:00 ] >>695 他のツールが生き残らなかったから、javaと比較するしかないって? それ程の勢力じゃないだろう。
698 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:07:52 ] >>673 ResultSet.TYPE_SCROLL_INSENSITIVE や ResultSet.TYPE_SCROLL_SENSITIVE を指定してないか? それ、インメモリで処理するからメモリを馬鹿食いするはず。 ResultSet.TYPE_FORWARD_ONLY で解決しない?
699 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:09:00 ] >>686 よくわからんが、英語版の画面に切り替えれば、1.4.2_17 ならダウンロードできたぞ。
700 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:09:23 ] >>694 できない。どうしてもやりたいなら、クラスに包んで渡してやる必要がある
701 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:12:38 ] >>699 ありがとうございます。 目当てのバージョンをダウンロードできました。
702 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 02:16:18 ] >>694 void callee(int[] x) { x[0] = 100; } void caller() { int[] x = new int[1]; callee(x); System.out.println(x[0]); } 滅多にこんなことしないけどなー。// 適切にクラス設計すればまず出番がない。全くないとは言わんが。
703 名前:デフォルトの名無しさん mailto:age [2008/06/29(日) 08:56:56 ] 691 名前: デフォルトの名無しさん [sage] 投稿日: 2008/06/29(日) 01:22:41 >>689 あんたは会話が成立するレベルの日本語を 操れるだけの能力を身につけてから出直しておいで。 692 名前: デフォルトの名無しさん 投稿日: 2008/06/29(日) 01:48:08 >>691 偉そうに言いながら「ら」抜き日本語かよww 正しくは「操られる」だろ おまえこそまともな日本語使えよなww ★「操れる」は「ら抜き言葉」じゃないだろ。 ★「食べれる」なら「ら抜き言葉」だから間違ってるが、「操れる」は正しい日本語だよ ★「操れる」=操ることができる ★「操られる」=誰かが自分を操っている
704 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 09:13:07 ] しつけえ
705 名前:デフォルトの名無しさん [2008/06/29(日) 14:49:55 ] 超初心者で申しあけございませんが、 画像を複数枚表示させたら画像がちらつきます。 repain();でもちらつきます。 どのワードを打ったら常にはり絵でいられるでしょうか? マルチですけど応答がないのでこちらに質問します。
706 名前:r545 [2008/06/29(日) 15:21:55 ] 超初心者ですが、質問があります。 Cで言う構造体は、Javaではどのように定義すれば良いですか?以下のやつだと どうなるか教えてください。 typedef struct cell { // セル構造体 char *key ; // 格納されたキー int next ; // 次のセル(同族のキー) } CELL; typedef struct bucket { // バケット構造体 int Bdepth ; // バケットのビット長 int nkeys ; // バケットに格納されているキーの個数 CELL cell[BSIZE] ; // キーを格納するハッシュテーブル } BUCKET; typedef struct directory { // ディレクトリー構造体 BUCKET *ref ; // バケットへのポインタ } DIRECTORY;
707 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 15:31:52 ] >>706 class Cell { String key; int next; } class Bucket { int Bdepth; int nkeys; Cell[] cell = new Cell[BSIZE]; } class Dictionary { Bucket bucket; }
708 名前:r545 [2008/06/29(日) 15:52:20 ] どうもありがとうございます。 3つのクラスファイルにした方が良いんですか?それとも、メインを含めて全部 まとめた方が良いですか? あと、classの前にpublicはいらないんですが?
709 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 15:55:36 ] >>708 publicなクラスはファイルを分ける必要がある。 そうじゃない場合まとめて書いても良い。 publicにするかどうかは用途による。
710 名前:r545 [2008/06/29(日) 16:04:35 ] 709>> Cで書かれたプログラムをJavaで書き直せっていう課題が出てて、Cで構造体が使われて いるんですよ。難しいです。。もし良かったら、 rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm にのせてあるんで見てもらえますか?
711 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:14:29 ] そういう課題ってどこで出るの? 高校?専門?大学?
712 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:18:43 ] 質問です。 次のような、タブペインに、newでインスタンスとして生成したラベルlabelをタブの数だけ配置するプログラムがあります。 public class TabbedPaneSample1 { JLabel label; public TabbedPaneSample1() { JFrame frame = new JFrame("TabbedPane Sample"); JTabbedPane pane = new JTabbedPane(); for (int i = 0; i < 5; i++) { label = new JLabel("Tab" + i); pane.addTab("Tab " + i, label); } frame.add(pane); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 200); frame.setVisible(true); } public static void main(String[] args) { new TabbedPaneSample1(); } } ボタンを押すなどしたときに「現在表示中の」ラベルの内容を書き換えるにはどうしたらいいでしょうか? label.settext("A");などでは一番最後に貼り付けたラベルにメソッドが働いてしまうようです。 タブペインのgetSelectedComponent();メソッドでコンポーネントは取得できるようなのですが、 コンポーネントからそのメソッドを呼び出せるものなのでしょうか? タブの数は不定なので、あらかじめラベルを用意しておく事は出来そうにないです。
713 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:21:36 ] >>710 つかロダのリストのどれやねん(笑 見た感じ直訳するか意訳するかがポイントかね。 コレクション使って書き直すか、Cのロジックでやってる部分をそのまま使うか。 そのまま直訳するならポインタをどう扱うかがポイントで、 意訳するなら処理の内容を理解してないと辛いかな。ソースは短くなると思うけど。
714 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:28:56 ] >>712 取得したコンポーネントをLabelでキャストしたらいいんじゃね?
715 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 16:40:16 ] >>714 キャストで出来ました!即答ありがとうございます
716 名前:r545 [2008/06/29(日) 16:51:55 ] 713>> すいません!課題は大学で出ました。 ロダの306.txtと310.txtと311.txtです。 Cプログラムをただ単にJavaに書き直せと言うことだそうです。 オブジェクト指向の考えはしなくて良いので全てまとめて良いらしいですが。 Javaは勉強中でして、ちょっと出来る気がしないので見てもらえますか? よろしくお願いします
717 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 17:14:38 ] >>716 宿題スレじゃないからな、わからんとこだけワンポイントで質問しなされ
718 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 17:21:36 ] CとJava同時にやるとかおもしろいなぁ・・
719 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 19:46:05 ] つーかCをJavaのコードに直せとか 典型的なダメ教育だよな
720 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 19:49:33 ] 逆にバリバリのオブジェクト指向で書いたjavaのコードをCに直させたら勉強になるかも
721 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 20:55:16 ] それJNI書くのと一緒じゃね
722 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:28:42 ] ナンダッテ?
723 名前:r545 [2008/06/29(日) 21:32:09 ] 717>> すいません。。 せめて、メイン関数だけJavaに直したのを教えてもらいたいんですが。。 少しづつやってるのですが不安で。残りはは、自分でやるので。
724 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:45:50 ] >>719-720 変な癖が付きそうで怖い。
725 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:58:55 ] Cでオブジェクト指向みたいなことをやってるのって、 GKT+あたりかな。
726 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 21:59:08 ] >>723 そもそもどっちかの言語をある程度使える状況になってからやる課題。 おまえさんには多分無理ということであきらめた方がいい
727 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:00:31 ] >>716 Cは読めるのか? 読めるならばどの部分がJavaに変換できないのかを質問してくれ
728 名前:r545 [2008/06/29(日) 22:24:22 ] 727>> Cは読めます。Cのメインは自分で作ったので。 メインが分らないんですが。。少しずつやってるんですけど。
729 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:32:25 ] 質問です。 今、フルスクリーンとウィンドウを切り替えるようなものを作ろうとしているのですが 描画にはBufferStrategyでgetDrawGrapicsしたものを使用しています。 フルスクリーンからウィンドウに切り替える場合、ウィンドウにはなるものの BufferStrategyがnullになってしまい描画処理が行えないという状況になりました。 少々強引ですが、runの頭でgetStrategyをし取得を試みたのですが上手くいきませんでした。 ウィンドウからフルスクリーンに切り替える場合setUndecoratedが実行できず setUndecoratedを実行しないで切り替えると上と恐らく同じ理由で描画処理が行えませんでした。 もちろん、setUndecoratedにtrueを渡してフルスクリーンにしたいので setUndecoratedを実行しないということはできればしたくありません。 よろしくお願いします。
730 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 22:37:07 ] >>728 メインの何処が分からないのかと
731 名前:デフォルトの名無しさん [2008/06/29(日) 22:40:30 ] 聞いてると 分からない所が分からない人なんじゃないのかなこの人
732 名前:名無し [2008/06/29(日) 23:03:44 ] javaの影響でyoutubeが見れなくなってしまったんですが、どうすれば見れるようになりますか? 教えてください(>_<)
733 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:09:28 ] >>728 意地悪してるわけじゃないけど君の質問の仕方では答えのしようがないよ きっと自分で何が分からないのかが分かってないんだと思うけど そういう状態で人に物を聞くのは失礼というものですよ 社会に出る前にその癖を直したほうがいい
734 名前:r545 [2008/06/29(日) 23:22:06 ] 728 731 733 すいません。遅れました。。 メインの変数定義からファイルを読み込むまでです。 int main (void){ FILE *fp; //ファイルポインタ宣言 char *a[HSIZE]; //格納用配列 int i; //ループ変数 char inv[100]; //入力値 char infile[80]="wordE100KR.dat"; double sec; clock_t start, end; DIRECTORY *directory; int depth = 2; //バケットの深さ if((fp = fopen(infile,"r")) == 0){ printf("ファイルオープンできません。\n"); exit(0); } i = 0; //初期化ループ変数初期化 while(fscanf(fp, "%s\n", inv) != EOF){ //キーの読込み a[i] = strdup(inv); //ポインタ配列にデータを格納する. printf("%s\n",a[i]); i++; if(i >= HSIZE) break; } fclose(fp);//ファイルクローズ
735 名前:r545 [2008/06/29(日) 23:23:34 ] 734をJavaにすると↓ public static void main(String args[]){ String a[]=new String[HSIZE]; String inv[]=new String[100]; int i; double second; clock_t start, end; DIRECTORY[] directory; int depth = 2; i=0; try{ BufferedReader f= new BufferedReader(new FileReader("wordE100KR.dat")); while((inv=f.readLine())!=null){ a[i] = inv; System.out.println(a[i]); i++; if( i>= HSIZE) break; } f.close(); }catch(FileNotFoundException e1){ System.out.println("NO File"); }catch(IOException e2){ System.out.println("Can not Open"); }
736 名前:r545 [2008/06/29(日) 23:24:14 ] 合ってますか?
737 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:27:03 ] 聞く前に試したら? と言わざるを得ない
738 名前:デフォルトの名無しさん mailto:sage [2008/06/29(日) 23:38:32 ] まぁファイル読み込みぐらい調べればすぐできるしな・・ 次からが問題だなぁ
739 名前:r545 [2008/06/30(月) 00:44:08 ] 737>> 動かしたんですが、警告は無視しても平気ですか。エラーは5個でたんですが。。 public class HashExtend { static final int HM = 1048583; // 擬似キー生成時にハッシュ関数へ渡す素数 static final int BSIZE = 100; // バケットの容量 static final int BPOS_MAX = 100; // バケットの占有率上限での容量 static final int BPOS_MIN = 50; // バケットの占有率下限での容量 static final int BHM = 97; // セル格納時にハッシュ関数へ渡す static final int BC = 29; //セル格納時に衝突した場合のハッシュの増分 static final int HSIZE = 100000;//配列のサイズ 上のコメント分が 警告: この文字は、エンコーディング MS932 にマップできません。 のように出るのですが。。
740 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 00:49:05 ] >>739 そりゃエディタの文字コードの設定か何かがおかしいだけ。 Windowsのメモ帳でソースを開いてみて、おかしいところが何とかして直すんだ。
741 名前:r545 [2008/06/30(月) 01:18:45 ] TeraPad でやってるんですが。 文字コードがSHFT-JISになっています。。分んないです。。
742 名前:r545 [2008/06/30(月) 03:29:22 ] 740>> すいません。解決できました。 しかし、次の問題が。。 HashExtend.java:46: 互換性のない型 検出値 : java.lang.String 期待値 : java.lang.String[] while((inv = f.readLine())!=null){ ^ HashExtend.java:47: 互換性のない型 検出値 : java.lang.String[] 期待値 : java.lang.String a[i] = inv; このエラーって、何ですか?invがString型になってないってことですか?
743 名前:デフォルトの名無しさん [2008/06/30(月) 04:16:31 ] >>742 f.readLine() は String を戻すのであって String[] を戻すのではない。 BufferedReader を使ってファイルの読み込みをする場合、普通は String line; while ((line = f.readLine()) != null) { System.out.println(line); } こんな感じ。
744 名前:r545 [2008/06/30(月) 06:00:29 ] 742>> どうもありがとうございます!!!Cと違って代入する方は 配列にしなくても良いってことですか? String inv[]=new String[100];は String inv; にしてファイルを読み込みさせれば良いんですよね? これならエラーは取れました!
745 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 06:30:31 ] >>744 java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/io/BufferedReader.html#readLine () C言語が最低限理解出来てるならこれ見れば分かるだろ。
746 名前:デフォルトの名無しさん [2008/06/30(月) 12:43:52 ] JSF&SSLの件有難うございました 何とかWeb.xmlをいじる方法で解決しました
747 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 16:11:27 ] 最近JDK14→15になったのでGenericsで躓いています。 単体テストでフィールド変数の中身の確認が必要になり、
748 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 16:15:59 ] すみません途中で送ってしまいました。 単体対象クラスをTestというクラスだとすると Class<? extends Test> cl = test.getClass(); Field fd = cl.getDeclaredField("fieldObjName"); Object obj = fd.get(test); このfieldObjNameはtestの中にあるHashMap型の変数で、これが Testクラスの持つclearメソッドでclearされていることを確認したいのですが、 ここからobjをHashMapに持っていく方法が分かりません。 そのままキャストすると勿論叱られます。 よろしくお願いいたします。
749 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 16:35:45 ] >>748 なんて言って叱られるの?
750 名前:デフォルトの名無しさん [2008/06/30(月) 16:59:53 ] Java
751 名前:747-748 mailto:sage [2008/06/30(月) 17:03:08 ] Type safety: Unchecked cast from Object to HashMap<String,ResultSetMetaData> ObjectからHashMapへの未検査キャストを叱られているのだと思います。 単体テスト用テストケースの中で、clear前はこのフィールドがcontainsKeyで 与えられたキーのオブジェクトを持っており、clear後は持っていないことを確認する つもりだったのですが。 どうしたらいいんだろう。
752 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 17:10:19 ] >>751 Object から総称型へのキャストは怒られる。 警告つきでもいいならコンパイルオプションで -Xlint:unchecked つければコンパイルは通る。 警告抑止したいならメソッドにアノテーション @SuppressWarnings("unchecked") つけろ。
753 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 17:18:03 ] >>751 HashMap<String,ResultSetMetaData>にキャストしようとするから警告が出ているのね。 使い方としておかしいんだろうけど、それでも動くし、 HashMapにキャストする分には警告も出ないのでは?
754 名前:747-748 mailto:sage [2008/06/30(月) 17:47:25 ] >>752 、>>753 ありがとうございます。 やっぱりこの場合は警告無視するしかないんでしょうか。 例えばinstanceofとかでobjectがhashMapのインスタンスであることを確認するとか なにかそういうような必要な手順があって、それをすれば叱られなくなるのかと思ってました。 ちなみにただのHashMapにキャストしようとすると警告が増えますw HashMap は raw 型です。 総称型 HashMap<K,V> への参照は、パラメーター化する必要があります とりあえず@SuppressWarnings付けて逃げました。 どうもありがとうございました。 もう少し頑張ってGenerics勉強します。
755 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 17:47:33 ] >>751 HashMap<?,?> にならキャストできるはず
756 名前:デフォルトの名無しさん [2008/06/30(月) 17:52:02 ] もう終わったらしいよ
757 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 17:57:13 ] らしいね 無駄な労力になったが、まぁ暇潰しだし
758 名前:747-748 mailto:sage [2008/06/30(月) 18:00:52 ] >>755 うぉぉぉぉぉぉぉぉぉホントだー!ありがとうございます!! なんでなんだろう奥が深すぎる_| ̄|〇
759 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 18:19:58 ] >>754 > HashMap は raw 型です。 総称型 HashMap<K,V> への参照は、パラメーター化する必要があります それは、GenericじゃないHashMapに何かを詰めようとしているからでは? クリアを確認したいと言う話だったような・・・?
760 名前:747-748 mailto:sage [2008/06/30(月) 19:27:31 ] fd.get(test)でアクセスしようとしているprivateフィールドfieldObjNameは、 HashMap<String,ResultSetMetaData>が本来の型なんですが。 1) HashMap<String,ResultSetMetaData> hoge = (HashMap<String,ResultSetMetaData>)fd.get(test); →Type safety: Unchecked cast 〜と叱られる 2) HashMap hoge = (HashMap)fd.get(test); →HashMap は raw 型です。 総称型 HashMap<K,V> への〜と叱られる 3) HashMap<?, ?> hoge = (HashMap<?, ?>)fd.get(test); →おっけー!\(^o^)/ かくして3)の後、test.clearして、hoge.containsKeyがfalseになることを 確認できました。 いろいろ教えていただいて本当にありがとうございました。
761 名前:デフォルトの名無しさん [2008/06/30(月) 22:46:01 ] 質問っす javaからphpにデータを送ろうとしていて、うまくphpにデータを送信できずこまってます 環境 ローカル php環境 Apach2 String data = "data=1"; URL cgiURL=null; try { //URLの生成 try{ cgiURL = new URL("localhost/test/get.php "); }catch(MalformedURLException e){ e.printStackTrace(); } //設定 HttpURLConnection uc = (HttpURLConnection)cgiURL.openConnection(); uc.setRequestMethod("GET"); uc.setDoOutput(true); uc.setUseCaches(false); uc.setAllowUserInteraction(false); // CGIへの書き込み用ストリームを開く OutputStreamWriter pw = new OutputStreamWriter( uc.getOutputStream() ); // CGIにデータを送信する pw.write(data); // ストリームを閉じる pw.flush(); pw.close(); }catch (MalformedURLException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } apacheのログデータをみてみると、アクセスログさえのこっていません.php単体では動作するのですがなぜかjavaからphpにはできませんでしたどういう問題点があるのでしょうかご教授ください
762 名前:>>761 [2008/06/30(月) 22:47:08 ] エラーはとくにありませんでした
763 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:10:00 ] >>761 connect() をしていない所為か?
764 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 23:30:16 ] >>761 GETでDoOutputは有り得ない。
765 名前:r545 [2008/06/30(月) 23:57:58 ] 以下のCをJavaにすると、mallocの領域確保のところはどうやって 表すのですか??調べたらnewを使うってのが出たんですが、使い方が分らない です。。 // 入力引数: depth : ディレクトリのビット長 // 戻り値 DIRECTORY : ディレクトリ DIRECTORY *create_directory(int depth) { DIRECTORY *directory ; directory = (DIRECTORY *)malloc(sizeof(DIRECTORY) * (unsigned int)pow(2, depth)) ; // 2のべき乗倍の領域を確保 if (directory == NULL) { fprintf(stderr, "領域確報に失敗しました\n\n") ; exit(EXIT_FAILURE) ; } return directory; }
766 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:00:43 ] アプレットを使って定義した範囲での座標の取得の仕方は分かるんですが、アプレット以外の時はどうすればいいのでしょうか? 画面左上から(x,y)の地点にマウスカーソルがある。みたいなプログラムを作りたいです。 (簡単に言うとペイントの右下に表示されるようなのの全画面ver) このクラスを使えばできる。みたいな感じで良いので教えてください。
767 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:05:38 ] >>765 JavaとCは違うんだから無理なこと考えるな 何をするプログラムでそれを満たすような実装であることが重要なだけ 先にやさしいJavaでも読んでから出直せ
768 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 00:15:37 ] >>765 Cのことは忘れて1からjava勉強しろ。考え方が違うから、それをJavaに1:1マッピングできたところで意味がない。
769 名前:>>761 [2008/07/01(火) 00:30:32 ] >>764 すみません、POSTの間違いでした POSTでも結果はかわりません connect() は参考サイトもしてなかったのでしてないです しても結果はかわりませんでした
770 名前:>>761 [2008/07/01(火) 00:32:59 ] swingでウィンドウつくってやってるのでアプレットではないです もしかしてそこらへんで通信できないのでしょうか
771 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 01:15:46 ] >>765 コードの意味を考えようよ。 pow(2,depth)個のDIRECTORYの場所を用意しているだけでしょ?
772 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 01:25:12 ] >>765 その宿題はJavaで明示的にメモリを管理させようとしてるの? それとも結果が同じならOKなの? コテハンつけてても一々過去のレスさかのぼって見ないんだから 宿題なら宿題である事と出題者の意図をださなきゃ答え様がないよ
773 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 02:43:47 ] イテレータとコレクションに関する質問です. クラスHogeCollectionはgetFoos()でiteratorを返すのですが, HogeCollection h = new HogeCollection(); h.add( new Foo() ); for(Iterator<Foo> it = h.getFoos(); it.hasNext(); ){ Foo f = it.next(); } h.getFoo()の部分で "型の安全性:型Iteratorの式は、未検査の型変換を使用して Iterator<Foo>に準拠するようにする必要があります。" という警告がでます. かといって HogeCollection<Foo> h = new HogeCollection<Foo>(); とすると "型HogeCollectionは総称ではありません。引数<Foo>でパラメータ化できません。" とエラーになります. LinkedList<E>クラスのときはできました. LinkedList<Integer> l = new LinkedList<Integer>(); l.add(1); for (Iterator<Integer> it = l.iterator(); it.hasNext();) System.out.println(it.next()); HogeCollectionの場合,どうすれば正しい構文になるのでしょうか. Eclipse, JavaSE6です.
774 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 06:48:49 ] >>773 簡単な順に、 getFoos()の戻りがIterator<Foo>になるよう実装する。 中身ができてるなら、受け取った後でキャストするだけでもいい。 または、 HogeCollection implements Itarable<Foo> として、実装する。 この場合、イテレタの取得はiterator()で。 または、 HogeCollectionを総称化して、 HogeCollection<E> implementes Itarable<E> として実装する。 この場合、宣言と生成時は HogeCollection<Foo> h= new HogeCollection<Foo>(); イテレタ取得は iterator(); Collection<E>を実装しないなら、HogeCollectionという命名がすでに紛らわしい。 総称の連鎖は面倒みてるときりがないので、どっかでキャストで断ち切るのも大事。
775 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 08:42:59 ] >>774 アドバイスありがとうございます. あと出しのような形になってしまい,大変申し訳ないです. そのHogeCollectionやgetFoos()は外部の(オープンソース?というのかはわかりませんが) jarファイルに入っていたAPIを使っていまして,私がソースを改変するのは避けたいです. 方法1,2,3もすべて外部jarのソースをいじる必要がありますよね? >Collection<E>を実装しないなら、HogeCollectionという命名がすでに紛らわしい。 私もそう思います.iteratorを得るメソッドもiterator()になってないですし. >>752 さんのレス見て @SuppressWarnings("unchecked")で警告は消せますが,根本的な解決になっていなくて, 少し気持ち悪いですが,あきらめるしかないでしょうか.
776 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 08:52:40 ] そーゆー手が出せない(出したくない)状況で妥協するための方法だから、 @SuppressWarningsで回避しとくのだ妥当かと。
777 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 11:20:50 ] Iterator<?> it = h.getFoos()
778 名前:デフォルトの名無しさん [2008/07/01(火) 20:49:41 ] 皆さんにお聞きしたいのですが、さっき始めてJavaをダウンロードして環境変数を変えようと思ったら、環境変数の欄がありませんでした。 どうやって変えるか教えてください。 OSはXPでJavaはバージョン6です。
779 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 20:56:22 ] >>778 path? コントロールパネル→システム→環境変数 あれば編集、なければ新規で作れば良いよ。
780 名前:デフォルトの名無しさん [2008/07/01(火) 21:03:07 ] >>779 アリガトウございました。 解決しました。
781 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 22:15:56 ] 先日質問に来た者です。 フルスクリーンとウィンドウの切り替えはなんとなくできるようになったのですが なんだかできたりできなかったりとイマイチ安定しません。 そこで助言をいただきたいと思いました。 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm 325です。 よろしくお願いします。
782 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 22:45:37 ] >>781 とりあえず、 > private boolean isFullScreenMode=true; と言うのは合ってるの?
783 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 23:17:18 ] >>782 最初をウィンドウにするかフルスクリーンにするかというところなので問題ないはずです。 切り替え自体ができたりできなかったりという状況なのでそれぞれの状態での動作は問題ない はずなのですが・・・。
784 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 23:25:43 ] 安定しないのは仕方ないような気もするな グラフィックボードに依存しちゃう処理だろうし 個人的には・・・ 起動時にパラメータでフルスクリーンかどうかで起動方法を変えるほうが良いと思う。 もしくは起動時に起動モードを選択するパネルだけ出して、その後メインフレームをどっちかのモードで起動かね。
785 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 23:30:29 ] 安定させたいならJOGL+AWTが良い
786 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 23:39:03 ] JOGLって3Dで使うもんだーって聞いていたのでよくわからないのですが OpenGLの利用なんてまだ先な気がするので起動時のパラメーターで切り替えるようにしようかと思います。 切り替え自体はオマケみたいなもんだとわりきってみます・・・
787 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 23:50:28 ] >>783 キーイベントとrun()に synchronized(bufferStrategy){ をかけてやると安定するだろうか?
788 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 07:01:33 ] BigDecimalでの値を、小数点以下を切り上げる方法って あるんでしょうか? Math.ceilメソッドに当たるメソッドってないですよね。 BigDecimal bd = new BigDecimal(10000.1) を 結果が10001.0になるようにしたいのですが・・・。 ご教示お願いいたします。
789 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 07:24:51 ] setScaleでモード指定して1で割れば?
790 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 10:00:42 ] >>788 bd.setScale(0, RoundingMode.CEILING)
791 名前:デフォルトの名無しさん [2008/07/02(水) 11:09:06 ] ヒントありましたら教えてください。 Swing で JTable に RowSorter を設定してソートしてますが、 ソート対象の列のヘッダに「▲」「▼」というソート対象&方向を示す マークが付くのを止めたいのです。 列幅がぎりぎりなのでマークが付くとヘッダ文字列が省略されてしまって…。 どうやったら出来るものなのか(プロパティ設定するだけとか レンダラ作ってなにかメソッド無効化しろとか)情報ありましたら教えてください。
792 名前:デフォルトの名無しさん [2008/07/02(水) 11:34:16 ] 教えてください。 現在の日付の前日を求めたいのですがどうしたらよいでしょうか?
793 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 11:53:13 ] ほい sasuke.main.jp/hikeisan.html
794 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 12:36:55 ] >>793 ありがとうございます!
795 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 15:15:16 ] >>794 これくらいぐぐれるようにならないとだめだぜべいびー
796 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 15:36:13 ] javaアプレットを作ろうとeclipseをインスコしたんですが、参考にしているサイトに載っているgetImageメソッドが使えませんでした。 仕方がないのでNetBeanでも試してみましたが、こちらでも使えなくて困ってます。 swingのImageIConも使えないので何かアプレット用の設定が必要なのだろうとは思いますが、調べてもわからないのです。 一体どのような設定が必要なのでしょうか…
797 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 15:38:36 ] 参考にしているサイトでわかるとおもうか? リンクぐらいつけれw
798 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 15:44:31 ] 一応、参考にしているサイトはここなんですが、eclipseの使い方に関してはノータッチなのです。 wisdom.sakura.ne.jp/system/java/awt/index.html import java.applet.Applet すればいいと思ってたんですが、違うんでしょうか…
799 名前:デフォルトの名無しさん [2008/07/02(水) 15:58:38 ] >>798 どれよw
800 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 16:09:51 ] うわ、自己解決でけた! class宣言にextends Applet無かったです…
801 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 17:10:12 ] >>89 無理やり抜くの痛そう、くしゃみ出る 普通にはさみで切ればいいさ なんかシェーバーみたいなので切るやつあるけどアフロ山田読んでしまったせいで怖くて手が出せないぜw
802 名前::デフォルトの名無しさん [2008/07/02(水) 23:43:45 ] お絵かきチャットをやろうとしたら「javaがインストールされていません。」とでて、出来ません。 最新のjavaはインストールしております。 インターネットオプションのセキュリティで「java アプレットのスクリプト」 「アクティブ スクリプト」「スクリプトの貼り付け処理による許可」を有効にしてます。 詳細設定でjavaの使用を設定してますが、 javaVM、MicrosoftVMというものはありませんでした。 インターネットセキュリティはNorton360を使っています。 ファイアウォールのプログラムルールでのjuschedは許可してます。 インターネットで色々調べたところ javaが無効で、javaスクリプトは有効でした。 javaを有効にするにはどうすればいいでしょうか。
803 名前::デフォルトの名無しさん mailto:sage [2008/07/02(水) 23:50:43 ] すみません。スレ間違いました
804 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 23:54:24 ] もし知ってる人がいたら教えてください ActiveObjectsっていうORマッパなんですが 複合主キー使えるんでしょうか?
805 名前:788 mailto:sage [2008/07/03(木) 00:35:34 ] >>789 >>790 ありがとうございます。 setScaleメソッドを使えばよかったんですね。 気付かなかった・・・不覚。
806 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 01:46:16 ] >>804 こっちで聞くが吉 pc11.2ch.net/test/read.cgi/tech/1134701684/
807 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 13:01:25 ] インターネット一時ファイルは通常のファイルとは異なる扱いですか。 一時ファイルに対して FILEのインスタンスを生成しようとしたらFile Not Foundとなってしまいました。 生成する方法はあるのでしょうか?
808 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 15:01:13 ] >>807 そこにあるのは見せかけ?だけで実体のファイルは別の所にある。 File#list()で一時ファイルのディレクトリ一覧を見ると実際の構造が分かると思う。 で、具体的に一時ファイルがあるのは直下のContent.IE5ってところだけど、 このディレクトリは一時ファイルのディレクトリに表示されない。 なので直接アドレスバーに\Temporary Internet Files\Content.IE5って続けて書いてアクセスする。プログラムから参照する場合も同様に。
809 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 15:55:35 ] 例外クラスの大元であるExceptionクラスのサブクラスを作りたいときに あなたが定義したほうがよいものを記述せよ、という問があるのだが ぶっちゃけよくわからん 優しく教えて欲しいなり
810 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 16:27:04 ] その問は間違っている 例外クラスの大元は Throwable だ
811 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 17:55:06 ] その例外クラスを投げるクラスの目的によって違うだろ。
812 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:06:37 ] >>808 ありがとうございます。 無事目的の動作をさせることができました。 list()も使って確認してみました。 そういう構成になってたんですね。
813 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:56:03 ] >>809 問題の定義自体があいまい過ぎ
814 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 18:58:21 ] >>809 問題があってそれに対する独自の例外クラスを作るとかじゃないのか・・ 好きなの作れと言われても漠然としてるなぁ
815 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:04:56 ] >>814 809ですがその通りなんです。問題文がこれで全てのためあいまい過ぎて 途方にくれてる状態です
816 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:22:54 ] ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/main.htm 332番のコードですが、MainCanvas()のコメントをはずすと ぬるぽになります。なぜでしょうか?
817 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:27:51 ] >815 理解できないときは、まず出題者に質問しましょう 問題文をそのまま捉えれば、 ・コンストラクタ(引数無し・文字列) ・有益な例外情報を得るためのコンストラクタとメソッド を定義する必要があると思う。
818 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 19:41:39 ] >>816 kuni[1] = new Kuni(); kuni[2] = new Kuni(); kuni[3] = new Kuni(); が必要
819 名前:816 mailto:sage [2008/07/03(木) 20:13:03 ] 回答ありがとうございます。できれば、このあたりのことを 日本語で解説しているwebサイトなどはないでしょうか?
820 名前:デフォルトの名無しさん mailto:sage [2008/07/03(木) 20:25:49 ] サイトは知らないけど booleanの初期値はfalse、intやfloatの初期値は0、オブジェクトの初期値はnull ってことくらい、どこにでも載ってそうな気がする new したばかりの Kuni[17] には、初期値として 17 個の null が詰まってる インスタンスを new して代入しないと、ぬるぽは当然
821 名前:816 mailto:sage [2008/07/03(木) 20:52:47 ] ありがとうございました。なんでもかんでもnewをすれば インスタンスがはいるものだと思ってました。 また質問しにくることがあると思いますがそのときは よろしくお願いします。
822 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 10:57:20 ] パッケージ名には、企業のドメイン名を逆順でつけるのが推奨されていますが、 うちのドメイン名にはハイフンがついているのでそのままではパッケージ名に出来ません。 こういう場合に推奨される命名規約ってあるのでしょうか?
823 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 11:03:02 ] sun-java→sunJavaとか
824 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 11:34:50 ] >>822 ある、アンダースコアにすべし。 java.sun.com/docs/books/jls/third_edition/html/packages.html#40169 >If the domain name contains a hyphen, or any other special character not allowed in an identifier (§3.8), >convert it into an underscore.
825 名前:デフォルトの名無しさん [2008/07/04(金) 16:02:38 ] 証券会社のトップとかに表示される為替レートをとりたいんですが、 ConnectURLだとやはりその部分が表示されません。 ああ言ったデータを読み取ることはJavaではできないでしょうか。
826 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 16:04:20 ] >>825 たとえばどのページ?
827 名前:デフォルトの名無しさん [2008/07/04(金) 16:13:16 ] レスありがとうございます。 証券会社だとマネーパートナーとかのトップから落としたいのですが。
828 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 16:22:12 ] >>827 パケットキャプチャすればURLわかったよ。 そのURLでゲットすれば取れたよ。
829 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 16:37:05 ] なんと! 自分の未熟さがわかりました・・・ いまJava始めて2ヶ月ほどなのですが、パケットキャプチャという単語すら知らず。 自分も早く答えれる側になれるようがんばります。 ありがとうございました。
830 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 16:54:22 ] >>829 うむ。精進しなされ
831 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 16:55:05 ] 脆弱なインターフェイスなのに好きだね〜 そのサイトがデザインや仕組みを変えてこないとは限らないだろうに
832 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 17:29:11 ] 元気な人が居るなw >>831 確かに思うけど、個人ではそれが限界なのかも。まさか銀行に金払って送ってもらうほどでもないし。 >>829 いきなりパケットキャプチャ城ってのも酷だな そんなことはどうでもいいんだけど、おすすめ2ちゃんなるに育児が入ってるのが地味におもしろい
833 名前:319 [2008/07/04(金) 18:22:36 ] 自己組織化(雪の結晶の成長とか貝殻の形成とか砂浜の造成など…)をグラフィカルに表示するような Java を書いてみたいのですが、そういったソースコードはどこかに落ちていませんでしょうか? もしくはそういったページをご存知でしたら教えていただけると嬉しいです。
834 名前:319 mailto:sage [2008/07/04(金) 18:31:20 ] 「自己組織化」について学問・理系板の「全般」「物理」「化学」「生物」「機械・工学」「ロボット技術」「情報システム」「情報学」「シミュレート」「未来技術」「地球科学」 あたりはタイトル一覧を全て探してみたのですが見付かりませんでした。 他の分野は何となく無さそうだったので調べていません。「化学」と「生物」で見付からなかったのは驚きでした。
835 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 18:40:13 ] >>833 homepage3.nifty.com/imura/06fractal/Koch-2/Koch2_main.htm
836 名前:319 mailto:sage [2008/07/04(金) 20:18:14 ] >>835 ありがとうございます!
837 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 20:19:53 ] strutsのActionServletやActionFormを継承したクラスのクラス編集に直列化できないフィールドを追加すると、 シリアライズしたときにエラーになると思いますが、実際この辺をシリアライズするのは ウェブコンテナだと思いますが、コンテナがシリアライズ失敗したときにはシリアライズをあきらめるだけなので、 クラスタ構成をしていなければ問題無しと考えてよろしいでしょうか?
838 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 23:46:45 ] 「'else'への'if'がありません。」と出たのですが、エラーを示されてる文には「else if」と入力されており、エラーの意味がわかりません。 どうすればいいですか?
839 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 23:53:47 ] >>838 if(〜){ 〜 }else if(〜){ 〜 } の最初のifが無いんじゃね?
840 名前:デフォルトの名無しさん mailto:sage [2008/07/04(金) 23:55:42 ] >>839 それはあります。 なんでできないのかいまだにわけがわかんないです。
841 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 00:01:14 ] 該当部分のコードを貼るんだ このままだと誰にもエスパー回答しかできないと思うが
842 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 00:03:59 ] どうせ{}忘れだろな〜と
843 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 00:04:46 ] ソースの形を変えてみたら、少し改良の問題は残るものの一応コンパイルできました。 ただ、またこういうトラブルが起きたときに困りそうなので、とりあえず一通りソース貼ってみます。 (前略) int num = (int)(Math.random()*11); int N; do{ System.out.println("1〜10までの整数を入力してください。"); BufferedReader br =(以下略) String str = br.read.line(); int num2 = Integer.parseInt(str); if(num == N) break; else if(num > N) System.out.println("もっと大きいです。"); else if(num < N) System.out.println("もっと小さいです。"); else if((num != N && N > num+2)||(num != N && N < num-2)) System.out.println("もっと大きいです。"); System.out.println("惜しい"); else if((num != N && N < num+2)||(num != N && N < num-2)) System.out.println("もっと小さいです。"); System.out.println("惜しい"); }while(true); System.out.println("あたりです。答えは"+num+"です。); (以下略) コンピュータがランダムで出した数字に対して、数字を入力し、正解していたらあたり、はずしていたら「もっと小さいです。」などを表示し、さらに誤差が±2以内であれば「惜しい」と表示されるプログラムです。
844 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 00:08:06 ] >>842 あなたは何時もただしい。
845 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 00:24:30 ] >>828 そのURLは www.moneypartners.co.jp/rate/rate.js ですか?いろいろ試したんですが・・・
846 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 00:38:22 ] >>843 ifで{}が省略できるのは処理が1行のみのとき。 else if((num != N && N > num+2)||(num != N && N < num-2)) System.out.println("もっと大きいです。"); System.out.println("惜しい"); else if((num != N && N < num+2)||(num != N && N < num-2)) System.out.println("もっと小さいです。"); System.out.println("惜しい"); ここでelse if内にSystem.out・・・が2あるからダメかと。 あと、上のほうでnum == Nとしてるからnum != Nって省略してもいいと思うけど。
847 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 00:49:57 ] 質問です JavaBeansについて調べようと思ったのですが EJBとかの本はたくさん出てるのに、 デスクトップアプリで使いそうな単なるJavaBeansの入門書とかの情報 は随分と古い本しかみつからないんですが、 もう使われてない技術なんでしょうか?
848 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 00:55:16 ] >>846 最終行 上の方云々の前に、 N > num+2 ⇒ num != N は自明だし、そもそも num == N num > N num < N で全部じゃないかというツッコミが… >>843 は論理式の勉強をして、カルノー図くらい書けるようになるのが先決だな
849 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 01:04:42 ] >>833 ぐぐってみた。 ttp://www001.upp.so-net.ne.jp/suzudo/gallery.html ttp://www2.ttcn.ne.jp/~yokohori/index2.htm ja.wikipedia.org/wiki/%E3%82%BB%E3%83%AB%E3%83%BB%E3%82%AA%E3%83%BC%E3%83%88%E3%83%9E%E3%83%88%E3%83%B3 意外な所だけどこのスレがいいかも。 【ダンジョン】 自動生成 2 【地形】 @ゲーム制作板 pc11.2ch.net/test/read.cgi/gamedev/1182223295/
850 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 01:44:13 ] >>847 ググレば充分 JavaBeansは別に難しい技術じゃなくて、こういうルールで作ろうぜっていう決まりみたいなもん XMLのルールはあるがどのようにXMLを使うかは技術次第とかそんな類
851 名前:デフォルトの名無しさん [2008/07/05(土) 02:58:08 ] >>848 >int num2 = Integer.parseInt(str); 入力してるのは N じゃなく num2 だろというツッコミも…
852 名前:791 [2008/07/05(土) 05:56:40 ] 自己解決しました。 DefaultTableCellHeaderRenderer のソースをやっと見られまして、アイコンとして設定していることが分かりました。 以下のレンダラを JTableHeader に設定することで「▲」「▼」が付かなくなりました。 class TableCellHeaderRenderer extends DefaultTableCellHeaderRenderer { private static final long serialVersionUID = 1L; @Override public void setIcon(Icon icon) { if(icon == UIManager.getIcon("Table.ascendingSortIcon") || icon == UIManager.getIcon("Table.descendingSortIcon") || icon == UIManager.getIcon("Table.naturalSortIcon")) return; super.setIcon(icon); } }
853 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 06:08:13 ] >>843 なんという予想通りw。一応まとめ↓ // 前略。でも int N=Integer… ← int num2=Integer・・・ だよね // >843のif(N==num)のところから置き換え if(N<=0 || 10<N) continue; // 入力が1〜10でなければループの先頭からやり直す if(num==N){ // 正解の場合。ループを抜ける System.out.println("あたりです。答えは"+num+"です。"); //正解のときに表示するんだから普通ここに書くべき break; } if(num < N){ System.out.println("もっと小さいです。"); }else{ // すでに==にはなり得ないのでelseで十分 System.out.println("もっと大きいです。"); } // ↓ここにelseをつけないのが重要。else ifは、それ以前のifがヒットした時に無視される if(num-2 <= N && N <= num+2){ // num-2 <= N <= num+2 の意味。 System.out.println("惜しい"); } } while(true); 数直線にしてみるとわかると思うが、else if((num != N && N… あたりの不等号が明らかにおかしい。 if((num != N && N > num+2)||(num != N && N < num-2)) には、 あと、random()は0もとり得るので、ソコは int num = (int)(Math.random()*10) + 1; とかのほうがマシかと。 いや、Javaはあんま知らんから違ってたら誰か直して。
854 名前:853 mailto:sage [2008/07/05(土) 06:11:03 ] ミスった。Shift+Enterしてもたotz。 「あと、random・・・」の前の行は、 「if((num != N && N > num+2)||(num != N && N < num-2)) には、N=100もマッチするはず。」 と書きたかった。
855 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 07:04:48 ] javaコントロールパネルが開きません。 コントロールパネルからjavaのアイコンをクリックすると 「C:\Program Files\Java\jre1.6.0_06\bin\javacpl.exe」 と表示されるので、「javacpl.exe」をクリックすると今度は 「C:\Program Files\Java\jre1.6.0_06\bin\javaw.exe -Xbootclasspath/a:"C:\Program Files\Java\jre1.6.0_06\bin\..\lib\deploy.jar" -Duser.home="C:\Documents&Settings\ユーザー名" com.sun.deploy.panel.ControlPanel」 と表示されます。 どうか対処法をご教授くださいませ。
856 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 11:38:01 ] Ruby の File#truncate(バイト数) のように、 ファイルサイズを指定バイト数にするには、Java ではどうしたら良いのでしょうか。
857 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 11:51:08 ] >>856 RandomAccessFile raf = new RandomAccessFile(path, "rw"); raf.setLength(バイト数); raf.close(); 標準APIには、メソッド一発でできる様な便利メソッドはなかったような。
858 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 12:08:21 ] >>852 へえ、こんなんあるんだ
859 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 19:51:07 ] java初めて8年の初心者です。嘘です。あんまり初心者じゃない。 仕事で、金勘定とか在庫管理とか何だとか、いくつかのプロジェクトを周ってきたんだけど 「コード」「コード定数」とかいう言葉がよく使われますよね? 業界標準と考えていいのかな? (お前のプロジェクトだけだwwって事なら、後で解説します・・) んで、今まで周ってきた、どの会社のどのプロジェクトでも、このコードを 普通のクラスと普通の public static final String で定義する決まりになってるんですが enum を使いたくない理由って何なのでしょうか? DBに値を突っ込みにくいとか、あるいはDBからエンティティを復元しにくいとか? でも enum を使えば、麺種別コードを入れるべき所に間違えてダシ種別コードを入れてしまうような 事故がなくなるはずなのに。 この事故のせいで、数十人月は損してるんじゃないかな?特に今回のアソコは・・・
860 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 20:12:08 ] >>859 enumはjava5からだから昔からあるシステムのメンテや追加だとまだ使いたがらないことが多い。
861 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 20:24:00 ] うちのシステムではなぜか定数はinterface派だな。 public interface Foo { int AAA = 1; String MSG = "UGO UGO"; }
862 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 20:36:42 ] >>859 「よく解らないので(知らないものは)採用できない」と言われたことあるぜw
863 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 21:05:58 ] むしろ定数自体が邪悪
864 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 21:31:43 ] うちもインターフェイスかな・・ Static importとか使う?
865 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 21:36:35 ] >>864 import java.util.*; のような表記は全然OKだけど、static import は使わない。
866 名前:デフォルトの名無しさん mailto:sage [2008/07/05(土) 22:05:38 ] 個人のサンデープログラマは気ままにEnumのみ
867 名前:デフォルトの名無しさん [2008/07/05(土) 22:35:05 ] 質問です。 画像ビューワみたいなのを作ってます。 画像を JScrollPane の中央に表示させたいんですけど、 ウィンドウのサイズをいじると左上に移動してしまいます。 これをなくしたいのですが。。。以下ソースコード(1/2) package test; import java.awt.*; import java.awt.image.*; import javax.swing.*; import javax.swing.event.*; public class JSTest extends JFrame implements ChangeListener{ private JScrollPane sp; private MyCanvas mc; public JSTest(){ mc = new MyCanvas(); sp = new JScrollPane(mc); getContentPane().setLayout(new BoxLayout(getContentPane(), BoxLayout.Y_AXIS)); getContentPane().add(sp); JSlider js = new JSlider(20, 300, 100); js.addChangeListener(this); getContentPane().add(js); pack(); setVisible(true); } public void stateChanged(ChangeEvent e){ int newScale = ((JSlider)e.getSource()).getValue(); mc.setScale(newScale); // サイズに合わせて位置を調整 sp.getViewport().setViewPosition(new Point(newScale - 100, newScale - 100)); repaint(); } public static void main(String[] args){ new JSTest();}
868 名前:デフォルトの名無しさん [2008/07/05(土) 22:37:33 ] class MyCanvas extends JComponent{ private int scale = 100; private Image img; private Dimension size; public MyCanvas(){ int[] pixelData = new int[240 * 240]; for(int i = 0; i < pixelData.length; i++) pixelData[i] = (255 << 24) | (int)(Math.random()*256*256*256); MemoryImageSource mis = new MemoryImageSource(240, 240, ColorModel.getRGBdefault(), pixelData, 0, 240); img = createImage(mis); size = new Dimension(240, 240); } public int getWidth(){ return size.width * scale / 100;} public int getHeight(){ return size.height * scale / 100;} public void setScale(int scale){ this.scale = scale; } public void paintComponent(Graphics g){ g.drawImage(img, 0, 0, getWidth(), getHeight(), null); } } } ソースコード終わり。getWidth()とかオーバーロードしてるのがまずいんですかねぇ。。
869 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 03:16:22 ] >>867 スクロールペインで全体の一部を表示する為の機能なので、通常の使い方ではないのでは? 真ん中に表示だと、こんな感じ。 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/333.java
870 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 04:07:52 ] >>869 ごめんなさい スクロールできてなかった。 ttp://rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/334.java
871 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 08:28:52 ] JPanelにBufferedImageをadd出来た気がする
872 名前:867 [2008/07/06(日) 09:50:38 ] >>869 ,870 うおお。なるほど! paintComponent のほうで調節するんですね。。 これなら使えそうです。ありがとうございました。
873 名前:デフォルトの名無しさん [2008/07/06(日) 10:32:07 ] 質問です。 今、Java で大量に同時に画像を読み込むプログラムを書いてるのですが、 -Xmx オプションで 1GB くらい確保しても、OutOfMemoryError がでてしまいます。 Windows には物理メモリが足りなくなったときに HDD をメモリに見立てた 仮想メモリというものがあると思いますが、これを Java で使うことはできない んでしょうか?
874 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 10:42:40 ] それで足りないならば設計を疑えよ どっかに大きなボトルネックあるだろ、常考 おおかた全部配列とか馬鹿食いのオンメモリなんだろうが
875 名前:873 [2008/07/06(日) 10:48:34 ] >>874 そうです。画像データは全部配列です。。。 int[] pixelData = new int[2000 * 2000]; みたいな画像データを20〜50くらいメモリに持ってます。 同時に表示することもあります。 表示するサイズは小さいサムネイルサイズなので、 それだけ残して、元データは HDD に保存してもいいんですけど、 VM が物理メモリを勝手に使ってくれるというのは 結局同じようなことなのかと思ったので質問しました。 VM が全部解決してくれたら、プログラマは楽だなぁと。。
876 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 10:55:28 ] 画像のクラスを使わないであえて配列でしてるのか・・
877 名前:873 [2008/07/06(日) 10:57:48 ] >>876 あえてというか、画像クラスの使い方がわかってません orz 32bit グレースケール 32bit x 3 の RGB 画像 これを保持できる画像クラスがあればそれで代用したいですが。
878 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 11:12:03 ] 配列はなるべく連続した領域をメモリに確保しようとするから効率は最悪 そもそも、bmpみたいな形式でオンメモリに持っている時点でアウト 素直にImageクラスなり使え、不満になったら自作するか拡張しろ
879 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 11:15:04 ] むしろ画像を使おうとしてどうして配列を思いついたほうがすごいな ググってもImageとかBufferedImageとかしか出ないと思うんだが
880 名前:873 [2008/07/06(日) 11:17:48 ] >>878 なるほど、効率が最悪なんですね。。。 ただ、高速化のために配列のデータを C++ で書いた DLL に渡して ゴリゴリ画像処理もしたりしてるので、難しいかもしれません。。 まぁ、最初から明示的にメモリを解放できる C++ で作った ほうがよかったかもしれませんね。。。
881 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 12:14:41 ] >>873 DLL使っているならば最初からC++で書けよ なんでJava使うのか意味わからね 言語の選択方法から学んだほうがいいぞ
882 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 12:18:58 ] サムネイルを表示した後も、プログラム内でくわえ込んでいるようなこと書いてるから、 C++で書いても同じことでは?
883 名前:デフォルトの名無しさん [2008/07/06(日) 12:26:10 ] >>873 OS が仮想化してようがなんだろうが、VM に最大 1GB だと言えばそれしか使えないだろ。 なんだったら 100GB でも 100TB でも要求してやれば? 結局やることをやらにゃならんことが分かるだろw
884 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 12:35:22 ] 結論:Javaは糞
885 名前:873 [2008/07/06(日) 12:38:19 ] 周囲にプログラマーが居ないので勉強になります。助かります。m(_ _)m >>881 もっともな意見です。ただ、 ・Java での画像処理関連の資産を使いたかった ・開発当初は高速化の必要性がなかった ・開発当初は VC++ を持ってなかった(笑 という感じで、こうなってます。 あとやっぱり開発環境は Eclipse が好きなので、、 >>882 そうなんですけど、使わなくなった画像とかを gc がちゃんと 回収してくれてないような気がして。。 しっかり解放してないからかもしれませんが。。 >>883 -Xmx で 5000M とか指定すると VM が起動しないのですが。。 それとも何かやりかたがあるのでしょうか
886 名前:デフォルトの名無しさん [2008/07/06(日) 12:54:38 ] >>885 >-Xmx で 5000M とか指定すると VM が起動しないのですが。。 すまん、回りくどかったか。 「仮想化さえされてれば*無限に*メモリがつかえる」と勘違いしてるように見えたので 「無限に取って見れ」と言いたかったのだ。 5000M 指定で VM が起動できない理由は自分で調査してもらうとして、仮にそれで動いても 「大量に同時に画像を読み込むプログラム」に足りてるかどうか分からない。 結局いつかは Out of Memory になる可能性があるだろう。 gc の回収が間に合わないかもしれないしな。 それなら結局どこかでメモリ使用量を抑える(ファイルベースで動くとか)様にせにゃならん。 これでどうかな?
887 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:01:08 ] >>875 おまい、ちょっとは消費メモリ見積れ。 4(intのサイズ) * 2000 * 2000 = 約16MB、それが50個あったら800MB、 その配列以外にもいろいろリソース使ってるはず(サムネイル生成とか) だから、そりゃ1GBじゃ足りなくなるだろう。 GCは、使ってない領域を解放するだけで、使ってる領域をどうにかして くれるわけじゃないぞ。
888 名前:873 [2008/07/06(日) 13:06:25 ] >>886 なるほど。わかりました。 >それなら結局どこかでメモリ使用量を抑える(ファイルベースで動くとか)様にせにゃならん。 これをJVMが勝手にやってくれると助かるなぁと思ったんですよね。 C/C++ に比べて Java はメモリスペースを意識しなくてプログラミングできるのが 利点だと思っていますので。。。(勘違いでしたらすいません。)
889 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:11:20 ] >>885 > 使わなくなった画像とかを gc がちゃんと回収してくれてないような気がして お前が使わないつもりでも、「どこか」からたどれるルートがあれば、それは「使われてる」と見なされる。 例えば、 static int[] img = new int[2000 * 2000]; なんて書いてあったら、img に null を入れん限り永遠に解放されない。
890 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:13:48 ] >>888 勘違い。free/deleteを自動的にやってくれるだけ。
891 名前:873 [2008/07/06(日) 13:27:17 ] うーん、なるほど。 Javaでは、ポインタが無かったり、GCがあったり、明示的に解放できなかったり するんで、JVMが「メモリのことは忘れてくれ」って言ってくれてるんだと拡大解釈していました。 ソフトの設計のほうを見直すことにします。 ただ、画像をファイルに保存して、配列を解放するようにしても gc が追いつかずにOutOfMemoryが出ることはありそうですが。。。 ありがとうございました。
892 名前:デフォルトの名無しさん [2008/07/06(日) 13:29:24 ] 言い切ってしまえば、VM にメモリ仮想化は無い。 (世の中全部の VM を知ってるわけじゃないから「ある」と言われたらそれまでだがw) だから、自分でしろ。
893 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:40:01 ] VMってマジで物理メモリでしかやりくりできないの? Windowsに乗ってるアプリとは思えない仕様だね
894 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:41:49 ] >>891 VM規定に反してなければOutOfMemoryError出す前にGCが未使用メモリを回収してるはず。 強参照しっぱなしなのに「解放してるはず」と思い込んでる事は、かなり頻繁にある。
895 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 13:57:58 ] >>893 それはおまえの読み違いだ。
896 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 14:07:10 ] JPAでOneToManyのMany側を絞り込み検索した状態で One側を得るようなJPQLはどのように書けばよいのでしょうか。 例えば従業員の作業日誌の直近5日分を 全ての従業員分取得するといったケースです。
897 名前:896 mailto:sage [2008/07/06(日) 14:18:27 ] あ、ORMスレがあったのでそちらに移動します。 こちらはクローズでお願いします。
898 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 18:07:40 ] JToolBarのボタンにつくフォーカスの四角い枠の表示ってどうやったら操作出来るでしょうか?
899 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 18:37:24 ] しつこくすみません。 どなたか>>618 を教えていただけないでしょうか?
900 名前:898 mailto:sage [2008/07/06(日) 18:37:56 ] すいません自己解決しました。
901 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 19:01:14 ] >>899 設定しなおせば?
902 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 19:18:10 ] >>901 いえ、設定し直すもなにも、methodをPOSTに設定しrequestPropertyを設定するまではいいのですがその後コンテンツを取得する際、 内部的にrequestMethodを初期化(あるいは再設定?)するらしく、設定できないのです。
903 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 20:00:52 ] >>902 「その後」と言うが良く分からない。 こんな風なGETやPOSTじゃないの? ttp://www.hpc.cs.ehime-u.ac.jp/~aman/java/http/
904 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 20:35:29 ] 1.POSTでログイン時の情報を送る。 2.サーバーからSet-Cookieなどの返答がある。 3.GETでページデータを取得。 POSTに設定後各種プロパティを設定し、getInputStream()をした時点で内部で上の1〜3を行うようで、 1の接続ではMessageHeaderに設定したプロパティがそのまま使われるので大丈夫なのですが、3で再び接続する際勝手に各プロパティを設定されてしまいます。 説明が分かりにくくて申し訳ありません。
905 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 20:52:43 ] 1.リクエストプロパティの設定 2.サーバーからレスポンスを得る 3.InputStreamなどでデータを読む 一回の接続でこれを行うので、ほかにも処理をしたい場合は再度1〜3を繰り返す。 それともリダイレクトの事なのだろうか?
906 名前:デフォルトの名無しさん [2008/07/06(日) 21:06:56 ] >>899 そのコードをアプしてくれ。
907 名前:デフォルトの名無しさん [2008/07/06(日) 21:20:46 ] >>904 1 → 2 と 3 は別だろ。 1 の POST に関する処理は 2 で終わってる。 1 のために作った HttpURLConnection に対しての getInputStream と、 3 の GET と勘違いしてないか?
908 名前:デフォルトの名無しさん [2008/07/06(日) 21:32:57 ] ちなみにPOSTで送られてくるクッキーはGET時に自分で設定しないと 送られないのは分かっているか?
909 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 21:45:37 ] >>905 その通りでした。確かにリダイレクト時にリクエストプロパティが再設定されてしまうようですが、今回はそれが原因ではありませんでした。 クッキーについては、CookieManagerにCookiePolicyとしてとりあえずCookiePolicy.ACCEPT_ALLを設定し、一応その情報が送られていることをパケットキャプチャで確認しておりましたが、そのクッキーがいくつか欠けていたようです。 サーバーからSet-Cookieとして送られてきていて、全て受け入れるようにしているにも関わらず一部しかクッキーが設定されていないのが現在の疑問です。 まだしばらく検証してみます。 いろいろな方がわざわざ解決しようとしていただいたのに、お気持ちを踏みにじるようなことになってしまってすみません。
910 名前:デフォルトの名無しさん [2008/07/06(日) 22:08:01 ] ava.util.Map.Entryってどういう意味があるの? どういうときに使うかを教えてください。
911 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 22:15:57 ] それはKeyとValueのペアを表すオブジェクト。 基本的にはMapの内部で使われるだけで、あんまり意識しなくていい。 意識する時はKeyとValue両方の値をイテレートする時くらいかな。 keySetのイテレートからgetで値を取り出す手法より速いからね。
912 名前:デフォルトの名無しさん [2008/07/06(日) 23:37:02 ] >>899 これ、何に使うのかが気になる。
913 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 23:46:04 ] テストの自動化とか、日次処理とか用途はいろいろ考えられるね。
914 名前:デフォルトの名無しさん [2008/07/06(日) 23:46:32 ] すみません、質問です。 現在JavaからMS-DOSのバッチファイルを呼び出して処理したいと思っています。 Runtime.exec()を使用して呼び出し・処理自体は成功しているのですが バッチ内部からの返り値をJava側で取得する事はできないのでしょうか?
915 名前:デフォルトの名無しさん mailto:sage [2008/07/06(日) 23:46:56 ] >>912 fx取引でもするつもりなんじゃね
916 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 00:01:37 ] Process#exitValueじゃね?
917 名前:デフォルトの名無しさん [2008/07/07(月) 00:32:32 ] >>916 Exitvalueで値は帰ってくるのですが、常に0となってしまいます。 バッチ内では明示的に1を返しているのですが・・・ 何かやり方がまずいのでしょうか・・・。
918 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 00:39:47 ] >常に0となってしまいます。 バッチの呼び出しに成功してるから0なんじゃね? ここらへんwinとlinuxで実装違った気がする。 linuxで同じこと試せる?
919 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 00:52:14 ] バッチって cmd /c batch.bat って呼び出すんだっけ?
920 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 00:52:20 ] >>918 >linuxで同じこと試せる? 今のところLinuxの環境がないですね・・・ 会社の方にあったかもしれないので探してみます。 >バッチの呼び出しに成功してるから0なんじゃね? ExitValueとは、バッチでの処理で返した値というより バッチを動かすプロセス自体の成否結果を取得する、というイメージでしょうか?
921 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 00:55:53 ] もしexitValueでの解決が難しいようなら、ステータス(に相当するモノ)を echoして、Processの出力を読むことで代替できるかもしれない。 敗北感ありまくりだけど。
922 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 00:56:56 ] public static void main(String[] args) { // TODO Auto-generated method stub Runtime rt = Runtime.getRuntime(); try{ Process p = rt.exec("hoge.bat"); p.waitFor(); System.out.println(p.exitValue()); }catch(Exception ex){ ex.printStackTrace(); } } hoge.bat中身は、 exit 1 のみ。 当方の環境は、windows これで 1 って表示されるよ。
923 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 01:10:51 ] >>921 アドバイスありがとうございます。 解決が難しい場合はやってみたいと思います。 >>922 サンプルまでつけて頂きありがとうございます。 やはりExitValueでバッチの返り値自体を取得できるのですね・・・ 当方もWindowsなのですが、なにか環境の問題なのかもしれませんねorz もう一度全体的に問題がないか見直してみます。
924 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 01:21:42 ] www.velocityreviews.com/forums/t132971-exit-code-of-a-batch-using-exit-b.html 自分のとこでやったら0だったけど、Windows 2003 (Server?)では期待通りに 動いたとかいう古い投稿記事。
925 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 01:25:18 ] >>923 batの内容とソースうp
926 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 06:18:24 ] >>904 Cookieを決めるのはSet-Cookieだけではなくて、javascriptにも命令文が有った筈。
927 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 09:14:22 ] >>912 特にこれといって今のところは使う予定はありません。 単純に便利なクラスだなぁ〜、といろいろ試してました。 >>926 他のブラウザで実行した場合の全てのクッキーがSet-Cookieで送られ、実際に設定されたクッキーもそれらであったため、それはないと思います。
928 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 11:44:51 ] Set-Cookieはサーバーサイドcookieでjsのはクライアントサイドcookieな。
929 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 12:14:20 ] そんなネタに釣られ熊
930 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 13:33:31 ] すみませんが質問、というか相談です。 アノテーションとその応用について、参考になるリンクや書籍をご紹介いただ けないでしょうか?書籍は和書だとありがたいですが、なければ英語でも。 【コラム】ライトニングJava (26) アノテーション(1) - Javaの大きな変貌、アノテーションの導入 journal.mycom.co.jp/column/java/026/ この連載を読んで興味を持ったのですが、どのような応用が考えられるのか、 あまり参考になる情報を見つけられませんでした。
931 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 15:06:00 ] すごいアホな質問で申し訳ありませんが、JUnitの3までは TestAAAA#testBBBをTestSuite に追加するには TestSuite suite = new TestSuite(); suite.addTest(new TestAAAA("testBBB")); とかって出来ましたよね? JUnit4はどう指定したらいいのでしょうか。
932 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 15:14:31 ] >>909 CookieManagerって期限判定がおかしくない?
933 名前:デフォルトの名無しさん [2008/07/07(月) 15:31:35 ] >>931 www.google.co.jp/search?num=30&hl=ja&q=junit4+testsuite&btnG=%E6%A4%9C%E7%B4%A2&lr=lang_ja
934 名前:931 mailto:sage [2008/07/07(月) 16:51:55 ] いろいろ見てみたんですけど、基本的に TestSuite suite = new TestSuite(); suite.addTest(new TestSuite(TestAAAA.class)); というやり方しか見つからない気がするのです。 これだと#testBBB()だけでなく、TestAAAAに記述された全テストメソッドが 実行されますよね? 4からはTestAAAAがtestCaseを継承していない以上、3までのTestCase(String name) コンストラクタが使えないのは判るのですが代替方法が判りません。
935 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 18:03:20 ] >>932 Locale.setDefault(Locale.ENGLISH); とすると期限を判定してくれることが分かった。 日本語ロケールでは、日付が読めないらしい。
936 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 20:09:24 ] 質問させていただきます。 JavaとMysqlをつかって200万ほどのデータを扱っているのですが、そのデータは一週間ごとに毎回不特定の数が増えて txt形式で送られてきます。これをデータベースに入れるときに、増えた行だけを新たに更新という形でMysqlを操作したいのですが、 たとえばデータが 2,600,000行→2,600,100行になったときに100行だけ追加したいのです。 プログラミングは初心者で、現在はテーブルのデータ全消し→一からファイル読み込み という流れで30秒ほどかかります。 他にスムーズに行く方法があるのでしょうか? 質問が良くわからなかったら申し訳ありません。
937 名前:デフォルトの名無しさん [2008/07/07(月) 20:19:01 ] >>936 Javaに関係する前の段階な気がするが。 その増えた分を既存分と区別することができるフィールドがあれば、 それを見て例えの100件を取り出してテーブルに入れればいいわけだ。 そしてその区別することが出来るフィールドが在るのか無いのかは 936しか分からんだろ。
938 名前:デフォルトの名無しさん [2008/07/07(月) 20:19:09 ] すみません、フリーでお薦めJava開発ツールを教えてください
939 名前:404 [2008/07/07(月) 20:21:09 ] フリーなんだから使ってみりゃいいだろにw
940 名前:936 mailto:sage [2008/07/07(月) 20:29:16 ] >>937 確かにそうでした・・・Javaとは直接関係ないですね; フィールドは日付と、あとは売り上げなどの数値だけです。 table(day date,data1 double,data2 double); といった感じです。ファイルの日付が(08-97-07のような感じです)○日〜読み取るということが出来るのでしょうか? あぁ・・Javaじゃ無くなってしまってますね。。 すいません鬱陶しかったら無視してくださって結構です。
941 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 20:57:02 ] こんばんわ。 JAVA言語とは直接関係のない話になるのですが、 レンタルサーバでJAVAが使えるところって、どこも結構値が張りますよね。 お仕事とか教育機関で使ってる方は別にして、趣味のレベルでJAVAを使ってる人は、どこで活用してるんでしょうか。 自宅サーバとか、単独アプリケーションあたりは思い付いたのですが、 何か人とは違う面白い使い方してますっていうのがあったら紹介してもらえますか? よろしくお願いします。
942 名前:937 [2008/07/07(月) 21:09:44 ] >>936 前回受け取ったデータから増えた分というのが売上日で判断付く (「今MySqlに入っている売上日より後のものが追加分」等)のなら、 取り込み時に SELECT MAX(売上日) FROM 売上 とかやって、 その送られてきたtxtから一件ずつ読んでその条件に当たる分だけ追加。 200何十万件分をチェックするのにどれくらいかかるかはやってみるのが一番か。 一番いいのは、追加分だけtxtで送ってもらうことかw
943 名前:936 mailto:sage [2008/07/07(月) 21:30:28 ] >>937 なるほど! つまりそのSELECT MAX(day) from データベースで最終更新の日時をもらって その日時以降の日付があればデータベースに入れるということですね。 Javaだとwhileとif,scannerを使えばできそうですね。 ありがとうございました。すれ違いのようなので試行錯誤してみます。
944 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 22:42:47 ] Strutsで質問なんですが、 ValidatorFormを直接継承したフォームだとvalidateできるのですが、 ValidatorFormの孫?になると、動作しなくなってしまいました。 (間の親は、ValidatorFormを継承しただけの抽象クラスです) d.hatena.ne.jp/uronim1/20060218/1140246457 ↑これと多分現象は同じですが、attribute属性は指定してないです。 勿論、form-beanの名前もconfigに書いたものと一致しています。 ソースを追っていったら、FormSetオブジェクトがnullで、 Validatorがうまく生成されていないようでした。 ちなみに、JDKは1.5.0_13、APサーバはweblogic9.2です。 原因や疑わしい箇所の検討がつく方、よろしくお願いしますm(_ _)m
945 名前:944 mailto:sage [2008/07/07(月) 22:43:35 ] すいません、追記です。 Strutsは1.2.8です。
946 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 22:48:05 ] LinkedList <String>a = new LinkedList<String>(); a.add("abc"); LinkedList <LinkedList<String>>b = new LinkedList<LinkedList<String>>(); b=a; a.add("def"); System.out.println(b); これでabcと出力したいのですが、abc defと出力されてしまいます。 これをb=a;の後にaに編集を与えたとしても、bに変更を与えないようにするにはどのようにすればいいのでしょうか?
947 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 22:49:32 ] >>946 間違えました LinkedList <String>a = new LinkedList<String>(); a.add("abc"); LinkedList <LinkedList<String>>b = new LinkedList<LinkedList<String>>(); b.add(a); a.add("def"); System.out.println(b); これでabcと出力したいのですが、abc defと出力されてしまいます。 これをb.add(a);の後にaに編集を与えたとしても、bに変更を与えないようにするにはどのようにすればいいのでしょうか?
948 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 22:59:56 ] >>947 プログラムは書いたようにしか動かない。 質問するなら、 まず、何のつもりか、したいことの方を詳しく述べた方が良い。
949 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 23:22:47 ] >>948 すいません説明が足りませんでした bのリストにはaが編集される度にその状態を保存しておきたいと思っています。 それで状況によってアンドゥのような処理でbのリストに保存してある状態をaに戻したいということです。 その1 a = {abc,edf,123} b.add(a); その2では456をaddしてaは以下のような状態になる a={abc,edf,123,456} b.add(a); その3ではaをソートして以下のような状態になる a={123,456,abc,edf} b.add(a); その2に戻したくなったのでbのリストに保存されているその2の状態をaに持ってくる a = b.getLast(); b.removeLast(); a={abc,edf,123,456} その1に戻したくなったのでbのリストに保存されているその1の状態をaに持ってくる a = b.getLast(); b.removeLast(); a = {abc,edf,123} ということを実現したいと思っています。
950 名前:デフォルトの名無しさん [2008/07/07(月) 23:29:45 ] >>949 b.add(a)の時にaのコピーを作ってbにaddする。
951 名前:デフォルトの名無しさん mailto:sage [2008/07/07(月) 23:36:53 ] >>950 なるほど! 早速試してみようと思います ありがとうございました
952 名前:デフォルトの名無しさん [2008/07/08(火) 00:28:45 ] 先生、もうどうしていいか分かりません。 open-ejbでEJB3.0の実装をしようと思ってます。 トランザクション管理をコンテナ管理からBEAN管理 に替えたいのですが、どうやって指定したらいいか 分かりません。 EJB2.0のように、デプロイメント記述子を書くしか ないのでしょうか。
953 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 01:28:58 ] >>949 効率を考えると操作履歴を残す方が良くないか? e.g. 1. Aを追加 2. インデックスnを削除 :
954 名前:デフォルトの名無しさん [2008/07/08(火) 07:25:47 ] 質問です。 あるクラスで他のクラスのインスタンスを生成した時に、そのインスタンスの中で生成元クラスの フィールドやメソッドにアクセスしたい場合はどうすればよいのでしょうか? 具体的には、以下のように、 描画パネルのクラスでGUIを記述したクラスのボタンやテキストエリアにアクセスしたいのです。 public class Window() extends JFrame{ private MyPanel p = new Panel(); private JButton b = new JButton("button"); Container container = this.getContentPane(); container.add( p, BorderLayout.CENTER ); } public class MyPanel() extends JPanel{ public void paintComponent(Graphics g){ (描画処理) } public void method1(){ b.setText("change text"); //ここでボタンbにアクセスしたい } } かなり端折って書いてます、初心者なもので記述のおかしいところとかあるかもしれませんが よろしくお願いします。
955 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 07:54:38 ] class Hogehoge { static MyPanel myPanel_p = null; static JButton b = null; public class Window extends JFrame{ Window () {} // コンストラクタ myPanel_p = new Panel(); b = new JButton("button"); Container container = this.getContentPane(); container.add( p, BorderLayout.CENTER ); } public class MyPanel extends JPanel{ MyPanel () {} // コンストラクタ public void paintComponent(Graphics g){ (描画処理) } } public void method1(){ b.setText("change text"); //ここでボタンbにアクセスしたい } } クラスの書き方が変だから直した。
956 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 07:56:02 ] PanelのほうにButtonのインスタンスを持たせておいてそれ使ってアクセス
957 名前:デフォルトの名無しさん [2008/07/08(火) 09:55:03 ] CDでJAVA(JDK1.5.0)のソースを配るのですが、非公開にしたい場合はどうしたらよろしいのでしょうか? JAVAを初めて1ヶ月弱色々なゲームができるようになりましたのでそろそろ同人ゲームを作りたいです。
958 名前:957訂正 [2008/07/08(火) 09:56:39 ] CDでJAVA(JDK1.5.0)のソースを配るのですが、ソースを非公開にしたい場合はどうしたらよろしいのでしょうか?(CDでプログラムを起動だけしたい) JAVAを初めて1ヶ月弱で色々なゲームができるようになりましたのでそろそろ同人ゲームを作りたいです。
959 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 09:58:25 ] >>958 ソースを配るのにソースを非公開にする?配るのはclassファイルとかjarとかじゃないの?
960 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 10:12:22 ] リストに入れたオブジェクトのフィールドを変えると リストの中のオブジェクトのフィールドもかわってしまいますか? 言い換えるとリストの中のオブジェクトは参照しているだけですか?
961 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 10:21:31 ] >>958 >>959 の言う通り、意味が判らないけど、 パスワード付きzipで固めるとか、そういう事でいいのかな。 Javaの問題ではない様な気がする。
962 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 10:21:45 ] フィールドでオブジェクトを初期化するのと(例えば A a=new A();) コンストラクタで初期化するのとは何が違うんですか?
963 名前:958 [2008/07/08(火) 11:11:58 ] jarで配ったらソースがばれるんちゃうか?アプリ使用して中身を盗みみるとか。 パスワード付きzipで固めましたらjavaそのものが起動できなくなるのでは? 知障ですいません。 私がしたいのはダブルクリックしたらプログラムが動く状態にまで持ってきたいです(それかコマンドプロントでjavaプログラムを叩いたら起動。そこの説明はテキストで説明します)。 とりあえずソースを見られないようにしたいのです。
964 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 11:24:50 ] ソースの難読化してくれるツール使うくらいしかないだろうな けど逆コンパイラのjadは最新のソースには対応してないから、普通に逆コンパイルしてもきれいには復元できないし気にしなくていいと思うけどな。 どうしてもされたくないならJavaは使わないべき。
965 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 11:30:32 ] >>960 かわってしまいます だけです
966 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 11:34:28 ] >>962 そもそもフィールドを外から触れるという設計が良くない 特段の理由がなければフィールドはすべてprivateにするべき
967 名前:デフォルトの名無しさん [2008/07/08(火) 11:38:12 ] >>962 class Foo { A a = new A(); Foo() {} } と class Foo { A a; Foo() { a = new A(); } } の違い? 強いて言えばタイミングが違うが、大して変わらない、でいいだろか。
968 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 11:40:50 ] >>963 gcjとか・・・・・
969 名前:966 mailto:sage [2008/07/08(火) 11:46:04 ] そーゆー意味か・・・966は無視してくださいorz
970 名前:958 [2008/07/08(火) 11:57:14 ] >>968 この中で見た限りgciが有効なので解決致しました。 968さん、協力してくださった皆様方ありがとうございました。
971 名前:958 [2008/07/08(火) 11:57:54 ] gcjね。orz
972 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 13:03:42 ] gcjってjava5以降まともにコンパイルできたっけ?
973 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 13:10:34 ] できない。文法的には確か1.4止まりじゃなかったか? そもそも、ソース見せたくないからネイティブ化ってどうなんだろうな
974 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 13:48:59 ] >>964 >使わないべき 使わないべき? 使うべきでない? どっちもアリなのかな。
975 名前:デフォルトの名無しさん [2008/07/08(火) 14:24:10 ] 画面遷移有りでクラス関係無しにデータ(値)を受け渡すのはどうやるんでしょうか? {}でもとの数値に戻ってしまいますorz
976 名前:975 [2008/07/08(火) 15:57:36 ] 画面遷移無しでアドベンチャーが作れるようになったので返答いりません。 画像を一瞬で表示するプログラムはありますでしょうか? どうしても途中、途中で、読み込みが発生いたします。 トップ画面時に画像すべて読み込みのプログラムでも構いません。
977 名前:976 [2008/07/08(火) 16:13:21 ] ごめんなさい。自己解決致しました。
978 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 17:11:50 ] 意味不明すぎワロタ
979 名前:デフォルトの名無しさん [2008/07/08(火) 21:19:25 ] ひょっとして JSFやStrutsはすれ違い?
980 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 22:47:23 ] そんなことより埋めようか
981 名前:デフォルトの名無しさん mailto:sage [2008/07/08(火) 23:13:43 ] 次スレは?
982 名前:デフォルトの名無しさん [2008/07/09(水) 01:47:39 ] 純粋なプログラミングではないのですが、詳しい方教えて下さい。 他社が作った昔のJavaソースを貰って、評価して作り替えの新規 提案する必要があります。規模は数10Kstep その昔のJavaのソースを定量的/定性的に評価して レポートをする必要があるのですが、皆さんならどういうことを 考えますか? 定量的:JTestでどの程度規約に沿っているか 定性的:Judeでクラス図起こして、変なところを探す ぐらいしか思いつきません。 いいアイディアが有れば教えて下さい。
983 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 02:21:04 ] >>982 何を目的に作り替えるの。
984 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 09:48:37 ] >>982 FindBugで潜在的なバグ要因となるコードを探すとか。 結構出るので、相手によるけどびっくりさせられていいかも。 >>983 アレだろ。 「このプログラムはこんなにヒドイ! バグてんこ盛りで、規約もいい加減。メンテ無理! ですから、既存コードの改修はあきらめて 当社に新規開発させてもらえませんか? その方が安く付きます。」 って話のネタ。
985 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 10:59:33 ] EclipseとTomcatでMysqlのデータを操作するプログラムを作りたいのですが、 動的webプロジェクトを作成し、サーブレットにHttpServletを継承しようとするとHttpServletが解決できないというエラーが出てしまいます。 Tomcatプラグインをいれ、Tomcatプロジェクトだと継承はできるのですが、動的webプロジェクトだと継承できない原因が分かりません。 Javaを再インストールしたり最新版のものにしても継承できませんでした。 どうか原因が分かる方ご教示ください。
986 名前:デフォルトの名無しさん [2008/07/09(水) 11:42:47 ] switchの中で数値を引きたいのですがどうしても除々に引かれていきます。 一度だけ引くにはどういう記述を入れたらよろしいのでしょうか? JHP = JHP -da; switch (pa) { case 1: gv.drawString(""10, 325); da=10; break; case 2: gv.drawString(""10, 325); break; case 3: gv.drawString("10, 325); break; case 4: gv.drawString("10, 325); break; case 5: gv.drawString("", 10, 325); break; case 6: gv.setFont(new Font("Arial", Font.PLAIN, 20)); gv.drawString("", 70, 150); break; } というプログラムです。アドベンチャーの一部のプログラムです。詳細は隠してありますが。 ご提示宜しくお願いします。
987 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 11:46:45 ] switchの中のどこで数値を引いてるって? >JHP = JHP -da; の部分か? 元の変数JHPを書き換えるのをやめればいいのでは?
988 名前:デフォルトの名無しさん [2008/07/09(水) 12:00:47 ] >>987 それをやったら画像が表示されなくなりJHPも0になってしまいましたorz プログラムはJHP=da; da=-10;でやってみました。
989 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 12:15:24 ] >>986 ,988 やりたいことをもっと詳しく書きましょう。 「〜の場合に変数xxxの数値を減らしたいけど、いまはどんな場合にも減っ てしまう」とか。
990 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 12:19:31 ] 画像ってなんだよ >>986 のプログラムのどこにそんな画像があるの 書いてないことまではわからないよ
991 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 12:28:26 ] 次スレ立てるよー
992 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 12:33:27 ] あとはよしなに 【初心者】Java質問・相談スレッド117【歓迎】 pc11.2ch.net/test/read.cgi/tech/1215574326/
993 名前:デフォルトの名無しさん [2008/07/09(水) 12:54:44 ] >>990 そこまで書いたら漏れの苦労が台無しになる。 >>989 pa=3の場合に変数aの数値10だけを減らしたいけど、いまは除々に減っていきます。
994 名前:993訂正orz mailto:sage [2008/07/09(水) 12:55:39 ] pa=3の場合に変数daの数値10だけを減らしたいけど、いまは除々に減っていきます。
995 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 12:58:37 ] pa≠3の場合は減った数値を元に戻したいということ?
996 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 13:00:31 ] なに作ってんのか知らないけど、NScripterがあれば不必要なものじゃないの? ja.wikipedia.org/wiki/NScripter
997 名前:デフォルトの名無しさん [2008/07/09(水) 13:08:18 ] >>995 分かりやすくしたい事を日本語で書きますと、 最大HPが100あります。 ある場面Aにいきました。 あるイベントが起きました。 ダメージが10減りました HP、10減ってHPが90になりました。 的な事をやりたいです。
998 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 13:16:17 ] 言わんとしている事は、こんなことだろ。 java.util.Scanner s = new java.util.Scanner(System.in); int JHP=100; int da =0; while(true){ int pa = s.nextInt(); JHP = JHP -da; switch (pa) { case 1: da=10; break; case 2: break; } System.err.println(JHP); }
999 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 13:18:09 ] なんでswitchがいるんだ?
1000 名前:デフォルトの名無しさん mailto:sage [2008/07/09(水) 13:27:51 ] >>997 switchの外の >JHP = JHP -da; は消して、case 3 のところに JHP -= 10; と書けばいいんじゃない
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。