★★Java質問・相談スレッド152★★

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
★★Java質問・相談スレッド151★★
http://toro.2ch.net/test/read.cgi/tech/1326557705/
2デフォルトの名無しさん:2012/02/20(月) 14:26:26.75
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing & JavaFX 10
http://toro.2ch.net/test/read.cgi/tech/1316592884/
■ SWT は --
Java 高速GUI SWT 3
http://hibari.2ch.net/test/read.cgi/tech/1164877399/

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part22
http://hibari.2ch.net/test/read.cgi/tech/1295766416/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
http://hibari.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
Androidプログラミング質問スレ Part16
http://toro.2ch.net/test/read.cgi/tech/1324191723/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 71 ★★
http://hibari.2ch.net/test/read.cgi/tech/1309076891/

■ NetBeansに関する雑談は --
NetBeans Part6
http://hibari.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://toro.2ch.net/test/read.cgi/tech/1320318310/

**** 開発環境、実行環境は ****
■ Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html
3デフォルトの名無しさん:2012/02/20(月) 14:45:57.51
System.out.println("たておつです");
4デフォルトの名無しさん:2012/02/20(月) 16:09:56.27
ロガー書くのめんどくせ。構文に組み込んでくれねーかな

import org.slf4j.*;

class Foo {
Logger log = LoggerFactory.getLogger(Foo.class);
}
5デフォルトの名無しさん:2012/02/20(月) 16:54:56.82
いくら頑張って勉強してもジャヴァの派遣ITドカタになったら日本では年収300ー400万ぐらいにしかならないんですか?
6デフォルトの名無しさん:2012/02/20(月) 17:03:15.85
SIerに関する話題はスレ違い
7デフォルトの名無しさん:2012/02/20(月) 18:43:13.90
スレどころか板が違うわ
8デフォルトの名無しさん:2012/02/20(月) 18:45:50.82
jQueryの$.ajaxのGETで渡したデータ(配列等)をStrutsのアクションで受け取りたいです。

request.getParameterメソッドでうまく取れないのですが、どうしたらいいでしょうか。
9デフォルトの名無しさん:2012/02/20(月) 19:20:41.14
http://toro.2ch.net/test/read.cgi/tech/1326557705/927
ドワンゴのような零細に行っても結果は同じ
小さい会社に行けば社長の力が異常に強くなり
ワンマン経営に不満を持つようになる

http://toro.2ch.net/test/read.cgi/tech/1326557705/928
まったく発言できない?
気のせいだろうな。
むしろ技術を知らない奴が多い板で発言しようとすると
煙たがる奴が多く現れることがあるが。

まあ副業しながらやるのが幸せだな。
なおかつ孤独にも耐えられて。孤独に耐えられなければ独立起業も絶対に無理だから
>>926がもし孤独に耐えられるなら独立起業も1つの手だな。
10デフォルトの名無しさん:2012/02/20(月) 19:23:47.02
http://toro.2ch.net/test/read.cgi/tech/1326557705/930
> http://toro.2ch.net/test/read.cgi/tech/1326557705/925
>>大学で論理や数式を学んだ結果がこれだなんて、なんのために今まで勉強してきたのやら。
>>今の日本の情報教育は間違っていると思います。
>悪気は無いが… 君の発言は意訳すると「私は井戸から出たことなかった自信過剰な低脳蛙です」ってのが現実。
>思うに君は、学生時代は人一倍プログラミングできて周りに「凄いヤツ」ってチヤホヤされてたんでしょ。
>それでカンチガイしちゃった自信過剰なヤツが社会に出て1〜2年目、君と全く同じことを言って消える。

そんな奴なら俺の周りにもいくらでもいたが、今の925がそういう人間だとは限らないと思うぞ
振り回されたくなかったら、そういう固定観念も捨てた方がいいな。

> そんなことくらい学生時代に知っとけよ、ろくに業界研究もしないで就職決めたからそうなる。
就職先なんて、ここがいいと思っても採用されるとは限らない。まあ変な会社に入れば、変な会社でもそれなりになにかしら経験を積むことはできるだろう
11デフォルトの名無しさん:2012/02/20(月) 19:25:46.48
> 情報教育が間違ってるなんて苦しいイイワケしてても成長しないぜ。
お前がどれくらいの世代か知らないが、実際、大学によっては間違っていたり、古臭い教育をしているところもあるぞ。
俺が学生の頃の情報系学科は情報系なのに電気電子がメインだった。情報工学という分野があまりにも幅が広すぎて
学科ほとんど分裂していなかったので学ぶことが多すぎたといったところ
だから情報系学科を卒業しても、電気回路や電磁気学、デジタル信号処理や数値解析といった計算が得意でも
プログラミングがろくにできない奴ばかりなんてのは普通だった。そういう分野を活かせる企業もあることはあるがね

それが俺が卒業してからやっと情報系らしい学科になり
情報系内でも電気電子系に近い学科は、分離されて新しい学科がいくつもできた。よりソフトウェア工学に関連する学問
を学びやすい学科が生まれたということだな。

> 評価されないのはお前に自分が思ってるほど実力がないから、そこで評価される人間になっても嬉しくないってのは逃げでしかない。
> 君の得意な技術一筋の仕事しても、Excelでお上手に図書いてるそいつらにも勝てないよ君は、本質が何もみえちゃいないからな。

実力があっても評価されることがないなんて普通だよ。自分の得意分野と会社が求めている分野が初めて一致した時に初めて実力が評価される。
自分を会社に合わせるか、自分にあった会社を探すか、自分にあったビジネスを自分で生み出すか、の違いだ。
925がどう思っているかは知らないが。
12デフォルトの名無しさん:2012/02/20(月) 19:26:46.68
レス乞食乙
13デフォルトの名無しさん:2012/02/20(月) 19:36:12.18
http://toro.2ch.net/test/read.cgi/tech/1326557705/937
> http://toro.2ch.net/test/read.cgi/tech/1326557705/928
> いいですね。その日暮らしで生きていきたいものですが、家族が許してくれないという壁が大きいですね。
> 年金とか税金とか払えるのかって、生涯賃金しっかり稼げるのかって。

まず今の会社で200万くらい金を貯めたらどうだろうか。
ムカつくウザい上司や顧客や企業に立ち向かうためには金が必要だ
技術だかっても金がなければお前の才能を活かして反旗を翻すことすらできない。
まずは資金を集めろ。株にでも手を出して副収入を増やせ。
金を貯めたら独立して個人事業主でも企業でもすればいい。


> http://toro.2ch.net/test/read.cgi/tech/1326557705/930930
> はい自意識過剰です。Fラン大学を周りからちやほやされて上位3位で卒業しましたよ。
>
> でもそうやって育ててきたのはやっぱり学校だと思いますよ。
> 会社がほしい人材と学校の教育方針が思いっきりずれてるとよく言われてますし、
> パソコン学んだから仕事できるんだと言われても、

そこはうまいこと説得するんだな。大学が情報系だからといってPCに関しては何でも知っているだろう
なんて勘違いする奴がいて、いくらそれが間違っていると説明しても納得しない奴に俺も不満を持っていたが
理解する奴はちゃんと理解するぞ。自分は何が得意でなにがしたいか、何ができるかをアピールした方がいい。

> まったく未経験者だけど設計書書いてバッチ書いてる人もいますし。
> 結局、高校や大学で教ええるパソコンの知識なんて趣味でプログラム作るためのもので、
> 社会ではまったく役立たないとやっぱり思います。

そういう不満には誰もが直面することだが
たまたま大学で学んだ技術を活かせる機会がいまのところお前になかっただけだ。
14デフォルトの名無しさん:2012/02/20(月) 19:37:41.45
> 配属先の会社、部署までを入社前に調べられるのは内通者か企業スパイだけでしょ。
> 会社はインターンとか会社説明では現実をおもいっきりぼかしてる。

そういうこともあるが、
ネットで会社の情報をぐぐってもっと調べたりこっちから会社に質問して、他の会社と何が違うか問うなりしているか?

零細企業なんかぼかすのが当たり前だから、毎月誰かが入社してきてはたった3ヶ月ですぐに転職活動して他の
会社に転職するというくり返しがよくある。

> 業界研究なんてものは営業向けだけ、わかることはその会社の営業が客先にどうやって頭を下げているかしかないですよ。

> みんなだまされた気分になって、イヤイヤでやめるやめるって言いながら仕事やってくんでしょ。
そういう奴もいるが、そのまま主任になって年収があがっている奴もいるな。今は不景気だから給料がいまいちってだけだな。

> 1〜3年でやめる人間は職務経験者3年以上じゃないから社会的に別枠にされるだけで
> 5年でやめる人間も、10年でやめる人間も結局イヤだからやめただけ。
> ずっと続けてる人も嫌だけど何かしら吹っ切れるタイミングがないから続けてるだけかと。
>
> 配属先は2ヶ月弱なんで自分の評価は現状、可もなく不可もなくだと思いますし、
二ヶ月ならもっと粘れ。すくなくとも1年以上は。1年経ってから会社に対して直接不満や要望を口にしてみてはどうだろう。

> 社会人なんだから誰かが「すごいね」なんていって褒めてくれるわけないですし、

褒められるためだけに働くのはどうかと思うぞ。
15デフォルトの名無しさん:2012/02/20(月) 19:39:55.72
http://toro.2ch.net/test/read.cgi/tech/1326557705/941
> http://toro.2ch.net/test/read.cgi/tech/1326557705/937


> >私の将来像を描くなら、今の配属先で超絶ストレスたまりながらも
> >やめると言えずにグダグダグダ仕事を続けるって感じですかね。
> 羨まれるようないい会社だな、カスにも仕事くれんだから感謝して働け

お前は自分が働いている会社に感謝しているのか?


> >自分は成長したいとも思っていないのでショートカットキー覚えて少し効率が上がる程度、
> 一生コンビニでバイトでもしてろ
> お前にITは向いてない

一生コンビニで働くのがよいとは思わないが
一回くらいはそういうところではたらけばいい経験にはなると思うぞ
下手なプログラマーよりも金を稼げる
コンビニバイトを舐めてかかからんほうがいいぞw
16デフォルトの名無しさん:2012/02/20(月) 19:46:18.34
http://toro.2ch.net/test/read.cgi/tech/1326557705/967
>
> 一年未満の正社員で働く職場を間違えたなら、コンビニバイトを二週間で辞めるのと同じでさっさと辞めて他を探した方がいいんじゃないか。
> しかし日本で人材派遣登録や契約社員をやってるなら、スキルだ資格だ云々と意地になっても所詮年収300万程度なんだし、JAVA業界界隈では所詮ITドカタと後ろ指さされるレベルの負け組でしかない。
> Fラン大学ネタはもう飽きたけどせっかく大学卒業して年収300万程度の職場しか見つからないなら、ふがいない業界を選んだ自分について素直に諦めて日本型就業制度の歯車の一部(派遣コボラー)に染まっていく道もある。


だがそれをやると、もっと年収、いや収支が下がるかもしれないぞ
日本経済の現状がこの体たらくだからな
現民主党政権は腐敗しており、日本を社会主義国家にしようと画策している
そんな状況になればビジネスチャンスもますますやってこなくなり
社会保障制度を強化しすぎた結果、税収が増え収入も下がり、ビジネスチャンスも減った分、つまらない単調な人生を送るハメになる。

何か機転を利かせる必要があるということだな。
17デフォルトの名無しさん:2012/02/20(月) 19:47:44.86
とにかく、Facebookのマーク・ザッカーバーグを見習え!

そういうことだ
18デフォルトの名無しさん:2012/02/20(月) 19:56:23.23
荒すな
19デフォルトの名無しさん:2012/02/20(月) 21:03:46.11
さすがに長すぎて読む気がしないが、最後だけみるとネトウヨっぽい。

おそらくフジテレビのデモとかで騒いでるチャンネル桜とつるむ暴力団員が
シノギでjava土方やってると伺える。
20デフォルトの名無しさん:2012/02/20(月) 21:24:50.61
板違いもいい加減にしろ
21デフォルトの名無しさん:2012/02/20(月) 21:37:12.48
>>5
22デフォルトの名無しさん:2012/02/20(月) 23:01:03.55
こんな長いレス書ける奴が2人いるのは奇跡
よって自演
23デフォルトの名無しさん:2012/02/20(月) 23:11:59.37
Javaって本当に害虫のための言語だな。
Cへ進んだ人間は社会開発でエリートコースまっしぐらにサクセスストーリーを歩めるというのに
Javaへ落ちた奴は契約先の一流企業に寄生する害虫害虫って言われ続けて働きアリのように奴隷生活。

ほら、配属先の人間が呼んでるよ。「害虫さん」って。
24デフォルトの名無しさん:2012/02/20(月) 23:13:12.30
>>23
一方しか使えないなんてこと無いだろwww
25デフォルトの名無しさん:2012/02/20(月) 23:22:26.61
ArrayIndexOutOfBoundsExceptionはarrayの範囲を超えた参照、セット時に起きると認識していますが
それ以外で起こるケースはありますか?
26デフォルトの名無しさん:2012/02/20(月) 23:44:00.63
自分で throw すればいつでも起きる
27デフォルトの名無しさん:2012/02/20(月) 23:49:18.96
throwの内部処理ってどうなってんだ
2825:2012/02/20(月) 23:54:45.53
>>26
あー任意例外処理は、なしの方向で…
例えば、Int型のArrayでIntの範囲を超えた場合とか、そーゆーのでないですかね
29デフォルトの名無しさん:2012/02/20(月) 23:56:01.35
グローバル変数とgoto文で再現できそうではある
30デフォルトの名無しさん:2012/02/20(月) 23:59:00.98
煽りがいちいち突っ込みどころ満載なのはそういう様式美なの?
3125:2012/02/21(火) 00:17:24.49
ふむぅ
実は、とある関数をネットからコピペして使ってみたのですが
ArrayIndexOutOfBoundsExceptionが発生してしまうんです
発生しない事もあって、デバッガ起動するも配列要素が1000以上あって中身のValueを見る事すら困難な状況なのです
コピペした内容に間違いはなく、呼び出し方も問題ないです
で、ArrayIndexOutOfBoundsExceptionって配列範囲外参照時以外でも起きるのかなぁと思った訳です
関数内ではArray.lengthでfor文回してるので溢れる事はないと思っているってのもあります
32デフォルトの名無しさん:2012/02/21(火) 00:32:15.94
ソースコード貼り付けれ。
どうせつまんないバグだろうから。
33デフォルトの名無しさん:2012/02/21(火) 02:19:44.28
というか配列の前後にtry文入れてデバッグすれば一発なんじゃないの?
34デフォルトの名無しさん:2012/02/21(火) 02:31:01.95
というか配列の前後にtry文入れなくてもデバッグすれば一発なんだと思うよ
35デフォルトの名無しさん:2012/02/21(火) 04:30:12.84
>>25は仮想マシンのバグを発見したのだろう。
学会で発表すれば伝説の若き天才として名を残せるかもしれない。
36デフォルトの名無しさん:2012/02/21(火) 04:34:18.11
俺はjavaを使った事がないから、質問には答えられない。
37デフォルトの名無しさん:2012/02/21(火) 06:50:58.84
927 :デフォルトの名無しさん [↓] :2012/02/19(日) 20:39:58.84
ドワンゴとか入ればいいと思うよ。

928+1 :デフォルトの名無しさん [↓] :2012/02/19(日) 20:48:24.94
>>926
俺は日銭しか稼いで無いけど
年がら年中好きなプログラミングをやっているから幸せだよ。
でも凡人に俺のような生き方はおすすめできない。
俺ほど孤独に強くそして独創性の溢れる人間は少ないからな。
ちょっと独創性がありすぎてこの板で全く発言できない。
何故なら皆さんが凡人過ぎて可哀想だから。

954 :デフォルトの名無しさん [↓] :2012/02/20(月) 00:45:25.74
これで生き残れ
スマートフォンアプリを中心に売る
サーバーはクラウド VPSを借りる
電話はスマートフォンSkype
オフィスはコワーキングスペースを借りる
http://bit .ly/sHz1UU
または
地方にプレハブ型の格安高性能オフィスを建て(300万〜500万)
レンタル自習室&シェアオフィスで収入を得ながらそこでアプリを開発する
http://bit .ly/iLIpJa
http://bit .ly/m7nkew

967 :デフォルトの名無しさん [↓] :2012/02/20(月) 06:25:47.25
一年未満の正社員で働く職場を間違えたなら、コンビニバイトを二週間で辞めるのと同じでさっさと辞めて他を探した方がいいんじゃないか。
しかし日本で人材派遣登録や契約社員をやってるなら、スキルだ資格だ云々と意地になっても所詮年収300万程度なんだし、JAVA業界界隈では所詮ITドカタと後ろ指さされるレベルの負け組でしかない。
Fラン大学ネタはもう飽きたけどせっかく大学卒業して年収300万程度の職場しか見つからないなら、ふがいない業界を選んだ自分について素直に諦めて日本型就業制度の歯車の一部(派遣コボラー)に染まっていく道もある。

971 :デフォルトの名無しさん [↓] :2012/02/20(月) 09:21:30.58
ジャヴァなんてのは、英語出来ないと何も作れない割に万年ウインドウズにも勝てないんだし時給1100円でいいだろ
38デフォルトの名無しさん:2012/02/21(火) 09:55:31.86
javadoc見ればArrayIndexOutOfBoundsException投げるメソッド全部解るだろ
MIDIトラックのインデックス指定がこれ投げるシグネチャなのはどうかと思うが。

キャッチしたIndexOutOfBoundsExceptionが
ほんとはArrayIndexOutOfBoundsExceptionだったということもあるだろうな
39デフォルトの名無しさん:2012/02/21(火) 10:32:17.78
ライブラリ内でprintStackTrace()で表示して途切れてしまっているために
スタックトレースが自分のプログラムまでに及ばす原因を追求するのは難しい事がある。
しかも解決不能なんて事例がSwingのBoxViewやFlowView辺りでは存在する。
40デフォルトの名無しさん:2012/02/21(火) 10:44:23.95
訂正:printStackTraceを表示してるかしてないかは別として
例外を内部的にcatchして吐き出さないので、そこで途切れてしまっている。
41デフォルトの名無しさん:2012/02/21(火) 10:45:36.56
Servletで使うクラスのメンバ変数って
なんでfinalにする事が多いん?
42デフォルトの名無しさん:2012/02/21(火) 11:05:10.35
>>41
前スレでもこの質問あったな。
ちなみに「メンバ変数」じゃなくて「フィールド変数」。
(あるいは単に「フィールド」)

Servletオブジェクトはスレッド間で共通であることは知ってるかな?
そんな状況で非finalフィールドが存在したらどうなるかを考えてみよう。
(例えば、doGetメソッドでユーザから受け取った値をフィールドに設定したりしたらどうなるか)
4342:2012/02/21(火) 11:09:46.06
いや、確か仕様上は共通のServletオブジェクトを使わなくてもいいのか。
でも通常はアクセス毎とかセッション毎に専用のServletオブジェクトを使ったりしない。

あと、SingleThreadModelうんぬんと言い出す輩が居るかもしれないけど、これは忘れていい。
44デフォルトの名無しさん:2012/02/21(火) 11:23:29.59
>>42
えっ、それって普段privateにしてカプセル化してるけど。
4542:2012/02/21(火) 11:40:08.38
privateでカプセル化?
他のクラスからアクセスできないようにしたところで意味ないよ?

あー、もー、面倒だけど説明しよう。

Aさんがブラウザから値を入力するでしょ。
その値をフィールドに格納するでしょ。
そのあと、Bさんがブラウザから値を入力するでしょ。
で、その値をフィールドに格納したら、Aさんの入力した値は消えてしまう。
値が消えていいの?

いい場合もあるけど、それは少ない。
46デフォルトの名無しさん:2012/02/21(火) 12:11:38.88
知ったかはやめた方がいいぞ。間違ってるから。
4742:2012/02/21(火) 12:13:06.64
おや、どこが間違ってるか言えますかな?
48デフォルトの名無しさん:2012/02/21(火) 12:15:46.81
前提が間違っているから「全部」だ。
4942:2012/02/21(火) 12:16:14.54
ああ、そうですか。
それはよかったですね。
50デフォルトの名無しさん:2012/02/21(火) 12:16:41.47
厚顔無恥
51デフォルトの名無しさん:2012/02/21(火) 12:30:47.30
横からだけど、>>41の質問のどこに前提が書かれてるの?
52デフォルトの名無しさん:2012/02/21(火) 12:34:27.02
書かれてない前提をエスパーしろってことじゃね
53デフォルトの名無しさん:2012/02/21(火) 12:36:56.89
>>48 はエスパーできるなんてすごいね。
よく「間違ってる」なんて断言できるものだ。
54デフォルトの名無しさん:2012/02/21(火) 12:50:29.52
42は間違ってないよ
55デフォルトの名無しさん:2012/02/21(火) 12:59:41.34
どうも、フォローありがとうございます。

「カプセル化」とか言ってたけど、
こういうこと言いたいんですかね?

private int field;
public void setField(int field) {
 this.field = field;
}

public void doGet(HttpServletRequest request, HttpServletResponse response) {
 // field の値を参照する。設定はしない。
}

まあいいや、41はまだ質問があればしてくれればおk。
5648:2012/02/21(火) 13:04:48.72
すみません私が厚顔無恥でした半年ROMします
57デフォルトの名無しさん:2012/02/21(火) 14:04:02.20
string test = "test1"
string[] hairetu = new string{"test1","apple"}

配列の中に”test1”が入ってるかどうかを調べるメソッドってない?
58デフォルトの名無しさん:2012/02/21(火) 14:10:48.26
Arrays.asList(test).contains("test1")
59デフォルトの名無しさん:2012/02/21(火) 14:37:34.69
コピペの質問ばっかり
60デフォルトの名無しさん:2012/02/21(火) 15:11:19.01
メソッドを呼び出す感覚でオブジェクトを作ることに未だ慣れない
61デフォルトの名無しさん:2012/02/21(火) 15:21:49.77
じゃあstaticおじさんになればいいよ
62デフォルトの名無しさん:2012/02/21(火) 15:25:09.56
またはてなネタなんか出して…
63デフォルトの名無しさん:2012/02/21(火) 15:58:49.76
finalは固定値だと説明すればいいだけでは?w
おまけにカプセル化で他からアクセスできないってどんだけ笊セキュリティーなservletだよ。
64デフォルトの名無しさん:2012/02/21(火) 21:21:38.36
文字列をjava.sql.Timestamp型に変換するので悩んでいます。

String val = "2012-01-17 13:03";
Timestamp hogeTime = new Timestamp(new SimpleDateFormat("yyyy-MM-DD HH:mm").parse(val).getTime());

このロジックで、valに、
"2012-01-17 13:03"
"2012-02-17 03:01"
"2012-03-17 23:06"
"2012-12-17 02:07"
どれを入れても、月だけ「1月」になってしまいます。
年・日・時・分は正確に反映されるのですが。

何がダメですか?
65デフォルトの名無しさん:2012/02/21(火) 21:24:04.62
>>64
MMがダメなんじゃね
66デフォルトの名無しさん:2012/02/21(火) 22:14:13.95
>>64
DDがダメらしい
"2012-12-99 02:07"なら四月になる
67デフォルトの名無しさん:2012/02/21(火) 22:18:37.65
AWTでアプレット作成しているんですが、ある時からボタンやテキストフィールドの大きさや位置を変更しても全く反映されなくなりました。

どうしたら良いのでしょうか?お願いします。
68デフォルトの名無しさん:2012/02/21(火) 22:39:20.27
アプレットを作るのを辞める
69デフォルトの名無しさん:2012/02/21(火) 22:44:28.35
>>68
これは解決できない問題なのでしょうか?windows以外のOSで実行しても変化がありませんでした。
70デフォルトの名無しさん:2012/02/21(火) 22:56:38.14
これっていわれても
71デフォルトの名無しさん:2012/02/21(火) 23:22:52.12
>>64
どこからのコピペだよ。DDはやめてddにしとけ。
72デフォルトの名無しさん:2012/02/21(火) 23:27:13.79
ソースコードうぷれ。
どうせくだらないバグだろうから。
7325:2012/02/21(火) 23:30:04.35
>>32
private int[] rgb;
private int width, height;
byte[] data;

decodeYUV420SP(rgb, data, width, height);

上記が変数と呼び出し元です。
以下が呼び出し先
//YUV420 to BMP
static public void decodeYUV420SP(int[] rgb, byte[] yuv420sp, int width, int height) {
final int frameSize = width * height;

for (int j = 0, yp = 0; j < height; j++) {
int uvp = frameSize + (j >> 1) * width, u = 0, v = 0;
for (int i = 0; i < width; i++, yp++) {
int y = (0xff & ((int) yuv420sp[yp])) - 16;
if (y < 0) y = 0;
if ((i & 1) == 0) {
v = (0xff & yuv420sp[uvp++]) - 128;
u = (0xff & yuv420sp[uvp++]) - 128;
}
//続きます
7425:2012/02/21(火) 23:31:00.42

// >>73の続きです。

int y1192 = 1192 * y;
int r = (y1192 + 1634 * v);
int g = (y1192 - 833 * v - 400 * u);
int b = (y1192 + 2066 * u);

if (r < 0) r = 0; else if (r > 262143) r = 262143;
if (g < 0) g = 0; else if (g > 262143) g = 262143;
if (b < 0) b = 0; else if (b > 262143) b = 262143;

rgb[yp] = 0xff000000 | ((r << 6) & 0xff0000) | ((g >> 2) & 0xff00) | ((b >> 10) & 0xff);
}
}
}
75デフォルトの名無しさん:2012/02/21(火) 23:46:23.19
これだな。
ttps://groups.google.com/group/android-sdk-japan/browse_thread/thread/09f3545c7f7cfdac/018d2eb85fb9cb44?hl=ja

第二引数の配列のサイズ知りたいな。
第一引数は new int[width * height] でいいでしょ。
76デフォルトの名無しさん:2012/02/21(火) 23:52:02.50
あ、第三引数と第四引数の値も必要。

まとめると、
第一引数:width * height のサイズの int[] で良いか。
第二引数:byte[] のサイズ
第三引数:width の値
第四引数:height の値
7725:2012/02/22(水) 00:06:43.70
>>75
それです。

>>76
rgb:(id=829649929216)
yuv420sp:(id=829651570624)
width:854
height:480
となっていますが、
1,2個目は凄い長い配列になっていてコピーしきれませんでした…
78デフォルトの名無しさん:2012/02/22(水) 00:13:31.42
lengthを使ってるって話はどうなったんだ?
79デフォルトの名無しさん:2012/02/22(水) 00:13:58.35
rgb配列とyuv420sp配列は、idじゃなくてサイズを知りたいんだ。
よろしく。
8025:2012/02/22(水) 00:25:37.33
>>78
勘違いしていました。ごめんなさい…

>>79
rgbはwidth * heightの値です。
yuv420は[14, 14, 15, 15, 15, 16, 17, 18, 19, 19, 19, 20, 21, 21, 21,
と言う感じです…
81デフォルトの名無しさん:2012/02/22(水) 00:27:45.11
>>80
yuv420sp.length とやると、配列のサイズ取得できるよ。
ここが一番肝心なんだ・・・
8225:2012/02/22(水) 00:30:36.22
>>81
すいません。すいません。
460800でした。
83デフォルトの名無しさん:2012/02/22(水) 00:42:08.04
ええと、このコードは、
yuv420sp配列のサイズが width * height の 1.5倍必要だよ。
width:854, height:480 なら、854 * 480 * 1.5 = 614880 は必要。

int uvp = frameSize + (j >> 1) * width ってところあるでしょ。
これが width * height の1.5倍になる。

そのuvpの値を使用して、yuv420sp配列にアクセスしている。
v = (0xff & yuv420sp[uvp++]) - 128;
u = (0xff & yuv420sp[uvp++]) - 128;

YUV420というのを知らないけど、
yuv420sp配列のframeSizeバイト以降に、何か有用なデータがあるみたいですな。
8425:2012/02/22(水) 00:49:08.49
>>83
凄い親切に有難う御座いました。
まだまだ勉強不足ですが、少しずつ理解していきたいと思います。
ちなみに、以下は正常時(エラーにならない時)のケースです。
rgb:384000
yuv420sp:115200
width:480
height:800
85デフォルトの名無しさん:2012/02/22(水) 00:55:00.87
http://e-words.jp/w/YUV420.html
> 1ピクセル当たり12ビットのデータ量で色情報を表現する方式。
ほら、1バイト=8ビット の1.5倍の 12ビットが必要だ。

>>84
いや、こっちも勉強になりました。
なんでこんなところでレスしているかというと、勉強になるから。

>yuv420sp:115200
これじゃ足りないと思うけどな。
まあいいや。
86デフォルトの名無しさん:2012/02/22(水) 03:07:57.12
Windows環境を6u31から7u3にすると、.jarファイル名や.jarが存在するパスの一部にでも
全角文字があると起動出来なくなるようですが、これは新たな仕様?
87デフォルトの名無しさん:2012/02/22(水) 03:20:51.88
仕様
88デフォルトの名無しさん:2012/02/22(水) 08:02:13.18
>>72
うぷれ!うぷれ!
89デフォルトの名無しさん:2012/02/22(水) 09:46:58.99
修飾子finalの用途がわからない
final int の用に変数につけると、一度だけ決めるリテラル。のような物


しかしクラスにつけるとさっぱり。
final class Hoge

クラスにつけるfinal=Staticメソッドと同じような扱いと覚えればいい?
90デフォルトの名無しさん:2012/02/22(水) 09:52:55.06
調べればすぐわかることを調べないとは
91デフォルトの名無しさん:2012/02/22(水) 09:54:01.82
final classでググれ
92デフォルトの名無しさん:2012/02/22(水) 09:56:31.26
調べたら文字面は出てくるけど言ってる意味が分からないということだろ

・サブクラスで変更されたくないクラスやメソッドにつける
・不変オブジェクトを作るときに使う コンカレント実行に便利 (synchronized指定が必要ない)
・あとお勧めの用途があれば
93デフォルトの名無しさん:2012/02/22(水) 09:56:31.17
継承できない、オーバーライドできないのはしっていましたが

calss HogeMain{
p s v main(){

}
94デフォルトの名無しさん:2012/02/22(水) 10:02:31.60
継承できない、オーバーライドできないのはしっていましたが

calss HogeMain{
 p s v main(args){
  Hoge hg = new Hoge();
  hg.show();

  Hoge.show() ←finalとstaticメソッドにするとこう書ける
 }
}

final calss Hoge{
 static show(){
  print("HageHage");
 }
}

ってことなんで
95デフォルトの名無しさん:2012/02/22(水) 10:06:16.43
staticメソッドにするだけでそう書けるぜ
96デフォルトの名無しさん:2012/02/22(水) 10:09:21.75
p s v main(args){

って何のことですか?
97デフォルトの名無しさん:2012/02/22(水) 10:14:09.26
>>95
っていうか、普通に動くんだ
インスタンスを生成してから作れ!と覚えたから

new Hoge ○○ = new Hoge()
って作ってから
○○.method()って書くものだと思い込んでいた。

staticメソッドあたりはなんとなく分かっていたけどさ
98デフォルトの名無しさん:2012/02/22(水) 10:16:46.73
calss
99デフォルトの名無しさん:2012/02/22(水) 11:16:16.66
strutsで画面遷移を行う際、遷移元、呼び出されたActionのメソッド、遷移先画面をログを出力しようとしています。
Actionのメソッドと遷移先画面の情報は取れるのですが、遷移元画面の情報はどこかに格納されているのでしょうか。
ActionMapping.getInputForward()は遷移元画面以外に遷移する場合があるため使えません。

格納されていない場合には、hiddenなどで全画面にIDのようなものを持たせれば対応できますか?
100デフォルトの名無しさん:2012/02/22(水) 17:55:47.30
Appletのアプリを作成しています。
SwingでHTMLのTableみたいな表を作成して枠線を引くには何のコンポーネントを使ったら良いでしょうか?
もしくは他のパッケージで良いのがありましたら教えてください。
101デフォルトの名無しさん:2012/02/22(水) 19:18:13.69
JTable
102デフォルトの名無しさん:2012/02/22(水) 20:27:08.44
proguardguiで、inputに入れたjarは難読化とかされるんだけど
library jarsに入れたものは難読化されない
input jarから参照されているメソッドのみにしつつ、ライブラリも難読化したいのだけど
どうしたらいいの?
103デフォルトの名無しさん:2012/02/22(水) 20:32:06.17
知らないけど、
難読化したコードを読みやすくするツールとかもあるんじゃねーの?
104デフォルトの名無しさん:2012/02/22(水) 21:34:07.74
JFrameを閉じるメソッドってどれっすか?
105デフォルトの名無しさん:2012/02/22(水) 23:18:31.33
dispose
106デフォルトの名無しさん:2012/02/23(木) 01:00:17.41
GlassFishの質問てここでいいのかな。
107デフォルトの名無しさん:2012/02/23(木) 10:18:38.65
Consoleクラスって端末(コマンドプロンプト)から起動させないと
動作検証できないん?

javac java とか面倒なんで
Eclipse上で動作するならそれのがいいな〜っと
108デフォルトの名無しさん:2012/02/23(木) 14:03:31.82
うん
109デフォルトの名無しさん:2012/02/23(木) 17:21:59.58
アプレットからローカルファイル保存する魔法のクラスがあったら教えてください。
110デフォルトの名無しさん:2012/02/23(木) 19:00:32.54
>>109
署名付きでいけるがブラウザごとにやり方違うからアプレットじゃなくてJavaWebStart使うよろし
111デフォルトの名無しさん:2012/02/23(木) 19:34:45.90
JFrerChart使ってグラフ書いてるんだけど、その相談という質問も大丈夫ですか?
112デフォルトの名無しさん:2012/02/23(木) 20:45:38.78
JFreeChartは見たこと有るけど、一文字違いのそんなのも有るんだなあ。
113デフォルトの名無しさん:2012/02/23(木) 20:47:07.76
ところで皆ココ使ってる?
http://www.java2s.com/
114デフォルトの名無しさん:2012/02/23(木) 20:59:41.06
jfreechartってゴミみたいなディベロッパーズガイドを高額で売ってるよな
115デフォルトの名無しさん:2012/02/23(木) 21:15:57.72
すいません質問させてください

Windows上でjavaで他のアプリにキーイベント送る方法ってありませんか?
研究でユーザテストのためにキー操作を記憶して再生するみたいなことをしたいんですが
Robotを使えば押したことにするみたいなのはできるみたいなんですが
なぜかDirectXアプリに対してうまく動かなかったりするので…

DispatchEventを使うとできるってあったんですが
new KeyEvent() の引数に何を入れたらいいかどのコンポーネントで DispatchEvent を呼び出していいか分かりません

たとえば実行すると数秒後にデスクトップ上でメモ帳に文字うつようなソースサンプルを教えていただけないでしょうか

よろしくお願いします
116デフォルトの名無しさん:2012/02/23(木) 21:29:58.86
javaからjava以外には送れん
117デフォルトの名無しさん:2012/02/23(木) 21:35:39.80
>>116
そうなんですね…
返信ありがとうございました
118デフォルトの名無しさん:2012/02/23(木) 21:50:31.90
JNIで出来ないか?
119デフォルトの名無しさん:2012/02/23(木) 22:35:20.68
ユーストリームの広告がホップアップしてきたら自動で消すスクリプトの作り方を教えてください
120デフォルトの名無しさん:2012/02/23(木) 22:36:48.22
java.awt.Toolkit.getDefaultToolkit().createImage("ファイル名"))で得られたjava.awt.Imageインスタンスから
画像を保存するためにはどうするのが一番でしょうか?

javax.imageio.ImageIO.read()で読めというのはナシでお願いします
121120:2012/02/23(木) 22:46:42.93
すみません、質問変えます

http://www.tu.no/multimedia/archive/00168/illustration_110204_168127a.jpg
上記画像をjavax.imageio.ImageIO.read()で読み込んだ時、javaSE6, 7共に
java.lang.IllegalArgumentException: Numbers of source Raster bands and source color space components do not match
という例外が発生し、読み込むことが出来ませんでした

この画像を保存するために何か他に良い方法はないでしょうか?
122デフォルトの名無しさん:2012/02/23(木) 23:02:54.80
>>121
ブラウザでも表示できないんだけど。
> 画像ファイル "http://www.tu.no/multimedia/archive/00168/illustration_110204_168127a.jpg" は壊れているため、表示できませんでした。
123デフォルトの名無しさん:2012/02/23(木) 23:28:31.04
露出少女遊戯1〜6
F_72938 基本
124デフォルトの名無しさん:2012/02/23(木) 23:28:49.96
はい、書き込むスレ間違えました
http://anago.2ch.net/test/read.cgi/heaven4vip/1327228746/
125デフォルトの名無しさん:2012/02/23(木) 23:36:49.23
オレが落としに行くかどうか試す気だな!?
126120:2012/02/24(金) 03:17:13.05
>>122
私はsafari, firefox, chromeで表示を確認しました(内chromeでは正しく描画出来てませんでしたが)

http://regex.info/exif.cgi?imgurl=http%3A%2F%2Fwww.tu.no%2Fmultimedia%2Farchive%2F00168%2Fillustration_110204_168127a.jpg
上記ページでも分かるように、U.S. Web Coated (SWOP) v2というカラープロファイルを使っている為起こるようです
これに限らず妙なプロファイルを使っているとダメなようですね

ただのバイナリデータとしてOutputStreamとか使えばいけたので一応自己解決しましたが腑に落ちない感じです
127デフォルトの名無しさん:2012/02/24(金) 03:57:14.02
>>19
ネトウヨを連呼しているってことはお前は朝鮮人か

アホだろ、
チャンネル桜は暴力団を否定しているんだが
ヤクザの8割は、同和、朝鮮人、中国人という実体を知っている以上
彼らが暴力団とつるむわけがないしな

このバカは暴力団がウヨクだと思っているようだがあれはどう見ても左翼なんだが
「しのぎでJava土方」とかって、しかもこいつJavaアンチか
128デフォルトの名無しさん:2012/02/24(金) 03:59:09.84
>>23
まるでCが一流みたいな言い方だな
いまどきCだけで食っていける分野は組みこみくらいしかないぞ
これがJavaをなめてかかって痛い目にあった過去を忘れたバカの極みか
昔はJavaの仕事がなかったのに急にJavaの仕事が増えて
慌ててオブジェクト指向の勉強してデザインパターンって何だ?DIって何だ?とかあたふたしているレベルだろこいつw
129デフォルトの名無しさん:2012/02/24(金) 04:00:36.78
>>30
> 煽りがいちいち突っ込みどころ満載なのはそういう様式美なの?

煽り方がかなり時代遅れだからな
あのバカは数年前の思考回路で止まっているんだよ
だから煽りが突っ込みどころ満載になるw
130デフォルトの名無しさん:2012/02/24(金) 09:25:26.92
byte[]→Byte[]への変換は
配列の中身を1つずつbyte→Byte変換していくしかないのでしょうか?
131デフォルトの名無しさん:2012/02/24(金) 09:35:06.31
Commons Lang の ArrayUtils.toObject(byte[]) が使える。
132130:2012/02/24(金) 11:11:15.67
>>131
ありがとうございます。
133デフォルトの名無しさん:2012/02/24(金) 11:17:19.96
jniでキー送るのは前に回答した憶えがあるから根性で過去ログ探せば出てくるぞ
134デフォルトの名無しさん:2012/02/24(金) 12:27:01.14
>>45
> privateでカプセル化?
> 他のクラスからアクセスできないようにしたところで意味ないよ?
>
> あー、もー、面倒だけど説明しよう。
>
> Aさんがブラウザから値を入力するでしょ。
> その値をフィールドに格納するでしょ。
> そのあと、Bさんがブラウザから値を入力するでしょ。
> で、その値をフィールドに格納したら、Aさんの入力した値は消えてしまう。
> 値が消えていいの?
>
> いい場合もあるけど、それは少ない。

それってーそのフィールドを、ユーザー用のインスタンスに移せばいいのでは
135デフォルトの名無しさん:2012/02/24(金) 13:09:02.48
ちょっと自分でも判らなくなってきてしまったんだけど、たとえばdoGetの中で
Aというクラスをインスタンス化すると、Aのインスタンス変数はスレッド固有メモリ領域に入るって理解で良いんだよね?
ヒープ領域に入るのはHttpServletクラスを継承したインスタンスのインスタント変数って理解で合ってますよね?
136デフォルトの名無しさん:2012/02/24(金) 13:12:05.74
>>134
元の質問ちゃんと読んだ?
137デフォルトの名無しさん:2012/02/25(土) 00:38:19.68
>>135
全然違う。
138135:2012/02/25(土) 00:58:21.36
>>137
頭大丈夫ですか?
139デフォルトの名無しさん:2012/02/25(土) 01:30:17.29
>>133
ほ ほんとですか!?

でも過去ログ読めないんですけど…
もう1度教えてくれたりなんかしたら嬉しいななんて…
140137:2012/02/25(土) 01:31:51.77
>>138
全然理解してないキミこそ頭大丈夫?
141デフォルトの名無しさん:2012/02/25(土) 02:48:01.61
JNI使ってもDirectXのアプリケーションにキー送れたかな?Win32APIだけじゃ無理だったような…
142135:2012/02/25(土) 03:11:44.01
>>140
www(苦笑)
143デフォルトの名無しさん:2012/02/25(土) 07:07:53.08
テスト
144デフォルトの名無しさん:2012/02/25(土) 07:25:45.83
テスト
145デフォルトの名無しさん:2012/02/25(土) 07:43:28.68
>>135
勉強しなおした方がいいな。そこだけ納得したら先に進めるってレベルじゃないだろ。
146135:2012/02/25(土) 07:56:13.68
完璧だしwww
147デフォルトの名無しさん:2012/02/25(土) 07:58:12.58
い、インスタント変数?
148135:2012/02/25(土) 08:04:17.57
public void doGet(request, response) {
 A a = new A();
}

new A() で作成したインスタンスはヒープ領域に作成される。
そのインスタンスへの参照をローカル変数aに設定している。
ローカル変数はスレッド毎に固有のスタックに格納される。

HttpServletクラスを実装したクラスのインスタンスもヒープ領域に作成される。
これはTomcatが参照している。

なにか間違ってる?
149135:2012/02/25(土) 08:06:05.17
「Tomcat」は「サーブレットコンテナ」の間違い。
150デフォルトの名無しさん:2012/02/25(土) 12:39:50.34
addWindowListenerのwindowClosedを使って
クライアント終了時にウィンドウのサイズとか保存するようにしてるんですが、
実行中にエラーがあってもウィンドウがそのまま残ることがあって、
ウィンドウを閉じるとエラーを吐いたときのクライアントの情報が保存されてしまいます。

javaがエラーを出しているかどうか実行中のプログラムから知る方法はありますか?
151デフォルトの名無しさん:2012/02/25(土) 13:11:42.68
>>150
try catch
152デフォルトの名無しさん:2012/02/25(土) 13:23:04.14
a:bb:ccc の文字列があって、最初に":"が出現する場所の文字のみ(ここでは"a:")を取得したいんですが、
どういう風にすればいいのでしょうか。

Pattern pt = Pattern.compile(".*:");
Matcher mt = pt.matcher("a:bb:ccc");
if (mt.find()) {
  System.out.println(mt.group());
}

だと、"a:bb:"が表示され、最後に:がマッチしたところまで取得してしまうのです。。。
153デフォルトの名無しさん:2012/02/25(土) 13:54:39.92
String s = "a:bb:ccc";
int i = s.indexOf(':') + 1;
System.out.println(s.substring(0, i));
154135:2012/02/25(土) 14:02:55.77
>>152
正規表現のパターンを ".*?:" にすれば多分いけるよ。
やってみ?
155デフォルトの名無しさん:2012/02/25(土) 14:13:41.19
え
156デフォルトの名無しさん:2012/02/25(土) 14:31:40.23
>>153,154
ありがとうございます!
期待どおりに動作しました。
*と?と+の使い分けをよく理解できていませんでした。
ずっと悩んでいたので助かりました。
157デフォルトの名無しさん:2012/02/25(土) 15:22:44.41
添字5000を持った配列を1000個消して4000にしたいのですが、
そのような関数はありますでしょうか?
Array.lengthを4000にしたいです。
158デフォルトの名無しさん:2012/02/25(土) 15:31:22.87
javaは作法的に引数で渡されたオブジェクトのデータを変更したり無いですか?
159デフォルトの名無しさん:2012/02/25(土) 15:52:18.33
ヨコハマ語でおk
160135:2012/02/25(土) 15:55:46.67
>>157
java.util.Arrays.copyOfRange() か、Commons LangのArrayUtils.subarray()。
どっちもSystem.arraycopy()を使っているから高速。
161デフォルトの名無しさん:2012/02/25(土) 16:21:47.05
>>150
どこかで握りつぶされてなければ
Thread.UncaughtExceptionHandler使って取れると思う。
162デフォルトの名無しさん:2012/02/25(土) 19:02:18.83
>>159
Javaプログラマのトイズ
163デフォルトの名無しさん:2012/02/25(土) 21:42:21.51
僕のプログラム中に
if((a & b) != 0)という感じの記述が沢山あるのですが
もっと簡潔な書き方はないでしょうか?
164デフォルトの名無しさん:2012/02/25(土) 21:45:28.20
ビット演算結果で判定となるとなんとも
165デフォルトの名無しさん:2012/02/26(日) 01:46:50.02
なんでString#subSequenceってsubstringと同じと決まってるの?
CharSequenceでいいんだから文字列の中身コピーしないでラッパー返せばいいのに
166デフォルトの名無しさん:2012/02/26(日) 02:00:50.67
substringも実は中身のコピーはしてないよ
167デフォルトの名無しさん:2012/02/26(日) 10:47:53.77
>>150
すべてのリスナにtrycatch監視を記述するのは結構大変な作業になるので、
自作のEventQueueでイベントディスパッチャを置き換えるのが楽。
168デフォルトの名無しさん:2012/02/26(日) 11:04:34.04
>>163
if( ! (a == -1 && b == -1) )
169デフォルトの名無しさん:2012/02/26(日) 20:21:06.22
protected等のアクセス修飾子に関連して質問があります。
「同一パッケージ内のサブクラスのアクセスは許可するが、同一パッケージ内の他クラスからのアクセスは拒否したい」という事を宣言するアクセス修飾子はありますか?

つまり、下記3つのjavaファイルは全て同一パッケージ内だとして、
A.javaファイル
class A{
???? funcA();
}
B.javaファイル
class B extends A{
funcB(){
funcA();
}
}
C.javaファイル
class C {
void func(){
B b = new B();
b.funcA();
}
}
この状況で「classB内ではfuncA()にアクセスしたい」が、「bからはfuncA()を呼ばせたくない」んです。
この時、classA内のfuncA()のアクセス修飾子はどうすればいいでしょうか
170デフォルトの名無しさん:2012/02/26(日) 20:44:01.61
どうしてそういう状況になったかわからんがclassCをパッケージの外に出せないの?
もしくはそのパッケージの中にサブパッケージを作ってclassCを移動する。
それも嫌なら
class B extends A{
funcB(){
super.funcA();
}
@Override
void funcA(){ throw new UnsupportedOperationException();}
}
とするとか
171デフォルトの名無しさん:2012/02/26(日) 21:15:18.62
>>170
レスどうもありがとうございます。
なるほど、b.funcA()でアクセスした場合は例外を投げさせるわけですね。
そして本来ならclassCをパッケージの外に出すのが王道ということですね。勉強になります。

classCをパッケージの外に出せない理由は特にありません。あえて言えば私が初心者だからです。
一つのアプリを全部同じパッケージにまとめようと思っていましたが、改めた方が良さそうですね。

ちょっとパッケージとサブパッケージに関してぐぐって来ます。
どうもありがとうございました。
172135:2012/02/27(月) 03:32:39.73
>>171
> 本来ならclassCをパッケージの外に出すのが王道ということですね
>>170の言っていることを真に受けるなよ。

> どうしてそういう状況になったかわからんが
アホかよ。普通になるだろ。

> classCをパッケージの外に出せないの?
つーか、アクセス制限のためにパッケージ作るの?
class B のサブクラスが10個あったらすごいことになるよ?
発想がアホすぎる。

Javaの設計がおかしいんだよ。
Javaの設計自体が邪道。
公開範囲が無駄に広い。
C#とかKotlinとか、Javaより後発の言語はprotectedの公開範囲がサブクラスのみ。
Javaを使い続けるならこの公開制限の広さは甘受しなければならない。
173135:2012/02/27(月) 03:39:44.30
> class B のサブクラスが10個あったらすごいことになるよ?
> 発想がアホすぎる。
これ間違い。忘れて。
174デフォルトの名無しさん:2012/02/27(月) 07:25:49.40
この世からjavaが無くなればいいのに
175135:2012/02/27(月) 07:31:16.65
使わなきゃいいじゃん
176デフォルトの名無しさん:2012/02/27(月) 08:33:07.10
存在するから仕事で無理やり押し付けられることもある
177デフォルトの名無しさん:2012/02/27(月) 09:04:02.53
>Javaを使い続けるならこの公開制限の広さは甘受しなければならない
パッケージ構造を見直してプロテクトする手段があるのに、
享受しなければ「ならない」って
下っ端が頭カチコチにして鬱憤をぶちまけてるだけじゃん。何様だw
178135:2012/02/27(月) 09:58:31.56
クラスCとクラスA、Bの役割が異なる場合はそれでいい。
でもクラスCをクラスA、Bと同じパッケージに入れるのが自然な場合はどうすんの?
例えば、クラスCがA、BのFacadeとかの場合。

こんなのでいちいちパッケージ分けてたら、パッケージだらけになる。
センスないね。

あと、「享受」なんて一言も言ってない。
日本語通じてないのかな。
179デフォルトの名無しさん:2012/02/27(月) 10:36:25.56
頭硬い奴はプログラマやめた方がいいよ。邪魔だ。>>135
180135:2012/02/27(月) 10:46:18.43
>>179
お前だよwww
なんでいちいちJavaの欠陥のために不自然なパッケージ構成にしないといけないんだよwww
181デフォルトの名無しさん:2012/02/27(月) 10:51:16.36
>こんなのでいちいちパッケージ分けてたら、パッケージだらけになる。
センスないね。

そう短絡的に考えるのがセンス無いな。
こういう頭が固くて他人の仕事を邪魔ばかりしているお山の大将ってどこにでもいるんだよな。
この業界から出てけよ。


182デフォルトの名無しさん:2012/02/27(月) 10:56:54.22
>>180
おまえはjavaの欠陥を正すためにオラクルに乗り込んで銃乱射して捕まるのがお似合いだよ。
183135:2012/02/27(月) 11:01:50.28
はぁ???

com.example.hoge パッケージだけで済むのに、
com.example.hoge.sub パッケージ作ってそこにクラスC入れるの?
こんなことがある度にいちいちパッケージ2つ作んの?
馬鹿なの?死ぬの?
184135:2012/02/27(月) 11:03:12.67
こんなクラス構成にして他人の仕事する邪魔な奴は、
回線切って首吊った方がいいよ^^
185デフォルトの名無しさん:2012/02/27(月) 11:15:37.11
ユーティリティパッケージ com.hoge.utilを作ったとする。
135はcom.hoge.utilパッケージ内にビジネスロジックも書いちゃうのか?
ビジネスロジックは別のパッケージに書くのが当然だろ。

186デフォルトの名無しさん:2012/02/27(月) 11:22:31.76
>>183
これはヤバイw思わず笑っちまったぜwwどうしてくれんだw
187135:2012/02/27(月) 11:26:56.98
>>185
その通りだ。
その場合は、protedtedの可視性とか関係なしに、分けるべき。

しかし、最初の質問で困っているのは、
クラスA、B、Cが同一のパッケージにあるのが自然だからだ。

C#なら同じパッケージに入れれば済むものを、
Javaだと別パッケージに分けないといけないのかい?
protectedを使う度に。

>>186
君は頭悪いから理解できないだろうね。
188デフォルトの名無しさん:2012/02/27(月) 11:38:47.90
C#教信者は巣にカエレ(・∀・)シッシ
189デフォルトの名無しさん:2012/02/27(月) 11:40:24.12
まあ信用出来ない奴とは同じパッケージ作りたくないよな。
流行りのSCM使って同じパッケージを複数人で平行開発していく連中の手法には
正直オジサンついて行けないんだぜ…
190デフォルトの名無しさん:2012/02/27(月) 11:58:53.22
C++friend愛好家の救済策に過ぎないprotectedスコープに
なぜそこまで熱くなれるんだおまいら
191デフォルトの名無しさん:2012/02/27(月) 20:03:09.53
これからjavaとc++を勉強しようと思ってます
そこで質問なんですが、javaとc++ってどのあたりが違うのでしょうか?
注意点等あれば教えて下さい

また、どちらを先に勉強したほうがいい等のアドバイスもあれば
よろしくお願いします
192 ◆QZaw55cn4c :2012/02/27(月) 20:22:44.78
>>191
C++ は前身のCと同じくメモリ管理をきっちり行わなければならない。Java にはそれはない。
C の経験がある程度ある(malloc()/free()を自由に使いこなせる)のであれば、C++ も悪くはない。
そうでなければ Java で先にOOの概念を把握するのが(C++, Java の両方をマスターする希望をお持ちだったとしても)、近道だと思う。
193デフォルトの名無しさん:2012/02/27(月) 23:20:14.68
>>192

ありがとうございます
cは触ったことがあるくらいなので
javaを学んだ後に、c++を勉強します
194デフォルトの名無しさん:2012/02/28(火) 01:04:57.62
C言語はある程度わかるとして
JAVAを勉強しようと思うんだけど、Androidのアプリを作ることを目標としたときに
アプリを作りながらJAVAを覚えるか、JAVAをある程度勉強してアプリを制作するか
どちらのほうが効率が良いでしょうか。
一応、JAVAも継承・抽象クラスまでなんとか理解しているつもりです。
195デフォルトの名無しさん:2012/02/28(火) 01:05:08.31
Javaって実行時にも何行目でエラーおきましたって教えてくれるの親切ですよね
CやC++ってSegmentation Faylt とかCore Dumpedしかいってくれないんだもん…

まだプログラムはじめて3ヶ月の初心者コメですいません><
196デフォルトの名無しさん:2012/02/28(火) 10:27:10.41
男は黙ってアセンブラ
197デフォルトの名無しさん:2012/02/28(火) 13:32:04.28
>>195
うにくすで開発してますな。VC++とかBorland C++だと行番号教えてくれるよ。
198デフォルトの名無しさん:2012/02/28(火) 23:25:00.70
ByteArrayOutputStream()を使って書きだした情報を、

普段は .toByteArray() でbyte[] にしてから触っていたのですが、

.toByteArray()を使わずに ByteArrayOutputStream から直接 ByteArrayInputSreamなどに変換して
そこから読み込む事はできますか?
199デフォルトの名無しさん:2012/02/28(火) 23:45:19.25
なぜその質問をしたんですか?
200デフォルトの名無しさん:2012/02/28(火) 23:57:09.18
メモリが節約できるかなと思いまして
201デフォルトの名無しさん:2012/02/28(火) 23:58:44.83
思っただけですか?
202デフォルトの名無しさん:2012/02/29(水) 00:17:24.19
意味ない質問すんなよ
203デフォルトの名無しさん:2012/02/29(水) 00:18:41.80
>>195
gcc foo.c -Wall -g
gdb ./a.out
run
b main
c
bt
f #n
204デフォルトの名無しさん:2012/02/29(水) 00:37:05.45
>>198
そこで PipedInputStream と PipedOutputStream の連結ですよ
スレッド2ついるが、パイプサイズ意識しながら注意深くやればシングルでもブロックしないはず
205デフォルトの名無しさん:2012/02/29(水) 02:15:00.98
ByteArrayOutputStream(writeTo)
PipedOutputStream
PipedInputStream
ByteArrayInputStream
の順番でストリームが構成できるな。
206デフォルトの名無しさん:2012/02/29(水) 07:17:40.83
ロングタームのプロジェクトを開始する予定なのですが、
Javaは将来性まだありますか?
何かJavaの存在をおびやかすような言語ってありますか?
207デフォルトの名無しさん:2012/02/29(水) 08:25:03.47
>>206
どのくらい長いか知らんけど、
消えてしまう心配をするほど長いなら、Cにしとけばいいんじゃないの?
なんだかんだで、Cは生き残ると思うよ。
208デフォルトの名無しさん:2012/02/29(水) 10:43:49.44
>>206
まー、APIドキュメントその他の重要資料が永遠に公式邦訳されない覚悟は必要かもな。

Oracleは何考えてるのか知らんが、日本でだけJavaが廃れるシナリオはありうる。
若い世代の英語スキル次第だが。
209デフォルトの名無しさん:2012/02/29(水) 12:21:23.42
今時英語読めないプログラマーの男の人って…
210デフォルトの名無しさん:2012/02/29(水) 12:28:42.10
サンプルみりゃわかんでしょ。日本語どころか英語すら読まなくても
211デフォルトの名無しさん:2012/02/29(水) 13:12:27.36
>>206
ロングタームってどんくらいよ?100年だったら多分終わっている
212デフォルトの名無しさん:2012/02/29(水) 13:14:25.48
英語っつーても使ってる単語とか言いまわしなんか決まりきってるものが多いから日常会話に比べりゃ楽でしょうに
213デフォルトの名無しさん:2012/02/29(水) 14:27:52.10
チャレンジレスポンス認証というものに挑戦しようと思っているのですが
サーバ側で生成したチャレンジコードはセッション変数に保持するのが一般的ですか?
214デフォルトの名無しさん:2012/02/29(水) 14:34:14.45
百人単位でIT土方が出動するようなプロジェクトだと、
公式日本語ドキュメントの有無にこだわる立場の人も出てくると思う。
「日本語ドキュメント出るまでJDK7移行は見送り」
な判断がマネジャーから降りてくるのも普通にありえそうなんだが

「半年後にEOL迎えるJDK6も禁止」な現場も出てくるんだろうな。
どうすんだよこれ
215デフォルトの名無しさん:2012/02/29(水) 14:41:17.46
実際英語レベルってどれくらい必要なんだろうね?
どれくらい必要ですよって示されたことは未だかつて一度もないような気がする
216デフォルトの名無しさん:2012/02/29(水) 14:44:51.94
>>213 一般的というか常識的に考えてそうだろ。
217デフォルトの名無しさん:2012/02/29(水) 14:46:50.57
日本人の乞食が新聞読んでいて欧米人がビックリしたという逸話があるが。
今時英語も読めないドカタとか居るのかよ。
218デフォルトの名無しさん:2012/02/29(水) 14:56:34.22
読めないわけではない
読まないのだ
空気と同じである
219デフォルトの名無しさん:2012/02/29(水) 15:02:49.93
その逸話自体一種の識字率幻想だろ。
文科省は20年も調査してないのに識字率99%とかいまだにのたまってるんだから。
220デフォルトの名無しさん:2012/02/29(水) 15:02:57.25
日本の場合、プログラマって小学生並みの知能しか持ってない高卒だらけだろ?

英語読めませーんってなるんじゃないか?
いつまでStrutsの1系を使うの?っていう現状もあるし
221デフォルトの名無しさん:2012/02/29(水) 15:10:26.51
>>220
涸れた技術に固執しているのはむしろ上役だろ。
222デフォルトの名無しさん:2012/02/29(水) 15:44:45.58
どうせ技術用語は分かったような分からないような和訳になるか
カタカナ英語になるんだから、日本語だろうが英語だろうが大差ないw
223デフォルトの名無しさん:2012/02/29(水) 16:20:19.44
Swingアプリケーション内で「org.apache.http.HttpResponse」を使いたいのですが、
httpcore-4.0.jar、httpclient-4.0-beta2.jarなどのjarファイルはどこから入手できますでしょうか?
前にandroidアプリを作った時はjarファイルの指定なしにインポートできたので、AndroidSDKフォルダの
どこかに存在すると思うのですが、ファイル検索しても見つかりません。
224デフォルトの名無しさん:2012/02/29(水) 16:30:17.67
>>223
やりたいことはURLからjson文字列を取得してパースしたいです。
ネットで調べてもパーサーが沢山あってどれを使えば良いかわからないので
以前に使ったことのあるorg.apacheパッケージを使おうかと思っています。
デフォルトのパッケージで可能でしたらクラス名を教えてください。
225デフォルトの名無しさん:2012/02/29(水) 17:42:06.82
226デフォルトの名無しさん:2012/02/29(水) 19:00:54.74
private で static で final な int はどう定義すればいいですか?

private static final int hoge;
ですか?それとも
private final static int hoge;
でしょうか
227デフォルトの名無しさん:2012/02/29(水) 19:09:41.46
コンパイルエラーにならないからどっちでもいいんだろう。
掛け算の順序問題思い出したよ。
228デフォルトの名無しさん:2012/02/29(水) 20:25:42.80
後者が多い気がする。
229デフォルトの名無しさん:2012/02/29(水) 20:28:53.06
前者じゃないか?
230デフォルトの名無しさん:2012/02/29(水) 20:48:04.43
ホントどうでも良い
231デフォルトの名無しさん:2012/02/29(水) 21:19:24.32
>>226
Checkstyle導入している職場に放り込まれた時に備えて
static final の癖つけといたほうがいい。
232デフォルトの名無しさん:2012/02/29(水) 21:19:29.92
final staic だな
233デフォルトの名無しさん:2012/02/29(水) 22:07:21.69
推奨は private static final int hoge;
234 忍法帖【Lv=2,xxxP】 :2012/02/29(水) 22:08:39.04
コンストラクタのオーバーロードって意味あるのか分からん
235デフォルトの名無しさん:2012/02/29(水) 22:18:45.06
なぜ意味がないと思うのかわからん
コンストラクタは他のメソッドよりもむしろオーバーロードしたくなることが多いと思うんだけど
236長すぎるのでAA切っています(1/2):2012/02/29(水) 23:00:20.90
仕事でずっとVB.netやってましたが、私の職場では1ファイルにクラスは1つでその中にメソッド(プロシージャ)を5〜7個書くという構成が常で
構造化プログラミングに近かったのではないか?という不安がありました。継承とかもしたことありません。

今度別の職場でJavaを扱うので勉強しているのですが、参考までに、オブジェクト指向風に書く場合には、
.javaファイルの中身がこんな構造になったりしないのでしょうか? 


┌───────────────────────────────────┐
│class (500〜1000行)                                       │
│                                                   │
│メンバ変数                                            │
│アクセサ                                              │                                                   │
│┌─────────────────────────────────┐│
││ main()メソッド                                       ││
││                                                ││
││                                                ││
││                                                ││ 
│└─────────────────────────────────┘│
│┌─────────────────────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────────────────────┘│ 
237デフォルトの名無しさん:2012/02/29(水) 23:00:43.80
│┌─────────────────────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────────────────────┘│ 
│┌─────────────────────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────────────────────┘│ 
│┌─────────────────────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────────────────────┘│ 
│┌─────────────────────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────────────────────┘│
│┌─────────────────────────────────┐│ 
││ 関数                                             ││
││                                                ││ 
│└─────────────────────────────────┘│  
└───────────────────────────────────┘
238デフォルトの名無しさん:2012/02/29(水) 23:08:45.98
釣られないぞ
239デフォルトの名無しさん:2012/02/29(水) 23:34:56.83
半年前の俺のソースソノモノ
240デフォルトの名無しさん:2012/02/29(水) 23:35:51.17
そーっす
241236、237:2012/02/29(水) 23:39:16.90
すいません

釣りではないですが、Javaでオブジェクト指向をする場合、.javaファイルにクラスは基本1つでも
それでもメソッドの個数を少なくして、再利用などしやすくするのが普通なんでしょうか?
242デフォルトの名無しさん:2012/02/29(水) 23:41:58.16
図書館でもネットでもいいから
1時間x3日。計3時間ぐらい調べてから

ある程度下調べしてから質問・相談しような
243デフォルトの名無しさん:2012/02/29(水) 23:46:40.16
ある程度調べてきました
それで結局どのようなのが普通なのでしょうか?
244デフォルトの名無しさん:2012/02/29(水) 23:48:16.25
>>243は私ではありませんが、ただVB.net(とC#)でコード数年書いてきたのですが
実務でのオブジェクト指向で書かれたコーディングは見たことないのでできれば教えていただきたいです
245デフォルトの名無しさん:2012/02/29(水) 23:50:07.31
Javaでもそんなもんです
オープンソースプロジェクトの成果物でも読んでろ
246デフォルトの名無しさん:2012/02/29(水) 23:53:55.37
自分がわからない質問されるとすぐこれだ
247デフォルトの名無しさん:2012/02/29(水) 23:56:16.55
Javaも所詮ドカタ言語ですから
248デフォルトの名無しさん:2012/03/01(木) 00:01:22.75
>>241
すまんね、レスを跨って大胆にこられてたんで釣りかと思ったよ。
249デフォルトの名無しさん:2012/03/01(木) 00:11:28.02
>>245
>>248
ありがとうございました。

実務においては、再利用やカプセル化などは、クラスなどのオブジェクト指向の機能でやるより
関数化などで行うんですね
250デフォルトの名無しさん:2012/03/01(木) 00:13:09.40
はぁ?
251デフォルトの名無しさん:2012/03/01(木) 00:19:12.02
様式なんか気にすることはない実際にやってみれば自ずと解る。
VBができるからjavaも余裕綽々でできますと言っちゃった手前、
何か不安があるのかな?と勝手に想像してみた。
252デフォルトの名無しさん:2012/03/01(木) 01:10:15.20
質問に対して質問で返すとテスト0点なの知ってるか?マヌケ
253デフォルトの名無しさん:2012/03/01(木) 01:17:52.19
やっぱ釣りでしたかw
254デフォルトの名無しさん:2012/03/01(木) 02:32:13.26
>>252-253
自演乙
255デフォルトの名無しさん:2012/03/01(木) 07:26:51.65
そういう構造になるクラスもあればそうじゃないクラスになることもある
業務内容とクラスデザインによるし、職場での規約にもよる
でも一応デザインパターンくらいは知っといたほうがいいと思う
256デフォルトの名無しさん:2012/03/01(木) 12:17:00.86
メソッドを少なくするってのがわからんな。

ファイルあたりの行数を少なくしたいという話だろか?
アプリケーションだと、例えばJ2EEデザインだと
委譲を使うのが良くある。

委譲することでファイル内の行数を減らすけど、メソッドの数は減らないね。
JDKでもSwingコンポーネントとかたくさんメソッドもってる。

OSSのライブラリだと、1ファイルに3000行とか
1メソッドにスパゲッティみたいな汚い書き方したものもある。
257デフォルトの名無しさん:2012/03/01(木) 12:21:59.33
とりあえず外部から見えるpublic classには
javadoc書いて長くなることを考慮して
委譲を頻繁に使ってみるのが良かろう。
258デフォルトの名無しさん:2012/03/01(木) 12:38:24.02
Commonsはソースコードが汚かったりするね。
なぜかというと、速度を追求しているから。
259デフォルトの名無しさん:2012/03/01(木) 14:05:12.00
そうなんだ
260デフォルトの名無しさん:2012/03/01(木) 21:38:08.48
下記のようなソースがあった場合、スレッドのインスタンス変数である「t.test01」は
スレッドセーフではないと考えて良いでしょうか?
http://itpro.nikkeibp.co.jp/article/COLUMN/20070820/279950/」の記事を見ると
インスタンス変数はヒープ領域に格納されてスレッドセーフではないと書かれていますが、
run()の処理に対して安全に値を渡すにはどのようにすれば良いのでしょうか?


Test test = new Test("abcdefg");
Thread t = new Thread(test);
System.out.println(t.test01);

private class Test implements Runnable{
private String test01;
private Test(String abc){
this.test01 = abc;
}
public void run() {
System.out.println(this.test01);
}
}
261デフォルトの名無しさん:2012/03/01(木) 21:42:27.40
読んでるだけだから全く問題ない
スレッドセーフなんていうのはあくまでプログラマの意図通りに動作するかどうかという話で
これがスレッドセーフでなくてこうしたらスレッドセーフになるとかいうのは機械的に決まるもんじゃないよ
どういう動作を期待してるかによる
262デフォルトの名無しさん:2012/03/01(木) 21:45:28.42
せめてコンパイル通してから質問しに来てくれな
263デフォルトの名無しさん:2012/03/01(木) 21:50:56.05
ドキュメントに「このメソッドは○を×します」と書いてあって、それをマルチスレッドで同時に読んだら
正しくその通りに動作しない可能性があるなら、マルチスレッドでは正しく仕様を満たさないという意味で
「このメソッドはスレッドセーフではない」と言うんだよ
別にJVMがぶっ壊れたりするわけじゃなくて使い方の問題
264デフォルトの名無しさん:2012/03/01(木) 22:00:17.32
>>262
見辛くてすみません。

>>261
サーブレット開発怖いですねぇ。
265デフォルトの名無しさん:2012/03/01(木) 22:01:47.59
マジでThread関連はわけわからん

なんとなく理解できているけど、実際にSynchronizedの使い方とか
イミフすぎる
266デフォルトの名無しさん:2012/03/01(木) 22:16:09.68
馬鹿には無理
267デフォルトの名無しさん:2012/03/01(木) 22:20:08.45
馬鹿には無理さん久々に見たな
268デフォルトの名無しさん:2012/03/01(木) 22:20:55.33
>>260
>クラス変数とインスタンス変数は複数のスレッドに共有されているのでスレッドセーフではない
これ言葉がおかしいと思う
変数そのものにスレッドセーフもクソもないわ
269デフォルトの名無しさん:2012/03/01(木) 22:52:42.63
スレッドセーフとステートレス・ステートフルを混同してそうな気がする
270デフォルトの名無しさん:2012/03/01(木) 22:55:30.34
参照だけなら何も考えずに渡せる
更新するならロックかける
271デフォルトの名無しさん:2012/03/01(木) 23:00:00.15
スレッドセーフ:Synchronizedとかで同期処理(順番待ち)されている
ステートレス:ReadOnly(getterあるけどsetterがない)で同期処理なし。
272デフォルトの名無しさん:2012/03/01(木) 23:02:07.53
同期処理してなくてもスレッドセーフな場合は多いぞ
273デフォルトの名無しさん:2012/03/02(金) 00:52:03.26
別のところで取り入れたjarライブラリはどういったディレクトリ構成で配置すればいいのだろう
やはりMavenでinstallしてから配備?
274デフォルトの名無しさん:2012/03/02(金) 03:50:40.90
Javaで大量の文字列置換をしたいんですが、最も早い方法ってなんなんでしょうか?
扱う文字列や状況などにもよると思いますが、
そういった情報を公開しているサイトなどあればご教示下さい。
275デフォルトの名無しさん:2012/03/02(金) 03:52:58.26
>>1
java.util.regex
276デフォルトの名無しさん:2012/03/02(金) 04:01:45.80
最も早いのは正規表現を使うやり方。
最も速いのは正規表現を使わないやり方。
277デフォルトの名無しさん:2012/03/02(金) 04:38:05.38
JPanel box = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel image01 = new JPanel();
JPanel image02 = new JPanel();
JPanel image03 = new JPanel();
box.add(image01);
box.add(image02);
box.add(image03);

といったインスタンスを作成してboxパネルの中に複数の画像を並べています。
boxパネルの横幅を指定することで、自動でboxパネルの高さが計算されるようにできないでしょうか?
box.setPreferredSize()では高さまで指定しないといけないので、横幅のみ指定して、
高さはimage01〜image03が全て表示されるように自動調整して欲しいです。
278デフォルトの名無しさん:2012/03/02(金) 08:17:53.02
>>268
スレッド毎にスタックが分かれてるから
279デフォルトの名無しさん:2012/03/02(金) 09:50:55.82
>>278
クラス変数やインスタンス変数を使って、結果的にスレッドセーフでないコードが書けるだけ
変数がスレッドセーフってどういうことだよ
280デフォルトの名無しさん:2012/03/02(金) 10:23:31.24
>>279
お前は自分で考えることもできないのか
281280:2012/03/02(金) 10:24:37.73
ウソデス…
282デフォルトの名無しさん:2012/03/02(金) 10:32:08.70
>>279
スレッドごとに作成されて共有されていない変数はすなわち排他されているから。
283デフォルトの名無しさん:2012/03/02(金) 11:52:54.28
>>273
Maven使えるんならShadeで単一JARにまとめちまえよ。
同梱が許されるかどうかはライセンス次第だが
284デフォルトの名無しさん:2012/03/02(金) 12:31:17.37
>>277
setPrferredSize()の高さ指示に不満があるなら、
revalidate()しとけばいつかまたgetPreferredSize()で聞いてくるから
その時に希望サイズを伝えればいいよ。
285デフォルトの名無しさん:2012/03/02(金) 20:05:30.89
すみません。
プログラムのアルゴリズムの質問していいですか?
286デフォルトの名無しさん:2012/03/02(金) 20:19:41.88
質問していいかどうかという質問は Java に関する質問ではないと思うの
287デフォルトの名無しさん:2012/03/02(金) 21:45:35.46
org.apache.tools.zip.ZipOutputStream; を使ってエロ画像をZIPにしてみたのですが、
susileのzip解凍プラグインから開くことができません。

http://twitter.4mydomain.com/108.zip

このZIPファイルは壊れているのでしょうか?
LhaForgeからは解凍できましたので、壊れていないかJavaのZIPの仕様がおかしいのかなと
思ってるのですがどうなんでしょう?
288デフォルトの名無しさん:2012/03/02(金) 21:52:01.99
>>287
ちなみに中身は2次ブルマのエロ画像集です。
あとsusieのスペル間違えてました。
289デフォルトの名無しさん:2012/03/02(金) 22:37:51.42
>>285です。
自己解決しました。

>>287
テキストファイルをjavaから圧縮したものと
普通に圧縮したものをバイナリで比較したらいいんじゃないかな。
290デフォルトの名無しさん:2012/03/03(土) 00:42:04.10
>>236
>>237
関数を増やす感覚でクラスを切ったほうがいいと思う
一つの意味単位が1クラスになるって教えられた。
それだけ関数が多いのはやってることが多すぎると思うんだ
291デフォルトの名無しさん:2012/03/03(土) 00:45:07.45
1000行で関数6つって別に大きくはないだろ
292デフォルトの名無しさん:2012/03/03(土) 00:51:04.08
一つの意味単位が1クラスになるってどういうことですか?
293デフォルトの名無しさん:2012/03/03(土) 01:00:57.61
例えば「ソケット通信でネットから情報取ってくる、XMLから情報取り出す、情報をSQLiteに詰める」という処理があったとき

クラスを
・ソケット通信
・XML解釈
・SQLiteの処理

みたいに分けることだと考えてる(もっと細かく分けたほうが再利用が可能になる…と思う)。
上の処理を全部同じクラスでやったりとかいうのはJavaプログラマはしない・・・しないはずッ
294デフォルトの名無しさん:2012/03/03(土) 01:12:33.90
それはわかったが、>>236が多すぎるという根拠は?
>>293の挙げた各機能を実現するJavaの標準ライブラリのクラスが
どんだけのサイズで何個メソッド持ってると思ってんの?w
295デフォルトの名無しさん:2012/03/03(土) 01:22:51.33
>>294
あ?てか煽りみたいなレスやめろクソが死ね
まあ確かに500-1000行だとそこまで多くないか
296デフォルトの名無しさん:2012/03/03(土) 01:41:34.78
細かく分けたほうが再利用が可能になるというのは、5年程度の経験しかない者が設計したクラス・モジュールの場合どういった場面だと有用になるんですか?
297デフォルトの名無しさん:2012/03/03(土) 02:07:48.29
再利用が可能になる場面で有用になるんですよ
298デフォルトの名無しさん:2012/03/03(土) 03:09:54.70
おばあちゃんが包装紙とか一杯大事に保管してたりするだろ?あの感じ。
299デフォルトの名無しさん:2012/03/03(土) 05:15:49.77
配列内のデータ検索はbinarySearch()とわかったんですが
何番目から検索をはじめるというような命令はないでしょうか?
300デフォルトの名無しさん:2012/03/03(土) 09:14:30.99
>>299
ふつーにあるだろ?
Arrays#binarySearch(T array, int from, int to, T key)
301デフォルトの名無しさん:2012/03/03(土) 09:59:11.45
ああそれでいいですか、どうもです。
302デフォルトの名無しさん:2012/03/03(土) 13:54:50.94
>>287
zipのローカルファイルヘッダにCRC32、
圧縮サイズ、非圧縮サイズが設定されてる事を決めうちしてるとかじゃね?
仕様的にはそれらに全部ゼロを出力しておいて、
フッタ(データディスクリプタ)に記述してもOKなんだが、
レアケースなので対応してないソフトもたまにある。

susie使ってないから外してるかもしれんけど。
303デフォルトの名無しさん:2012/03/03(土) 14:19:45.78
iTextの日本語版のjavadocってないんですかね?
304デフォルトの名無しさん:2012/03/03(土) 16:11:37.06
>>303
多分ない。
iText使うつもりなら、いつの間にかライセンスがAGPLに変わってるから注意しろよー。
305デフォルトの名無しさん:2012/03/03(土) 17:14:41.42
設定用ファイルからパス情報を読み込ませたいのですが、
例えば、設定ファイルで
ProgramPath=C:\Prog\foo
という情報を java.util.Properties や FileReader#readLine を使った自作クラスで読み込ませると
\ がエスケープ文字として扱われて読み込まれるため、
「C:Progfoo」 として読み込まれてしまいます。

自作クラスで一文字ずつ読み取ってエスケープしないように取り込むものを作れば可能だとは思うのですが、
その方法以外に、エスケープしないように読み込ませるクラスがすでにあるとか、もっと簡単な方法はありますでしょうか。
306280:2012/03/03(土) 18:12:48.48
>>305
org.apache.commons.lang3.StringEscapeUtils.escapeJava(String)
307デフォルトの名無しさん:2012/03/03(土) 18:13:13.45
test
308デフォルトの名無しさん:2012/03/03(土) 18:17:01.39
大変だね
309305:2012/03/03(土) 18:33:26.43
>>306
ありがとうございます。

ただ、これだとString 型になっている文字列に対する escapeと unescape処理はできそうですが、
設定ファイルから読み込んで文字列に入れるときに \ が処理されてしまうのは対応できなそうです。
310デフォルトの名無しさん:2012/03/03(土) 18:39:09.86
>>309
String programPath = StringEscapeUtils.escapeJava(props.getProperty("ProgramPath"));
これじゃ駄目なの?
311デフォルトの名無しさん:2012/03/03(土) 18:43:26.16
ああ、\P が P になってるのか。
312デフォルトの名無しさん:2012/03/03(土) 18:58:52.33
そんくらい自作しろ。全部他人まかせだと知能が低くなるぞ。
313デフォルトの名無しさん:2012/03/03(土) 19:06:29.28
>>312
自作はできますけど、ファイルからパスのように\文字を含む文字列をエスケープなしで読み込むのって
そんなにレアな状況じゃないと思うので
もし自分のしらない一般的な方法があるなら知りたいなと思いまして。
314デフォルトの名無しさん:2012/03/03(土) 19:13:50.29
よくわからんけど replaceAll("\\","\\\\");でいいんじゃね?
315デフォルトの名無しさん:2012/03/03(土) 19:26:26.68
>>314
読み込むファイルに \Prog と書いてあると、
FileReaderやFileInputStream とProperties クラスで、その文字列を読み込んだ時には、
\マークなしの Prog という文字列になってしまうので、
その方法だと何も行われずに終わっちゃうんです。

\n みたいに文字列中で改行文字になっているとかなら、まだ置換でやりようがあるんですけれど
316デフォルトの名無しさん:2012/03/03(土) 19:32:32.99
プロパティファイルじゃないものをPropertiesクラスを使って読みたい
ってことだよいわせんなはずかしい
317デフォルトの名無しさん:2012/03/03(土) 19:35:01.48
何言ってるかさっぱりわからん。なぜ皆わかる?
318デフォルトの名無しさん:2012/03/03(土) 19:37:05.68
Properties クラスに食わせる InputStreamに、
\ を \\ に変換する独自の FilterInputStream を一段噛ませてやる
319デフォルトの名無しさん:2012/03/03(土) 20:10:05.62
>>317
いや、分かるだろ
320デフォルトの名無しさん:2012/03/03(土) 20:48:06.12
>>319
それでいけました。ありがとうございます。

InputStream に実装されている int read(byte[], int, int) で\ → \\ にするようにオーバーライドした
UnescapedFilteredFileInputStream を作って期待どおりの動作をしました。

他のみなさんもありがとうございます。

出来合いのクラスは無いものか・・・
321320:2012/03/03(土) 20:49:16.29
アンカミスった・・・318 さん宛にしたかった

>>318さん他 みなさんありがとうございます。
322デフォルトの名無しさん:2012/03/03(土) 21:07:48.52
えっ
ネタのつもりだったのにマジでそれ採用したのか
自前で読み込む方が簡単なんじゃ・・・まぁもう出来たんならいいか
323デフォルトの名無しさん:2012/03/03(土) 21:09:18.87
>>317
Properties とか使って楽しようとしたら、
\ を適当に処理をしちゃう仕様なのでどうすればいい?
って質問だろ。

\ を含む文字列を普通に FileReader とかで読みこんでやって、
プロパティ名と値を Map かなにかに入れていけいくって方法もあると思うけど、
Properties の storeToXML とか loadFromXMLとか、ちょっぴり便利だしな
324デフォルトの名無しさん:2012/03/03(土) 22:13:54.19
質問です。
javaの最新版(Version 6 Update 31)を公式HPから手に入れてインストールしようとしたのですが、
選択した機能は現在使用できないネットワークリソースにあります。
[OK]をクリックして再実行するか、インストールパッケージjre1.6.0_12.msiを含むフォルダに対する代替えパスを以下のボックスに入力します。
とでてインストールできなかったので、
C:\Users\(ユーザー名)\AppData\LocalLow\Sun\Java\jre1.6.0_12
を参照の欄にいれてもう一度実行したところ、今度は、
内部エラー 2753。 regutils.dll
と出て止まってしまいます。
そこで同じような質問が出てないか調べたところ、
Windows Installer Cleanupでjavaを完全にアンインストールしてから最新版をインストールすれば良いかもしれないとのことでしたので、
Windows Installer Cleanupを手に入れてアンインストールしようとしたのですが、一覧にjavaがなくアンインストールできません。
他のソフトも試しましたがダメでした。

どなたか詳しい方ご教授お願いします。
スレ違いでしたら誘導していただければ幸いです。
325デフォルトの名無しさん:2012/03/03(土) 23:11:01.14
http://www.oracle.com/technetwork/java/archive-139210.html
ここへ行ってJRE 1.6.0_12取ってきて再度インストール。
その後アンインストール。
まずはそれやってみ。
326デフォルトの名無しさん:2012/03/04(日) 00:29:22.44
SQL実行結果ってカラム名を元にArrayListに出来る?
SQLの実行後、実行結果をThreadに渡して後続の処理をしたいんだけど、
ThreadにresultSetを渡して、同時にResultSet回すとカーソルとかどうなるんだろ?←ここ基礎がよく分かってない
参照形とか恐いので、ArrayListにしてから渡した方が良いのかなーとか思った

↓SQL実行後、Thread起動!
for(int i = 0; i < 5; i++{
threads[i] = new Thread(new CountTable(resultSet))
threads[i].start();
}

↓Threadにするクラス
while(resultSet.next()){
String id = resultSet.getString("ID");
・・・
}
327324:2012/03/04(日) 00:35:34.81
>>325
無事に解決しました!
もう一度ちゃんとしたのをインストールし直したら良かったんですね…

実はこの方法は、2753のエラーが出る前の最初のエラーが出る前に一度試していたのですが、その時はうまくいきませんでした…
多分ご指摘頂かなければやり直してなかったです。
本当にありがとうございました。
328デフォルトの名無しさん:2012/03/04(日) 07:44:26.61
>>326
> ThreadにresultSetを渡して、同時にResultSet回すとカーソルとかどうなるんだろ?←ここ基礎がよく分かってない
> 参照形とか恐いので
分かってるじゃないか。
恐ろしいことになるよ。
カーソルは状態を持っているからね。

1回のSQLの実行結果を複数のスレッドで扱いたいなら、
メモリ上に展開するのが一番簡単だね。
データ量が膨大な場合はできないけど。
329デフォルトの名無しさん:2012/03/04(日) 07:57:38.47
あまり関係無いが、ResultSetはConnectionへの参照も保持しているから、
スレッド内でちゃんとResultSetを解放しないとコネクションが溜まりつづける。

330303:2012/03/04(日) 10:49:10.50
>>304
ありがとうございます
不勉強なの棚に上げるようだけど英語圏の人はその辺いいよなぁ
331デフォルトの名無しさん:2012/03/04(日) 11:41:48.55
トランザクションを開始したスレッド以外でコネクションいじくると
トランザクションが不正な状態になるかも。
332デフォルトの名無しさん:2012/03/04(日) 11:51:51.65
>>328
ありがとう
うーん100万件以上ありそうだから、どうしたものか
ArrayListに入れるなら、resultSet回さないとダメだよね
Threadの数分SQL叩くのもなー

while(resultSet.next()){
ArrayList.add(resultSet.getString("ID"));
・・・
}
333デフォルトの名無しさん:2012/03/04(日) 12:35:15.96
質問:O/Rマッパーで彼の抱えている問題を緩和できますか?
334デフォルトの名無しさん:2012/03/04(日) 14:04:26.13
DB内の大量データをスレッド使ってメモリに展開する書き方は見たことある
335デフォルトの名無しさん:2012/03/04(日) 14:24:17.18
ここの住民ってなんで初心者の質問はスルーしちゃうんですか
336デフォルトの名無しさん:2012/03/04(日) 14:38:41.16
初心者なら初心者なほど、何を言っているか分からないから?
337デフォルトの名無しさん:2012/03/04(日) 14:39:08.52
>>335

自分で解決する気がない奴にアドバイスしてもしょうがないだろ?
338デフォルトの名無しさん:2012/03/04(日) 14:43:16.62
通信待ちの非同期がしたいだけならResultSetを取得するもっと前、
JDBCの操作まるごとで1別スレッドにすればよいだけの話じゃないの?

マルチコアによる配列の高速化がしたいとかバカな話ならやめたほうがいい。
GUIやファイル、JDBCのカーソルなどメモリ以外のリソースは
シングルスレッドで扱うのが基本。
339デフォルトの名無しさん:2012/03/04(日) 15:16:57.15
>>335
答えの無い質問には答えようがないからじゃね
340デフォルトの名無しさん:2012/03/04(日) 17:16:51.60
質問です(´;ω;`)
デプロイファイルを作成すると、connection.xmlが出来ちゃうのですが、
どうすればいいでしょうか?
341デフォルトの名無しさん:2012/03/04(日) 17:39:49.97
StringBufferとBuilder
バッファーはスレッドセーフだけど
ビルダーはスレッドセーフじゃないよね?
342デフォルトの名無しさん:2012/03/04(日) 17:40:40.24
うん
343デフォルトの名無しさん:2012/03/04(日) 20:08:56.61
JavaWebStartでフリーソフト作って配布しようとしたらセキュリティの警告画面がでます。

「このアプリケーションには、危険である可能性のある、署名付きと署名なしのコンポーネント(コードやリソース)の
両方が含まれていることがわかりました。」

オレオレ証明書なるもので署名は行っているのですが、この警告をでないようにしてアプリケーションを配布するには
どうしたらよいでしょうか?
344デフォルトの名無しさん:2012/03/04(日) 20:19:42.80
ムリ
オレオレ証明書はオレオレ詐欺と同じで、それが安全だということを何ら証明できない
警告が出るのはセキュリティ上の観点からみて妥当
345デフォルトの名無しさん:2012/03/04(日) 20:27:00.02
>>343のメッセージは正規の証明書で署名すれば出なくなるのでしょうか?

また正規の証明書で署名するのに、無料や一番安く入手可能な場所を知ってましたら教えてください。
346デフォルトの名無しさん:2012/03/04(日) 20:53:02.86
ぐぐ
347デフォルトの名無しさん:2012/03/04(日) 21:45:13.67
>>166
String#substring、これに関して質問というか愚痴というか。

// java -Xms64m -Xmx64m MyClass
// 1000行、数百MBのテキストファイルについて、行頭2文字をリストに記録する。

try (BufferedReader r = new BufferedReader(new FileReader("big.txt"))) {
List<String> heads = new ArrayList<>();
for (String line; (line = r.readLine()) != null;) {
String head = line.substring(0, 2); // ← せっかくストリームで処理してるのに…。
heads.add(head);
}
}

Java7なんですが相変わらずです。

line.substring(0, 2) を、new String(line.substring(0, 2)) に変えれば
余裕で動きますが、「new String」は単なる冗長なコードに見えないのがアレです。

どうにかスマートに解決できませんかね?
348デフォルトの名無しさん:2012/03/04(日) 21:51:13.88
BufferedReader.readLine()!=nullとReader.ready()はループの終了判定で頻出ですがready()の使い道がよくわかりません。
どういうときに使うと違いがよくわかるんでしょうか?
349デフォルトの名無しさん:2012/03/04(日) 21:56:59.29
readyはネットワークでまだデータが来てないとか
コンソールでまだ文字が入力されてないとか
そういう使い道
350デフォルトの名無しさん:2012/03/04(日) 21:58:13.39
InputStream#available()に対応するのがReader#ready()
public boolean ready() { return 0 < in.available(); }
みたいな実装になってる。

ready() はチャットプログラムとかで文字列が読み込み可能状態になったかどうかの確認に使ったりする。
ready() は文字列ストリームの汎用の終了検出としては使えない。
351デフォルトの名無しさん:2012/03/04(日) 22:01:21.77
>>345
ちゃんとした証明書でも確認画面が表示されたように思う
Sunの署名の付いたデモがどっかにあった気がするので探して試してみるとか
格安の証明書とかは知らん
352デフォルトの名無しさん:2012/03/04(日) 22:19:31.64
while (r.ready()){ とすると運が悪いとブロックせずに処理をすぐ抜けちゃうんですよね。
非同期readのときの他スレッドへの確認用かなと思うんですが、あまり使ったことはありませんでした。
ready()をループ終了条件で使えないとすると、Readerの終了条件式は r.read()!=-1 or r.readLine()!=null だけしかないなんでしょうか。
353デフォルトの名無しさん:2012/03/04(日) 22:20:19.42
>>351
SUNに署名されたメモ帳などのデモがありましたが、確認画面なしで実行されました。

一番最初にダウンロードしたときに証明書を信頼するか確認画面がでるのは許容できるのですが、
>>343のメッセージは実行しないでくださいとズバリ出てくるため、一番最初に出てくる証明書の確認とは
また違ったものだと認識しています。

http://jp.globalsign.com/support/faq/427.html

このページをみると「全てのJarファイルに署名をすることで、警告を出ないようにすることができます。」と
書かれているのですが、オレオレ証明書での署名じゃ駄目なのでしょうか?
たかが趣味で作ったフリーソフトに数万円もだして署名する価値があるとも思えませんし、
安く回避できるなら方法を知りたいです。
年1万円程度で署名できる業者とかないでしょうか?グーグルで探した最安は5万くらいでしたので・・・
354デフォルトの名無しさん:2012/03/04(日) 22:27:45.03
セキュリティーはノルかソルかを自覚させることが目的なので、そういう中途半端なのは確かないはずですよ。
355デフォルトの名無しさん:2012/03/04(日) 23:04:33.02
たかが趣味で作ったフリーソフトなら「自己責任でお使いください」なんだから
警告が出るのが正しいんじゃないの
それが嫌なら Java Web Start じゃなくて直接 JAR 配布すればいい
356デフォルトの名無しさん:2012/03/05(月) 01:14:40.45
>>347って何が問題なの?
String head = line.substring(0, 2);
のままでも問題なく動くんだけど。
357デフォルトの名無しさん:2012/03/05(月) 01:14:49.02
JWSの問題は1.6.0_30以降で解決済みだろ?
358デフォルトの名無しさん:2012/03/05(月) 01:31:11.53
>>356
substringの標準の実装って、こんな感じなんだよ。

class String {
private int offset;
private int length;
private char[] chars ...

private String(offset, length, chars) {
this.offset = offset;
this.length = length;
this.chars = chars;
}
...

substring(begin, end) {
int offset = begin;
int length = end - begin;
return new String(offset, length, this.chars);
}
}

すごく長い文字列は、内部にすごく長いchars[]を持ってるんだが、
それを、offsetとlengthだけ書き換えて、そのまま使っちまうんだよ。
359デフォルトの名無しさん:2012/03/05(月) 01:44:47.68
>>358
そのまま使うと何か問題なんでしょうか?
メモリの節約で大変いいことかと。

String(int, int, char[]) は public/protected ではないので、
char[] を外側から変更できなくて、問題ないと思うんですが。
360デフォルトの名無しさん:2012/03/05(月) 01:50:33.05
そうかそうか。
節約になってないのか。
とっとと3文字目以降はメモリから除去したいのに、いつまでも残っていると。
出力の正しさにばっかり気を取られてた。
ありがとう。
361デフォルトの名無しさん:2012/03/05(月) 03:00:53.07
>>347
new Stringでラップするのってスマートじゃん?
javaプログラマは10数文字余計なものが増えたくらいでヘコタレナイぞ。
362デフォルトの名無しさん:2012/03/05(月) 03:11:38.12
internでもしとけば?
363デフォルトの名無しさん:2012/03/05(月) 06:00:03.45
JFaceでTableViewerの勉強しているのですが
特定のカラムだけ非表示にする実装方法はありますか?
364デフォルトの名無しさん:2012/03/05(月) 06:36:22.98
ありません
365デフォルトの名無しさん:2012/03/05(月) 08:17:19.11

顕正新聞 平成24年2月5日号「原発全廃特集号」

原発は日本を滅ぼす、即時全廃せよ
人のDNAを破壊、国土を居住不能にする
代替は天然ガス・コンバインドサイクルで十分
惨禍もたらすを知って推進するは犯罪

ttp://d.hatena.ne.jp/kensho01/20120208/1328718592
366デフォルトの名無しさん:2012/03/05(月) 08:42:37.35
JavaのStringって内部はchar[]なのですか。
Java内部ではUTF16BEだったと思うのですが、
UTF8のサロゲートペアの処理は問題ないのでしょうか。
上にあったsubstringの実装ではダメそうな匂いがします。
367デフォルトの名無しさん:2012/03/05(月) 08:58:35.77
国家公務員vs.会社員 給与差は?
R25 2012年3月4日(日)11:30
じつは公務員というのは「職業」ではなく「身分」で、法律によってさまざまな面で守られている。民間企業の社員のように、業績によって給与が大きく変動するわけではなく、リストラや解雇されることもほとんどない。
不況であろうと、つねにその身分が保障されているのが公務員というわけだ。そうした公務員の「身分」を「職業」にするのが公務員制度改革で、今回の国家公務員の給与引き下げはその第一歩。

http://news.goo.ne.jp/article/r25/life/r25-20120301-00022962.html
368デフォルトの名無しさん:2012/03/05(月) 09:42:39.78
>>366
UTF8のサロゲートペアって何
369デフォルトの名無しさん:2012/03/05(月) 09:46:23.44
>>366
Javaのcharは16ビット。
UTF8にサロゲートペアはない。
370デフォルトの名無しさん:2012/03/05(月) 10:14:35.60
Javaのバイトコードで使われる改変UTF8はUTF16のサロゲートペアそのままUTF8に変換するよな。

たぶん>>366の言ってるのとは関係ないけど。
371デフォルトの名無しさん:2012/03/05(月) 10:20:22.61
366です。
Unicodeでした。すみません。
charが16ビットということは、サロゲートペアは32ビットなのでchar2文字分になるかと思います。
この場合にString#length()やString#substring()は文字数と同じにはならないという認識であっていますか?

372デフォルトの名無しさん:2012/03/05(月) 10:29:52.51
>>371
Yes
「Java サロゲートペア」でぐぐれ。
373デフォルトの名無しさん:2012/03/05(月) 13:58:44.37
上位・下位サロゲートも無視して分断するし、結合文字も分断しやがる。
追加面とか結合文字はcharじゃ表現できないから、まあしょうがないんだが。

「��野家コピペ」

見えっかな。これとかJavaだとまともに扱えない。
374デフォルトの名無しさん:2012/03/05(月) 14:10:43.52
フォントレンダラの話までごっちゃにすんのはどうかと思うが。
375デフォルトの名無しさん:2012/03/05(月) 14:27:51.94
それをまともに扱える言語にどういったものがあるのか興味はあるが、スレ違いになってしまうだろうか
376デフォルトの名無しさん:2012/03/05(月) 14:59:10.18
結合文字をどう表示するかはフォントとレンダラの話かもしれんが、
「結合文字は単独の文字ではないよ、前の文字にくっつくよ」
というのは文字コードの話だろ。

こういうのネイティブに扱えるのは欧米製の言語じゃなく、
やっぱり日本で生まれた言語だろ、

と、一瞬Rubyが浮かんだが、あれは1文字1byteだったわ
377デフォルトの名無しさん:2012/03/05(月) 15:34:21.91
どうなって欲しいのかわからん。
System.out.println("\uD800\uDC00".length());
これが 1になれば満足なん?

文字とUnicodeのコードユニットの関係はN:M だから
1:1 な現行の char String#charAt(int) はダメ、
char[] String#charAt(int) にしても 1:N だから却下みたいな。
378デフォルトの名無しさん:2012/03/05(月) 16:10:07.89
たぶん Grapheme cluster を 1 文字として扱いたいんだろうな
そういうライブラリを作るのも不可能ではないと思うけれど
379デフォルトの名無しさん:2012/03/05(月) 16:24:17.82
>>364
そうですか
自力でテーブルを構築し直すしかないということですね
380デフォルトの名無しさん:2012/03/05(月) 17:20:46.99
>>378
日本語の場合、濁点半濁点は正規化すりゃ済むし、
サロゲートペアは標準ライブラリのサポートで十分じゃね?
381366:2012/03/05(月) 18:47:32.32
サロゲートペアの件については
java.text.BreakIteratorでどうにかできないかなーと思ってます。
見た目上1文字であるものを1として数える目的では使えそう?

StringUtil的なものにStringを戻すcharAtとかlengthとかsubstringを一度作れば
次からは使いまわし効くしと思うものの、正しい実装方法がわからなくて模索中です。
382デフォルトの名無しさん:2012/03/05(月) 19:25:56.64
猿芸当ペアなんてjava5で解決済みじゃなかったの?
383デフォルトの名無しさん:2012/03/05(月) 20:27:48.73
コードポイント数えるだけなら
String#codePointCount(int, int)

charAtに対応するcodePointAtもあるし
384デフォルトの名無しさん:2012/03/05(月) 22:14:45.93
SmileDownloader みたいな youtube保存ツールを
java+swing で作ってくれる神はいませんか?
385デフォルトの名無しさん:2012/03/05(月) 22:37:03.43
よしじゃあ作ってやるから待ってろよ
俺が作っててやるんだからこんなレス二度とせず出来上がるまでずっとロムってろよ
386デフォルトの名無しさん:2012/03/05(月) 22:56:17.19
adobe flashが死亡した後のflv,vp6はjavafx media的にはどうなるんだろうね。
387デフォルトの名無しさん:2012/03/05(月) 23:06:40.22
サーバーサイドに用意したJavaのプログラムからHTML5のコードを自動生成するような、ライブラリやフレームワークは無いのでしょうか?
イメージとしては、Echoフレームワークの進化版のようなもので、ブラウザへのプッシュ配信が可能なものが欲しいんです。
388デフォルトの名無しさん:2012/03/05(月) 23:21:06.19
誰か初心者スレ立てろ
389デフォルトの名無しさん:2012/03/05(月) 23:23:41.72
いらねえよ
390デフォルトの名無しさん:2012/03/05(月) 23:26:42.15
InputStreamで何バイト読み進めたかを取得したいのですがget関数はありますか?

readする時に自分で計算するしかないですか?
391デフォルトの名無しさん:2012/03/05(月) 23:40:44.71
sprintf(a,(const char*)h,o)
392デフォルトの名無しさん:2012/03/05(月) 23:57:14.34
>>390
read()とskip()盗み見てカウントするラッパーを作るのがスマートだろうね。
mark()をどうするかは用途次第。
FilterInputStream継承するのが楽かな
393デフォルトの名無しさん:2012/03/06(火) 00:03:57.36
>>390
無い。
394デフォルトの名無しさん:2012/03/06(火) 00:58:59.80
>>392-393
どうもありがとうございます
自前でラップするかなにか用意します
395デフォルトの名無しさん:2012/03/06(火) 01:28:13.87
JavaWebStartでSwingアプリケーションを作成しているのですが、ブラウザCookieのような
環境変数を保存するクラスはないでしょうか?
Cookieのクラスを探してもServletのCookieクラスしか見つかりません。
396デフォルトの名無しさん:2012/03/06(火) 03:54:48.88
ありません
397395:2012/03/06(火) 04:05:34.49
>>396
フザケンナ
398デフォルトの名無しさん:2012/03/06(火) 04:21:10.82
見つかりました。
Propatiesクラスでiniファイルを作成して対応できるそうですので、ローカルファイルいじれるようにしようと思います。
ありがとうございました。
399デフォルトの名無しさん:2012/03/06(火) 11:21:27.37
さっさと初心者スレ立てろや
400395:2012/03/06(火) 12:31:06.80
なんでお前のためだけにスレ立てないといけないんだ?
401デフォルトの名無しさん:2012/03/06(火) 12:34:33.53
>>400
お前のためだけじゃなくてお前用にだよバカ
402395:2012/03/06(火) 13:00:18.14
          (´・ω・`)
         /     `ヽ.   お薬増やしておきますねー
       __/  ┃)) __i |
      / ヽ,,⌒)___(,,ノ\
403デフォルトの名無しさん:2012/03/06(火) 14:00:22.20
ここが初心者スレじゃ
404デフォルトの名無しさん:2012/03/06(火) 14:10:48.01
ここは初心者スレじゃねえよ
395みたいなクソみたいな質問はめざわりだから消えろや
405デフォルトの名無しさん:2012/03/06(火) 14:48:58.07
お前が消えれば解決。
406395:2012/03/06(火) 14:57:56.26
自分が答えられない高度な質問がくるとこれだよwww( ´,_ゝ`)プッ
407デフォルトの名無しさん:2012/03/06(火) 15:10:40.53
>>395
javax.jnlp.PersistenceService
408デフォルトの名無しさん:2012/03/06(火) 17:11:41.63
他の人が作ったソースを見てて気にならないところがあります。
どう考えてもクラス名がおかしいのです。
そのクラスを使ってるものがあるので、クラス名の変更は出来ません。
こういうときって、クラスの名称変更目的で継承するのはありですか?
いわゆるエイリアスっていうやつです。
409デフォルトの名無しさん:2012/03/06(火) 17:24:12.22
ゆとり世代にはレイヤーに応じてゆとりの本分ってのがあるんですよ。
410デフォルトの名無しさん:2012/03/06(火) 17:34:30.21
気にならないところならいいんじゃね
継承した新しいクラスは既存のインスタンスは受けられないから代わりにならないと思うけど
411408:2012/03/06(火) 17:47:07.16
>>410
ナイスツッコミありがとうございます。
気に入らないって書いたつもりでした。

>継承した新しいクラスは既存のインスタンスは受けられないから代わりにならないと思うけど
なるほど。
既存のクラスは改変するつもりはなく、これから作成するクラスに対して使用したいので、
そのへんは大丈夫かなと思ってます。
しかしなんでこんな名前にしたんだろう・・・
プログラムで使用するデータを、
変換ルールによって他のデータにするconvertから始まる変換系のメソッドが詰まってるようですが、
class IroIroMethodって何orz
412デフォルトの名無しさん:2012/03/06(火) 17:56:48.80
うざい
413408:2012/03/06(火) 18:04:29.58
>>412
自己紹介ですか?
414408 ◆ZAgKuX9lgw :2012/03/06(火) 18:05:58.58
>>413は私ではないのであしからず・・・
415デフォルトの名無しさん:2012/03/06(火) 18:10:24.99
ちんぽ
416デフォルトの名無しさん:2012/03/06(火) 18:21:21.34
>>411
変更する必要は無い。2chにネタを提供して頂ければそれでOK
僕の職場にはこんな人が居ます
for(int i=0;i<array.length;i++){
if(i==n)return array[i];
}
417デフォルトの名無しさん:2012/03/06(火) 18:37:41.73
>>406
鼻糞さん乙です
418411:2012/03/06(火) 19:22:43.06
荒れてるし
今度からはC#のスレで質問します
Javaは民度がひくいな
419デフォルトの名無しさん:2012/03/06(火) 19:32:23.96
まんぽ
420デフォルトの名無しさん:2012/03/06(火) 19:33:33.56
はい。javaの質問はc#のスレでおねがいします
421デフォルトの名無しさん:2012/03/06(火) 21:57:22.59
>>386

applet で flvを再生できたら便利だと思うんですけど
もしかして、そういうappletってすでに存在しますかね?
422デフォルトの名無しさん:2012/03/06(火) 22:40:44.93
うん、存在する
423デフォルトの名無しさん:2012/03/06(火) 23:05:14.39
ありがとうございました
424デフォルトの名無しさん:2012/03/06(火) 23:10:06.20
AspectJってWebアプリに利用できるものですか?
425デフォルトの名無しさん:2012/03/06(火) 23:26:50.14
enumで下記の書き方は邪道ですか?
コンストラクタ経由のセットだと、引数増えたらその分
コンストラクタを宣言しないといけないなと思いまして。。。
あと下記の書き方だとコンパイル後にクラスファイルが
複数できるんですけど問題無いのでしょうか。
--
public enum HOGE {
FOO1 {
{
setMsg("FOO1");
}
},
F002 {
{
setMsg("FOO2");
}
},
;
    private String msg;
    public String getMsg() { return msg; }
    public void setMsg(String msg) { this.msg = msg; }
}
426デフォルトの名無しさん:2012/03/06(火) 23:35:11.71
publicだからだれでもいつでもメッセージを好きに変更できるわけだな
俺の見解としてはenumは定数で定数は変化してほしくないから、邪道とみなす
その書き方をすると FOO1 や F002 は HOGE を継承した別のクラスになるのでクラスファイルが複数できるのは問題ない
427デフォルトの名無しさん:2012/03/07(水) 09:02:20.36
可変データがあるならEnumMapに納めるかな。配列だから速いぞ
428デフォルトの名無しさん:2012/03/07(水) 12:50:10.74
さっきJavaをはじめてみましたのでお手柔らかにお願いします・・・。

「ハローワールド」と出力しようと思って組んでみたところ、

package hello;

public class Hello {
public static void main(String[] args){
System.out.println("Hello, world!");
}
}

という風になったのですが、
手元にある参考書では、

class Helloword { 〜〜〜

というように、classから書き始められていて、雛形が違うことに疑問を感じました。


みなさんが、ハローワールドという出力をするときには、
どのようなプログラムになりますか?
429デフォルトの名無しさん:2012/03/07(水) 13:07:57.78
echo ハローワールド
430デフォルトの名無しさん:2012/03/07(水) 13:14:11.31
息を吐く
アーと発音
舌を上あごにつける
オーと発音
口をしぼめる
アーと発音
舌を上あごにつける
ウと発音
ドと発音
431デフォルトの名無しさん:2012/03/07(水) 13:19:52.12
>>428
最初に package 宣言がない場合、そのクラスは、デフォルトパッケージというものに所属する
つまりデフォルトパッケージでよければ package 宣言を書かなくていい

プログラムが大きくなってきて複数のパッケージに分割するほどになったとき、
public な class は異なるパッケージから使うことができる
public でない class は異なるパッケージから使うことができない
という違いが生じる
つまりプログラムを複数のパッケージに分割するのでなければ、どっちでも一緒
432デフォルトの名無しさん:2012/03/07(水) 13:32:10.48
>>429
>>431

ありがとうございました!

433デフォルトの名無しさん:2012/03/07(水) 17:01:55.92
入門者向け教本を見れば書いてあるようなことをいちいち答えるな。雑魚が群がって荒れるだろ。
434395:2012/03/07(水) 17:09:21.36
>>433
雑魚は引っ込んでろ
435デフォルトの名無しさん:2012/03/07(水) 17:11:49.63
>>434
雑魚乙
436デフォルトの名無しさん:2012/03/07(水) 18:53:49.85
JDBCのドライバーを配置するディレクトリについて相談をさせてください

どこに置いています?
437デフォルトの名無しさん:2012/03/07(水) 20:15:54.57
まあ確かに初心者の質問は範囲が広すぎて答えに窮する事がある。
438デフォルトの名無しさん:2012/03/07(水) 20:16:36.38
>>436
スタンドアローンならプロジェクト\lib
Servletならプロジェクト\src\main\\webapp\WEB-INF\lib
リソース管理をAPサーバに任せるならAPサーバのlib
439デフォルトの名無しさん:2012/03/07(水) 21:14:23.27
POJOでAOPやるのに良いライブラリありますか?
440デフォルトの名無しさん:2012/03/07(水) 22:05:39.42
java.lang.reflect.Proxy でいいんじゃない?
441デフォルトの名無しさん:2012/03/07(水) 22:12:54.57
>>303でitextの質問した者です
itext使って一つのフォーマット作るのに700行くらい使ってしまう...
書き方が悪いのだろうと思うのですが、綺麗なコードはどのように努力すれば書けるようになるのでしょうか?
プログラミング言語は文法を覚えただけでは意味がないということを痛感しています
442デフォルトの名無しさん:2012/03/07(水) 22:16:30.41
itextってpdf作るやつだっけ?ライブラリに癖がありすぎて挫折した・・・。
443デフォルトの名無しさん:2012/03/07(水) 23:28:01.40
>>441
採用したiTextのバージョンと自分が書いたソース公開してみなよ。
そうすれば何が足りないのか指摘してくれる人が出て来るかもしれん。
上でも指摘されてるが、iTextはAGPLだから、金払って別のライセンスにしないと成果物とそのソースコードは全世界に公開する義務があるからな。

きれいなソースが書きたいなら自分が読んでわかりやすいと思えるソースをひたすら読め。
読む時はいきなり詳細を読むんじゃなくて大きな処理の流れとコード書いた人間の思想を読み取れ。
慣れればなんとかなるさ、頑張れ。
444デフォルトの名無しさん:2012/03/07(水) 23:37:16.40
ソースをひたすら読んだらプログラミング・スキルも自動的に上達するというのは都市伝説ですよ。
445デフォルトの名無しさん:2012/03/08(木) 01:39:24.87
>>438
わかりやすいレスthx
446デフォルトの名無しさん:2012/03/08(木) 07:56:27.38
>>444
同意
447デフォルトの名無しさん:2012/03/08(木) 13:35:11.93
ソースを読めとか思想云々いうやつは大抵知ったかの能無し。
Spring過去スレを参照せよ。

>iText
書き方についてはSwing(GUI)とかDOM(XML)の経験があればiTextのコツもわかるはず。
逆にiTextでコツをつかめばSwing(GUI)とかDOM(XML)で経験が生きるよ。

あとこういうJavaのコンポーネント系APIは冗長で、
GUIやXMLだとフレームワークとかもう一段高位のAPIが用意されているんだが、
そういうものがない場合は多少冗長というか力押しで済ませるのも仕方ないこと。
448デフォルトの名無しさん:2012/03/08(木) 21:40:20.08
ソースは書きまくれば上達する
コピペでなく、自分で変数名を変えただけでもいいから手打ちで

そうすれば初心者が躓く原因の
変数名とクラス・メソッドの違いを身体で覚えてきて
ソースが読めるようになって、理解力も理解速度も増す。
449デフォルトの名無しさん:2012/03/08(木) 22:41:39.39
.batファイルから実行してるプログラムをctrl+cすると、
Runtime.getRuntime().addShutdownHook()
でフックできる
でもEclipseのデバッガで終了ボタン(赤い■またはデバッグリストから右クリ>終了)を押すとフックできない
どうしたらctrl+cと同じ終了処理を行えますか?
450デフォルトの名無しさん:2012/03/08(木) 23:28:47.71
Javaを使ってウェブ上の画像を保存するプログラムを作っているのですが、一部画像が赤く保存されてしまいます。
たとえばライブドアの下記コード内の画像なのですが、ブラウザから保存したり、その他の画像については
色が正常に保存されるのですが、一部の画像のみ赤く変色してしまいます。
たぶん画像に問題があると思うのですが、この画像を正常に処理するにはどうしたら良いでしょうか?


String urlstr = "http://livedoor.3.blogimg.jp/sugumiru18/imgs/e/3/e3ac04ac.jpg";
String filename = "c:\\test.jpg";

BufferedImage im = null;
URL url = null;
HttpURLConnection http = null;
BufferedInputStream bis = null;

try {
url = new URL(urlstr);
http = (HttpURLConnection)url.openConnection();
http.setRequestMethod("GET");
http.setDoOutput(true);
http.connect();

bis = new BufferedInputStream( http.getInputStream() );
im = ImageIO.read( bis );
ImageIO.write((RenderedImage) im, "jpg", new File(filename));

} catch (IOException e) {
e.printStackTrace();
}

451デフォルトの名無しさん:2012/03/08(木) 23:34:40.92
>>450
この画像をブラウザから自分のローカルに保存して、ローカルにあるファイルをJavaで処理しても
処理後の画像が赤くなってしまうため、ライブドア側の問題ではなく画像フォーマットに何かあると考えています。
保存後のファイルサイズが265KBから120KBに減少するため、何かが削られている気がするのですが
それが判りません。
452120:2012/03/09(金) 00:41:48.79
>>451
ただ保存するだけなら俺みたいにImageIO使うの諦めて
new BufferedInputStream(new URL("画像URL").openStream())
とかしてそれをBufferedOutputStream使って書き込んでいった方が良いんじゃないかな
453デフォルトの名無しさん:2012/03/09(金) 00:52:03.58
元のJpeg画像にアルファチャンネル(透過色指定)が含まれているとJPEG保存が上手く行かない(赤くなる)との情報がありました。

http://natadea.wordpress.com/2008/08/24/java-imageio%E3%81%AE%E7%94%BB%E5%83%8F%E5%87%BA%E5%8A%9B%E3%81%A8colormodel%E3%81%A8%E3%81%AE%E9%96%A2%E4%BF%82/
http://technicalknowledge.moe.hm/Java.html#sec-1.6

次のコードで元画像のカラースペースを調べてみました。

bis = new BufferedInputStream( http.getInputStream() );
im = ImageIO.read( bis );
BufferedImage dest = new BufferedImage(im.getWidth(), im.getHeight(), BufferedImage.TYPE_INT_RGB);
ColorConvertOp conv = new ColorConvertOp(im.getColorModel().getColorSpace(),dest.getColorModel().getColorSpace(), null);
System.out.println( im.getColorModel().getColorSpace() );
System.out.println( dest.getColorModel().getColorSpace() );
conv.filter(im, dest);

出力結果:
java.awt.color.ICC_ColorSpace@17172ea
java.awt.color.ICC_ColorSpace@17172ea

元画像のカラースペースは透過色を含まないRGBのようなので、原因がわからず困っています。
454デフォルトの名無しさん:2012/03/09(金) 00:54:15.36
>>452
ありがとうございます。保存するだけではなく、実際にはImageIOで縮小処理を行ったりしますので
なるべくImageIOを使いたいです。
455デフォルトの名無しさん:2012/03/09(金) 01:27:37.61
ImageIO.read( file ) にフォーマット指定ができないでしょ。
で、このフォーマットはpngなんだよね。
ここでおかしくなってるはずだ。
456デフォルトの名無しさん:2012/03/09(金) 01:40:57.71
>>283
> >>273
> Maven使えるんならShadeで単一JARにまとめちまえよ。


いまはそういう時代なのか。

FatJarとかOneJarなんてもう時代遅れ?
457デフォルトの名無しさん:2012/03/09(金) 01:41:59.71
>>455
対象の元ファイルは怪しいですが多分Jpegです。
JpegAnalyzeなる物でJpeg情報を出力してみました。

==================リードできないJPEGファイル==================
Analyze Start. File name = e3ac04ac.jpg
File Size 271,808 bytes / Address (00000000-000425BF)
File Path C:\Documents and Settings\Administrator\デスクトップ\

Address Length Message
00000000 ****** SOI :Start Of Image ******
00000002 [0043] DQT :Define Quantization Table
00000006 QT0-8bit IJG輝度 画質80
00000047 [0043] DQT :Define Quantization Table
0000004B QT1-8bit IJG色差 画質80
0000008C [0011] SOF0 :Start Of Frame 0 - Baseline DCT
1000[0] x 710[2] pixel - 24bit color (YCbCr 4:4:4)
ComponentID-01 Y 1x1 QT0
ComponentID-02 Cb 1x1 QT1
ComponentID-03 Cr 1x1 QT1
458デフォルトの名無しさん:2012/03/09(金) 01:43:26.98
これを比べると怪しいJpegファイルには「00000002 [0010] APP0 :JPEG File Interchange Format Ver 1.1 (JFIF)」の
情報がないのが気になるのですが・・・このJpegファイルは何なのでしょうか?
ペイントやブラウザでは正常に開けるのですが。

==================正常なJPEGファイル==================
Analyze Start. File name = f977d28f.jpg
File Size 56,975 bytes / Address (00000000-0000DE8E)
File Path C:\Documents and Settings\Administrator\デスクトップ\

Address Length Message
00000000 ****** SOI :Start Of Image ******
00000002 [0010] APP0 :JPEG File Interchange Format Ver 1.1 (JFIF)
密度 72:72 dots/inch
00000014 [0043] DQT :Define Quantization Table
00000018 QT0-8bit IJG輝度 画質80
00000059 [0043] DQT :Define Quantization Table
0000005D QT1-8bit IJG色差 画質80
0000009E [0011] SOF0 :Start Of Frame 0 - Baseline DCT
523[5] x 600[0] pixel - 24bit color (YCbCr 4:4:4)
ComponentID-01 Y 1x1 QT0
ComponentID-02 Cb 1x1 QT1
ComponentID-03 Cr 1x1 QT1
459デフォルトの名無しさん:2012/03/09(金) 02:17:42.21
pngでImageIO.writeしたらどう?
460デフォルトの名無しさん:2012/03/09(金) 02:44:02.85
>>459
pngで出力しても駄目でした。

http://blog.suz-lab.com/2007/09/imageiojava.html

を参考にしてImageReaderのフォーマットを確認しましたが、JPEG用のImageReaderが選択されていました。
赤くなる他の画像をJpegAnalyzeで調べてみたのですが、>>457と同じくAPP0マーカーが存在しない
JPEG画像を読み込む時に上手くいかないと確認できました。
現在解決方法を探しているところです。ImageReaderのパラメーター指定で何とかできれば良いのですが・・・
461デフォルトの名無しさん:2012/03/09(金) 02:48:21.45
>>453
JavaのImageIOのバグだから
jpeg画像の場合は
Toolkit.getDefaultToolkit().getImage
使うといいよ
462120:2012/03/09(金) 02:50:58.34
>>461
そこで横から質問なんですけど、>>120分かりますかね?
463デフォルトの名無しさん:2012/03/09(金) 02:54:24.49
>>462
どれが一番か分からないけど
自分は出力にImageIO使ってるよ。
464デフォルトの名無しさん:2012/03/09(金) 03:01:19.71
>>461
やはりバグでしたかぁ。ImageIOから切り替える方向で検討してみます。
ありがとうございました。
465120:2012/03/09(金) 03:32:45.55
>>463
それはToolkit.getDefaultToolkit().getImage()で得たImageインスタンスをRenderedImageでキャスト
したものをImageIO.write()の第一引数に入れるという感じですか?
mac使ってるんですがなんかImageインスタンスがapple.awt.OSXImageとかいうのになって
そのキャストが出来なくて参っちゃってます…winやlinuxでは出来る感じなんですかね…
466デフォルトの名無しさん:2012/03/09(金) 04:33:35.78
自分はImageIOで上手くいかないときは
com.sun.image.codec.jpeg.JPEGCodec
を使ってます。できる確証はありませんが、一度試されてみたらどうですか?
467デフォルトの名無しさん:2012/03/09(金) 05:07:50.40
バグの場合は出来るのか同を判断するのに時間がかかるのはしかたない。
あまり人気がない機能とその組み合わせを使おうとするとバグがあったってことはよくある。
せっかく調べたんだからそのバグを再現可能にして調査結果をバグパラダイス(英語サイト)に報告するといいよ。
468デフォルトの名無しさん:2012/03/09(金) 05:19:51.85
awt.Image はMIMEのimage/x-java-imageという型で普通のjpg,pngなどとは別物で、ジャバ的に保存したいなら一度メモリに展開する方法による。
DataFlaver,ImageProducer,BufferedImage などいくつかあるけど、初心者だとどれも難しいんじゃないか。
469デフォルトの名無しさん:2012/03/09(金) 05:56:17.35
>>461
getImageで取得したImageをBufferdImageに変換して今までと同じ処理ができました。

http://www.metareal.org/2007/04/02/convert-awt-image-to-buffered-image-or-byte-array/

今まで赤くなっていた画像も保存できました。ありがとうございました。
470デフォルトの名無しさん:2012/03/09(金) 07:52:49.24
>>458
行儀のいいJPEGファイルと行儀が悪いJPEGファイルってだけ。
ImageIOは行儀の悪いファイルだと読めない場合が多い。
471デフォルトの名無しさん:2012/03/09(金) 15:13:12.78
Jnlpの起動警告ダイアログで、名前部分が文字化けしてしまいます。
jarファイル名もクラス名も半角アルファベットを使用しているのですが、この文字化け部分は
本来は何が表示されるのでしょうか?

http://www.kihuu.net/mojibake.jpg
472デフォルトの名無しさん:2012/03/09(金) 15:26:17.89
.jnlp の <title> の中身じゃない? たぶん
473120:2012/03/09(金) 15:28:51.87
>>466
ありがとうございます、下記のようにすることでうまくいきました
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(new URL("URL名").openStream());
ImageIO.write(decoder.decodeAsBufferedImage(), "jpg", new File("output.jpg"));

ただ、微妙に画像が劣化してしまいますね
JPEGEncodeParam#setQualityで品質1.0にしてJPEGImageEncoderで書き込んだ場合も劣化し、サイズも同じでした
カラープロファイルの壊れた画像の表示及び加工が必要な時は使いそうですね
474デフォルトの名無しさん:2012/03/09(金) 15:35:12.29
>>472
ありがとうございます。解決できました。
475デフォルトの名無しさん:2012/03/09(金) 23:24:41.17
String value = "あああ";
Cookie ck1 = new Cookie("id",value);
ck1.setMaxAge(60 * 60 * 24 * 7);
response.addCookie(ck1);
jspで日本語をクッキーに入れるとサーブレットに変換できません
476デフォルトの名無しさん:2012/03/10(土) 01:26:02.47
へー
477デフォルトの名無しさん:2012/03/10(土) 10:33:10.26
>jspで日本語をクッキーに入れるとサーブレットに変換できません

じゃ、クッキー関係ないじゃん。
478デフォルトの名無しさん:2012/03/10(土) 10:38:51.60
>>475
URLEncoder とかでエンコード必須じゃなかったっけか?
479デフォルトの名無しさん:2012/03/10(土) 10:49:42.40
エスパーじゃないので、出たエラーを張ってくださいな。
480デフォルトの名無しさん:2012/03/10(土) 11:06:15.94
>>478さんそれ試してみます
481デフォルトの名無しさん:2012/03/10(土) 11:07:47.69
この程度のコード見て原因が分からないのってやっぱりJava知らない連中なんだろうな
エラー張らないと分からないなんてもうねバカかと
482デフォルトの名無しさん:2012/03/10(土) 12:27:05.15
いくらジャバを勉強しても馬鹿には無理
483デフォルトの名無しさん:2012/03/10(土) 12:31:03.78
馬鹿には無理さんジャバさんと同じ人だったんだな
484デフォルトの名無しさん:2012/03/10(土) 12:43:24.54
馬鹿には無理さんとかジャバさんとか一体誰のことだよw
485デフォルトの名無しさん:2012/03/10(土) 12:49:41.71
馬鹿には無理さんとジャバさんのことだよ
486デフォルトの名無しさん:2012/03/10(土) 13:27:22.48
馬鹿には無理さんはスクリプト、これは間違いない
きっとレン鯖からcronで定期実行されてる
487デフォルトの名無しさん:2012/03/10(土) 13:38:08.48
マルチスレッドで特定のスレッドに標準出力を占有させるにはどうすればいいのでしょうか
488デフォルトの名無しさん:2012/03/10(土) 13:40:49.28
他のスレッドで出力しなければいい
489デフォルトの名無しさん:2012/03/10(土) 13:53:37.64
呼び出し元スレッドをチェックするPrintStream作って
System.setOut()で差し替えるのはどうかな
490デフォルトの名無しさん:2012/03/10(土) 13:56:43.68
ありがとうございました。参考にします。
491デフォルトの名無しさん:2012/03/10(土) 15:52:53.80
log4jとかはスレッドセーフじゃないの?
492デフォルトの名無しさん:2012/03/10(土) 17:02:15.63
>>489
質問者じゃないが、なるほどな−。
感心したわ
493デフォルトの名無しさん:2012/03/10(土) 18:17:12.73
メソッドaに渡せる型をintとdoubleどちらでも可にしたいのですが
ご教授お願いします

public int a(int n){
return n;
}
public double a(double n){
return n;
}
494デフォルトの名無しさん:2012/03/10(土) 18:18:16.02
>>493
そのコードで何か困るのかい?
495デフォルトの名無しさん:2012/03/10(土) 19:58:27.16
C#と同じような間隔でこのようにコードを書いてみたんですが
こう書いてaにdouble型の値を渡したらエラーになってしまいます
496デフォルトの名無しさん:2012/03/10(土) 20:00:32.79
「エラーになってしまいます」だけでエラーの内容も書かないのは釣りなので気を付けてください
497デフォルトの名無しさん:2012/03/10(土) 20:09:57.62
>>496
全て>>481が悪い。
498デフォルトの名無しさん:2012/03/10(土) 20:55:33.84
説明 リソース パス ロケーション 型
型の不一致: int から double には変換できません
って出ます
499デフォルトの名無しさん:2012/03/10(土) 21:38:10.43
// 外部クラス
public class TestClass {
public void test(String[] str[]){
// 処理
}
}
------------------------------------
// mainから
String[] a = {"a","b"};
String[] b = {"c","d"};
String[] c = {"e","f"};
TestClass tc = new TestClass();
tc.test(a, b, c, d);
メソッドに可変引数で配列を渡したいのですがこのように書いたら
>型 TestClass のメソッド test(String[][]) は引数 (String[], String[], String[]], String[]) に適用できません
というエラーになります
どのように配列として引数を可変に渡せますか?
500デフォルトの名無しさん:2012/03/10(土) 22:03:02.75
>>499
JDK1.5以降なら public void test (String[]... str) { }
1.4以前なら諦める。
501デフォルトの名無しさん:2012/03/10(土) 22:09:32.86
>引数を可変に渡せますか?

その質問のフレーズの通り、可変長引数を使えよwwwwww

public void test(Strin[]... str){
処理
}
502デフォルトの名無しさん:2012/03/10(土) 22:15:21.83
>>500
出来ました
ありがとうございます
503デフォルトの名無しさん:2012/03/10(土) 22:16:31.71
>>501
String...strという書き方は
String str[]という書き方と同じという風にググって分かったので
配列のほうもそれでいけるのかなと思いました
504デフォルトの名無しさん:2012/03/10(土) 23:16:12.15
ここ読んで配列を使う気が失せました
こういうのは皆さんの中では常識でしょうか?
ttp://d.hatena.ne.jp/ryoasai/20110321/1300696942
505デフォルトの名無しさん:2012/03/10(土) 23:38:34.41
まともなプログラマなら知っているべき事柄
使う気が失せるというのはわからない
問題を把握してれば回避するのは容易
506デフォルトの名無しさん:2012/03/10(土) 23:38:37.58
馬鹿には無理
507デフォルトの名無しさん:2012/03/11(日) 00:01:51.07
SQLのResultSetで

SQLの結果の最大行(ROW)数を求めるメソッドってあるんですか?
getRowは違うみたいだし

・現在の構想
ResultSet rs
int colcount = 0
while(rs.next()){
 colcount++:
}
rs.beforeFirst()

データ処理
508デフォルトの名無しさん:2012/03/11(日) 00:08:14.63
数だけが欲しいなら最初からそういうクエリを投げる
SELECT count(*) FROM 〜
データを使うのならどのみちループ回すんだから自分で数えればいいと思うけど
スクロール可能なカーソルが使えればlastで最後に移動してgetRowすれば最後の行が得られるかもしれない
509デフォルトの名無しさん:2012/03/11(日) 00:18:55.59
>>504
[email protected] 職業プログラマーをしています。いつのまにかプログラマーの「定年」とよばれる年齢を過ぎてしまいましたが、まだまだ若手には負けられないぞということで、
世間ではプログラマーは忙しいわりに報酬の少ない報われない職業という意見もあるようですが、

2011-02-26 業務系のJavaプログラマーが知っておくべき10個のBad Partsとその対策
Java言語の使いにくい部分をいくつかピックアップしてみました。Java EEなどの業務系のアプリケーションプログラマーの視点で書いています

1.標準APIのチェック例外が扱いにくい
また、ScalaやGroovyなどの軽量言語を利用するのもよいと思います。現代的なアーキテクトであれば、実際に業務ロジックの開発を行うプログラマーが苦しまないように、適切なプログラミングモデルを標準化しておくことが大切だと思います。*4
2.リソースの解放処理の適切な記述が面倒
それから、現状、Javaプログラマーがとりえる対処としてもっと良いのはGroovyを併用することですね。
3.日付関連APIの使い勝手が悪い
また、Groovyだと以下のように簡単に文字列と相互変換できたり、計算できたりします。
4.特定の精度を保った金額計算が面倒
Groovyだと数値リテラルの最後にGという接尾辞をつけるだけで自動的にBigIntegerやBigDecimalを生成でき、後は普通に四則演算の記号を使って計算できます。

tad0tad0 2011/02/27 21:43 > BigDecimalを使った固定小数演算が面倒
ぜんぜん固定じゃないと思います。API(とくにsetScaleとか)とソースを読んでみてください。

ryoasairyoasai 2011/02/27 23:04 誤りをご指摘いただきありがとうございました。floatやdoubleを使った浮動小数演算に対して気軽に固定小数という表現をしてしまいましたが不正確な記述でしたね。表現を訂正しておきます。
510デフォルトの名無しさん:2012/03/11(日) 00:30:16.80
業務系のアプリって普通は MS-VB.NET で作るでしょ。
511デフォルトの名無しさん:2012/03/11(日) 03:31:48.00
http://www.javadb.jp/Code.sd?id=4


//標準出力に表示する
for(int i=0;i
{
System.out.println(files[i]);
}
}


こういったfor文を他所でも時折見かけるのですが、単に書き忘れているだけなんですか?
どうあってもエラーになってしまうんですけど、正しくはなんなんでしょうか。
512デフォルトの名無しさん:2012/03/11(日) 09:26:10.84
「&lt;」 と出力すべきとこを 「<」 出しちゃったんじゃないかとエスパー
513デフォルトの名無しさん:2012/03/11(日) 11:00:36.53
あるある・・・
でも普通、一度読み直せば気付くよな
書きっ放し確認しないんだろうか
514デフォルトの名無しさん:2012/03/11(日) 11:46:13.12
ソース表示したら↓と書いてあったぞ。
for(int i=0;i<files.length;i++)<br>

書いた内容表示させて確認しないのかよ・・・
515デフォルトの名無しさん:2012/03/11(日) 12:09:36.40

    /´  , -‐- 、.           /
.      i  /::::::::::  `''‐ 、..__,. ‐'´ヽ. /    大人は質問に答えたりしない
.      !  ,'::::::::::    、       ∨      それが基本だ
     |  i::::::::::  、 、`''ー---‐''´  ヽ
     |. l:::::::: /へ.\` ー---‐ ´/,.ヘ    そりゃあ・・・・かまわない
     │ \:::::::: _\\,   /∠_  |   おまえの質問に答えること
      |. /"ヽヽ:::==。=`,,   /=。==│    それ自体は容易い 簡単だ
      | { i⌒| |:::::` ー-‐'    .::.\-‐ ´│
    /|. l ト、|.|:::::: ー-‐ '   ::::::::::: l::-‐'.|   負けた時の処遇はこれこれこう
  /  | ヽ.._||::r':; -‐‐' r __::::::::::::: l ー、|    こういう施設に行き 何時間働き
_/    |   /l!:::/:: ー----------ー'--.|     食事は・・・・・・? 就寝時間は? 期限は・・・・?
.!     .|  ./ ::|::::::::::              |      そんな話はいくらでもできる
|     │./  ::|:::::::::::     =====     |\
|     |/   ::|:::::::::::::...          ,.イ  .!`  しかし 今 オレがそんな話を
|     |\   :`'' ‐- 、::_:.......   ,. ‐'´/|  │       仮にしたとしても
|    │ \   ::::::::::::::::::`~`''"::::::::/ .|    |   その真偽はどうする・・・・・・?
516デフォルトの名無しさん:2012/03/11(日) 12:51:26.38
>>514
いやそのくらい自力で補完しなきゃダメだ。
1+○=2の○の中はなんですか?ってくらい簡単だ。
517デフォルトの名無しさん:2012/03/11(日) 15:04:41.91
そりゃ簡単だけど
そんなことを言ってんじゃないでしょ
518511:2012/03/11(日) 15:18:03.01
ありがとうございました
519デフォルトの名無しさん:2012/03/11(日) 22:01:38.70
抽象クラスAとそのサブクラスBがあった場合、

Aのクラス名 変数 = new Bのクラス名

↑のは成立しませんよね?
520デフォルトの名無しさん:2012/03/11(日) 22:05:17.42
Bもabstractだったらね
521デフォルトの名無しさん:2012/03/11(日) 22:09:43.39
Aが抽象クラスでもBが具象クラスなら成立するってことですか?
初級者の質問で申し訳ないんですが、
抽象クラスはインスタンス化できないという設定と矛盾してませんか?
522519:2012/03/11(日) 22:21:05.74
Bもabstractだったら成立しませんと言っている
523522:2012/03/11(日) 22:21:51.90
間違えた、俺>>520
524デフォルトの名無しさん:2012/03/11(日) 22:24:11.39
抽象クラスはインスタンスが作れないわけじゃなくて継承しないとインスタンスが作れないクラス
それ以外は普通のクラスと特に変わらない
525デフォルトの名無しさん:2012/03/11(日) 22:30:18.65
new することがすなわちインスタンスを作るってことだ。
526デフォルトの名無しさん:2012/03/11(日) 22:56:34.29
会社入ったらまずはテストだってよく言うけど、
テストって具体的に何をどうやるの?

JUnit系って使われてる?
TPTPの方が多い?
527デフォルトの名無しさん:2012/03/11(日) 22:57:11.90
newの次のところがabstructでなければ型の指定のところがabstructでも問題無いってことですね
ありがとうございます
528デフォルトの名無しさん:2012/03/11(日) 22:59:27.86
>>527

変数の宣言は abstract class とか、更には interface であることが、問題ないどころか好まれる。
529デフォルトの名無しさん:2012/03/11(日) 23:04:31.01
>>528
そういう使い方をするんですね
持ってる参考書には書いてないみたいなので助かりました
530デフォルトの名無しさん:2012/03/11(日) 23:23:03.89
ところで初級者と初心者はどう違うんですか?
531デフォルトの名無しさん:2012/03/11(日) 23:32:40.89
ググれカス
自分で調べろカス
532デフォルトの名無しさん:2012/03/12(月) 17:56:09.42
実行しても上手くいかず、このコードの何処が間違っているのか分からないので、
恐縮ですがご教授お願いします


//二つの整数値を読み込んで加減乗除した値を表示
package 変数を使おう;

import java.util.Scanner;

public class ArithInt {

public static void main(String[] args){
Scanner stdIn = new Scanner(System.in);

System.out.println("xとyを加減乗除します。");

System.out.println("xの値"); //xの値の入力を促す
int x = stdIn.nextInt(); //xに整数値を読み込む

System.out.println("yの値"); //yの値の入力を促す
int y = stdIn.nextInt(); //yに整数値を読み込む

System.out.println("x + y = " + (x + y)); //x + yの値を表示
System.out.println("x - y = " + (x - y)); //x - yの値を表示
System.out.println("x * y = " + (x * y)); //x * yの値を表示
System.out.println("x / y = " + (x / y)); //x / yの値を表示(商)
System.out.println("x % y = " + (x % y)); //x % yの値を表示(剰余)
    }
}
533デフォルトの名無しさん:2012/03/12(月) 18:18:59.15
どんなエラー文章が出るのか読んだか?
534デフォルトの名無しさん:2012/03/12(月) 18:25:08.44
エラー文章は出ずに、実行結果として

xとyを加減乗除します。
xの値:7

が出るだけで、yの反映と、それ以降の演算結果が出ない状況です
535デフォルトの名無しさん:2012/03/12(月) 20:11:21.75
エンターキー押してないとかw
536デフォルトの名無しさん:2012/03/12(月) 20:37:53.31
質問です。
独自のIteratorを実装したいです。
Iteratorの仕様ってどこかにないですか?

#hasNext()でカーソルを進めてbooleanを返し、
#next()で現在のカーソルの値を読む、
という実装ならシンプルに作れるのですが……。

ArrayListなどの標準ライブラリを見ると、
#hasNext()では単純に次のデータがあるか返すだけ、何度呼び出してもok、
#next()では、次のデータを取得 → カーソルを進める → データを返す、
という実装になっています。

Javadocの#equals()のような明確な仕様が読みたいです。
ご存じの方いらっしゃいましたら教えてください。
537デフォルトの名無しさん:2012/03/12(月) 20:58:58.05
>>536
ListIterator の Javadoc は Iterator のより少し詳しい
英語だけど 7 の Javadoc は少し明確に書かれてるね
http://docs.oracle.com/javase/7/docs/api/java/util/ListIterator.html
> E next()
> Returns the next element in the list and advances the cursor position.
538デフォルトの名無しさん:2012/03/12(月) 21:20:07.46
>>537
> and advances the cursor position.
おー! ありがとうございます!!
ListIteratorではありますが明言されてましたか。
Java7ではじめて追記された仕様っぽいですね。

Iteratorでもやはり、標準ライブラリと同様の実装にした方が無難そうです。
助かりました、どもでした。
539デフォルトの名無しさん:2012/03/12(月) 21:59:55.84
仕事のJavaが苦痛で仕方ないのですが
何でこんなことしなければならないのでしょう
540デフォルトの名無しさん:2012/03/12(月) 22:10:38.20
>>539

今の会社を辞めて他の言語で食べてくスキルがないから
541デフォルトの名無しさん:2012/03/12(月) 22:10:38.49
>>539

今の会社を辞めて他の言語で食べてくスキルがないからじゃね?
542デフォルトの名無しさん:2012/03/12(月) 22:16:15.75
>>539
今の会社を辞めて無職になるのが怖いから
543デフォルトの名無しさん:2012/03/12(月) 23:13:52.37
jspでページング処理するのにネットで公開されている中で
何か良いカスタムタグはないでしょうか?
544デフォルトの名無しさん:2012/03/12(月) 23:34:10.86
>>539
男は黙ってアセンブラ
545デフォルトの名無しさん:2012/03/13(火) 00:11:02.56
>>539
お前は単なるオブジェクトに過ぎないから
546デフォルトの名無しさん:2012/03/13(火) 00:18:25.22
一定時間待つようなのってどうするのっと
547デフォルトの名無しさん:2012/03/13(火) 00:18:25.50
>>545
人間のインスタンスの一つじゃね?オブジェクトだとNewでどんどん増やせそう
548デフォルトの名無しさん:2012/03/13(火) 00:20:47.17
>>546
Thread.sleep
549デフォルトの名無しさん:2012/03/13(火) 00:23:00.81
>>548
やっぱrunTimeだっけ?を継承したクラスをnewして、.sleepしてThreadが終わるの待つ感じ?
550デフォルトの名無しさん:2012/03/13(火) 00:24:56.63
あれってインスタンス化しないと呼べないんだっけ?
551デフォルトの名無しさん:2012/03/13(火) 00:26:18.78
あれ、呼べるの?
552デフォルトの名無しさん:2012/03/13(火) 02:10:26.39
どうなの?
553デフォルトの名無しさん:2012/03/13(火) 02:19:05.62
お前ら自分で調べる気ゼロか
554デフォルトの名無しさん:2012/03/13(火) 03:31:41.29
Runtime経由で呼ぶsleepコマンドとかUNIX系でしか動かないぞ。

Threadのstaticメソッドでsleep(1000)とやれば1秒止まる。
555デフォルトの名無しさん:2012/03/13(火) 11:35:46.82
メソッド名の表記について質問です
Fooクラスにあるbarメソッドの表現として、「Foo#bar()」と「Foo.bar()」という
2つの記述をよく見かけますが、双方に何か内容的な違いはあるのでしょうか?
また、どちらの書き方が推奨されているなどあるのでしょうか?
556デフォルトの名無しさん:2012/03/13(火) 11:41:40.31
Foo#barはインスタンスメソッド
Foo::barはクラスメソッド

557デフォルトの名無しさん:2012/03/13(火) 11:47:18.40
>>555
# で区切るのは JavaDoc 由来らしい。
http://oshiete.goo.ne.jp/qa/1643715.html
Foo.bar() だとクラスメソッドにしか見えないし。

>>556
:: は C++ じゃない? Java で :: なんて使う?
558デフォルトの名無しさん:2012/03/13(火) 11:54:02.26
:: はもちろん ruby だろw
559デフォルトの名無しさん:2012/03/13(火) 12:53:27.55
>>557
Java8で foo::bar() でメソッドハンドル取れるようになる、らしい。

理由は知らんけど foo#bar() は完全にボツ、foo::bar() は議論の余地あり、らしい。
560デフォルトの名無しさん:2012/03/13(火) 12:58:33.01
Java言語仕様と被らないASCIIキャラとか、
あと「#」、バッククォート「`」ぐらいしかないよな。
「$」は各種識別子とかぶるんだよな?
561デフォルトの名無しさん:2012/03/13(火) 13:11:06.15
APL Symbol (U+2336 - U+237A)
あたりがJava言語に採用されるのも時間の問題かな。
Shift_JISプログラマーはさようなら
562デフォルトの名無しさん:2012/03/13(火) 13:25:03.88
->がいまのところ候補だけど => はどうなったの?
563デフォルトの名無しさん:2012/03/13(火) 13:32:44.96
シフトの差でボツとか? いや、本当のところは知らんけど。
564デフォルトの名無しさん:2012/03/13(火) 14:10:44.93
>>561
APLってユニコードに定義されてんのかよw

Javaの記号も追加面にまとめて定義してくれたらいいな。

予約語も1文字として、for := U+xxxx ; JAVA RESERVED WORD FOR LOOP
とか文字コード振ってくれると検索しやすくて助かるわ。
565デフォルトの名無しさん:2012/03/13(火) 14:40:38.57
>>559
前半と後半でまったく繋がらなくないか
566555:2012/03/13(火) 15:21:47.91
>>559
今ググったんですがその::については分かりませんでした
ソースとかありますかね?
567デフォルトの名無しさん:2012/03/13(火) 15:50:07.05
>>566
http://cr.openjdk.java.net/~briangoetz/lambda/lambda-state-4.html
の 8. Method references あたり。

foo#bar() は完全にボツってのは lambda-dev に流れてた。
http://old.nabble.com/updated-syntax-for-method-references-td33427523.html
568デフォルトの名無しさん:2012/03/13(火) 21:12:28.39
>>547
で、誰からも見向きされなくなったら人生終わっちゃうんですね。
569デフォルトの名無しさん:2012/03/13(火) 21:19:08.72
>>568
誰からも見向きされなくなる=被参照カウンタ0=次のGCの対象に
570デフォルトの名無しさん:2012/03/13(火) 21:23:11.54
社内ニート同士で参照しあえばいいんですね?
わかりm   
571デフォルトの名無しさん:2012/03/13(火) 21:33:33.12
>>570
それ、循環参照。
572デフォルトの名無しさん:2012/03/14(水) 00:10:17.71
>>554
おk、Threadを実装したstaticクラス作って、sleepさせてみる
d
573デフォルトの名無しさん:2012/03/14(水) 12:56:54.08
>>569
アスペ?
574デフォルトの名無しさん:2012/03/15(木) 04:26:07.96
netbeansでjarをまとめたいです
いい方法ありませんか?
575デフォルトの名無しさん:2012/03/15(木) 08:20:46.98
antの強力なワイルドカード記法で一カ所にガリガリとコピーしてまとめるか
上レスにあったmavenとshadeプラグインで自動化するか
576デフォルトの名無しさん:2012/03/18(日) 00:56:00.54
cd %~dp1
javac %~nx1
java %~n1
pause

こういうバッチファイルを作りました。
ファイルのD&Dや、ファイルを指定して実行から呼び出すとうまくいくのに、
Notepad++から実行すると、

>java Sample1
Exception in thread "main" java.lang.UnsupportedClassVersionError: Sample1 : Uns
upported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Sample1. Program will exit.

とエラーが出ます。
バッチでechoを使って引数を確認しましたが、Notepad++からの引数はたしかにファイルのフルパスを示しています。

何が違うのでしょうか。
全く理解できません。
教えていただけませんか?
577デフォルトの名無しさん:2012/03/18(日) 01:30:44.01
Notepad++ part2
http://anago.2ch.net/test/read.cgi/software/1290481435/l1n
ソフトウェア@2ch掲示板 >>576 bye.
578デフォルトの名無しさん:2012/03/18(日) 04:10:27.82
579577:2012/03/18(日) 07:46:47.91
cd /d %~dp1
580576:2012/03/18(日) 15:30:54.09
>>578-579
ありがとうございます。
そちらのURLを確認し、579さんの仰るようにcdのオプションを変更してみましたが依然としてあのエラーのままです。

/dはドライブを変更するときのオプションですよね?
%~dp1としてましたが、ドライブは変更しないので%~p1でも問題ありませんでした。

cdを実行したあとはちゃんとカレントディレクトリが変更されているのですが。。。
581デフォルトの名無しさん:2012/03/18(日) 15:45:35.18
>>580
>>577を無視するとかねーわ。お前は既にスレチだからあっち池って言われてるんだよ
582デフォルトの名無しさん:2012/03/18(日) 15:51:03.67
>>580
ドライブがひとつしかないなら兎も角、DVDでもなんでも、ついてるならカレントドライブ確認しろよ
583デフォルトの名無しさん:2012/03/18(日) 17:20:46.06
public main〜{
public int n;
n=1;
hoge(n);
system.print〜  //nが1になってしまう


static public void hoge(int n){
n=2;
}
}

nに2が入るように記述するにはどう書いたら良いでしょうか?
584デフォルトの名無しさん:2012/03/18(日) 17:21:24.08
public main〜{
public int n;
n=1;
hoge(n);
system.print〜  //nが1になってしまう


static public void hoge(int n){
n=2;
}
}

nに2が入るように記述するにはどう書いたら良いでしょうか?
585デフォルトの名無しさん:2012/03/18(日) 17:26:17.30
public main〜{
public int n;
n=1;
n=hoge();
system.print〜


static public int hoge(){
return 2;
}
}
586デフォルトの名無しさん:2012/03/18(日) 18:09:56.31
>>585
thx
587デフォルトの名無しさん:2012/03/18(日) 18:57:38.12
>>583
こうすればいいですよ
n=1;
hoge(n);
n=2;
588デフォルトの名無しさん:2012/03/18(日) 19:12:23.46
Exceptionって全部上位にthurowしていれば
Javaがうまいことやってくれるという認識であってます?
589デフォルトの名無しさん:2012/03/18(日) 19:15:07.34
うまいことっていうのが終了するっていう意味なら
590デフォルトの名無しさん:2012/03/18(日) 22:29:27.78
RuntimeExceptionの子孫クラスはキャッチするもしないも自由
しなければprintStackTraceを呼び出して後は強制終了する  この解釈で間違っていませんか?
例外について勉強しているのですがあいまいでして…… 例外処理はプログラミングで一番大事な所だと思うので完璧にしたいです。
591デフォルトの名無しさん:2012/03/18(日) 22:49:53.10
間違ってます。
592デフォルトの名無しさん:2012/03/18(日) 22:51:00.27
なにより姿勢も間違ってます。

本当に大事だと思い完璧にしたいのが本心なら
そのレベルで質問しようなどとは恥ずかしくて思えるはずがないからです。
593590:2012/03/18(日) 23:10:39.54
ありがとうございます 勉強し直します
594デフォルトの名無しさん:2012/03/18(日) 23:21:30.42
自分が答えられない質問はすぐこれだ
595デフォルトの名無しさん:2012/03/18(日) 23:32:12.75
他の言語使ってる人に訊きたいんだけど、
Javaのチェック例外ってどうなん?
てか他言語でチェック例外ってあんの?
596デフォルトの名無しさん:2012/03/18(日) 23:58:59.72
Javaのチェック例外は、本来チェック例外にするのが適切でない例外がチェック例外になってるものが多数ある
その反動でなんでもかんでも非チェック例外!っていう単純脳みそもたいがいだが
そういう風潮を作った張本人の一人がJavaであるのは残念なこと
もともとのコンセプト自体は悪くはない
597デフォルトの名無しさん:2012/03/19(月) 00:07:06.87
それからこちらは私見だが

例外の継承関係も失敗しているだろえ
例外(チェック例外)を特化させて非チェック例外を定義するのではなく
例外(非チェック例外)を特化させてチェック例外を定義すべきだった

チェックしなくていいのが特殊なのではなく
チェックしなきゃならないのが特殊だからだ
598デフォルトの名無しさん:2012/03/19(月) 00:43:15.32
チェック例外が活躍するのは、open ... closeを強制させるIO関係だと思ってるんだが、
結局、なんでプログラマがリソース管理しなきゃいけないんだよ、
管理はGCが「よしなに」やってくれるんだろ? って話になるよな

Java7のAutoCloseableもあくまで小手先の解決で、根本解決には至っていない、と思う
……実際にはめちゃくちゃ便利だがw

>>597
非チェック例外でも、
メソッド定義に「throws ArithmeticException, NullPointerException」とか、
ちゃんと非チェック例外も仕様化してるコードが好きだわ
599デフォルトの名無しさん:2012/03/19(月) 01:01:53.67
>>597
全てのメソッドは非チェック例外を投げられるから、
チェック例外をそのサブクラスにすると、チェック例外投げ放題だぜ
600デフォルトの名無しさん:2012/03/19(月) 07:04:22.10
>>597
function()throws Exception
なんて記述は頻出するしそうした方が便利だから、
こんなのはfunction()と省略できた方がいいやね。
601デフォルトの名無しさん:2012/03/19(月) 07:06:47.85
>>598
メモリ以外のリソースの管理までGCにやらせるのは滅多にないと思うが。
602デフォルトの名無しさん:2012/03/19(月) 07:07:52.04
>>600
例外連鎖使えば throws Exception する必要はかなり減る。
603デフォルトの名無しさん:2012/03/19(月) 11:03:37.64
いちいち宣言してたら
throws NullPointerException, IllegalArgumentException, IllegalMonitorStateException, IllegalStateException, IndexOutOfBoundsException, JMRuntimeException, NegativeArraySizeException, NoSuchElementException, SecurityException,
ただのアホでしょ
604デフォルトの名無しさん:2012/03/19(月) 11:22:52.87
そりゃ実行時例外を例に取ってる時点アホだな。
605デフォルトの名無しさん:2012/03/19(月) 12:19:11.37
誰一人として >>588 の質問に答えられる人材はいないのかよ。

誰もキャッチしない例外の運命を決めるのは
Thread#setUncaughtExceptionHandler()
に渡されるオブジェクトだからな。
606デフォルトの名無しさん:2012/03/19(月) 13:25:04.89
人材(笑)
607デフォルトの名無しさん:2012/03/19(月) 14:47:44.48
608デフォルトの名無しさん:2012/03/19(月) 14:52:19.17
例外がめんどくさいからRuntimeExceptionから派生するの投げるのばっかり
SQLのラッパーとかandroidのライブラリとか

catch(SQLEXception){
  throw new RuntimeException()
}

無茶苦茶になっとるわ
609デフォルトの名無しさん:2012/03/19(月) 15:05:55.59
>>588の答えになるか解らんが、大体合っている。
デバッグするときにスタックトレースが便利だからという理由。
各メソッドでcatchしちゃうとそこでトレースが途切れてしまう
だから
}catch(NullPointerException e){
 throw new Exception("アレが初期化されてません",e);
}catch(StackOverflowError e){
 throw new Exception("メモリ溢れちゃいいました",e);
}

なんてcatchしたものをわざわざ外に放り投げる事も多い。
最終的にはmainなどの根っこに近いところでキャッチして標準出力に書くなりロガーに書くなりする。
ロガーの扱いも一箇所にまとまって楽になる。
610デフォルトの名無しさん:2012/03/19(月) 15:18:35.02
>>598
GCでIOのclose()させるとどれだけ遅延するかわからんからな。
別のスレッドとかプロセスがopen()したいのにずっと待たせられる可能性が高い。
611デフォルトの名無しさん:2012/03/20(火) 07:21:01.13
ウィキ作った。
書くの手伝って。
http://goo.gl/PJhzp
612デフォルトの名無しさん:2012/03/20(火) 09:28:00.80
>>609
非検査例外をわざわざ検査例外に変換するとかねーよ。
613デフォルトの名無しさん:2012/03/20(火) 09:30:27.20
もちろん竜様ルールだ
誠の漢なら黙って従え
614デフォルトの名無しさん:2012/03/20(火) 11:59:48.85
変数にインスタンスではなくクラスの名前などクラスを識別できる程度の情報だけを持たせておいて、
その変数の中身を見てからそれを参考にインスタンスを作るような流れで定石の書き方ってありますか?
615デフォルトの名無しさん:2012/03/20(火) 12:03:01.23
ビルダーパターン?
ちょっと違うか
616デフォルトの名無しさん:2012/03/20(火) 12:06:13.53
あああああ変数の方がvoid *みたいな馬鹿げたことができないから
そんなこと誰もやらなかったのかw
あざーす
617デフォルトの名無しさん:2012/03/20(火) 12:44:26.28
>>612
ねーよって言う奴は浅墓。
例StackOverflowError
618デフォルトの名無しさん:2012/03/20(火) 12:51:43.26
まあ非検査例外に渡してなんら問題ないな。こまけぇこたいいんだよ。
catch(StackOverflowError e){
throw new RuntimeException("スタックオーバーフロー",e);
}
619デフォルトの名無しさん:2012/03/20(火) 12:51:54.56
>>617
ねーよ。
620デフォルトの名無しさん:2012/03/20(火) 12:55:00.90
ねーよじゃねーよ。
ある。
例ServletException
621デフォルトの名無しさん:2012/03/20(火) 12:56:07.26
どうすりゃビルドできる?
なんでクラスが見つからないんだ・・・

<project name="chapter6-exercise1" default="hoge" basedir=".">

<taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask">
<classpath id="class.path">
<fileset dir="C:\Users\aaa\Desktop\src" />
</classpath>
</taskdef>

<target name="hoge">
<dbunit driver="com.mysql.jdbc.Driver" url="jdbc:postgresql://localhost:5432/postgres" userid="postgres" password="password">
<export dest="export.xml" />
</dbunit>
</target>
</project>

BUILD FAILED
C:\Users\aaa\workspace\AntTest\build.xml:11: taskdef A class needed by class org.dbunit.ant.DbUnitTask cannot be found: org/slf4j/LoggerFactory
622デフォルトの名無しさん:2012/03/20(火) 12:56:24.50
ねーよ君はニートの俺よりできないのかよ。
623デフォルトの名無しさん:2012/03/20(火) 13:06:04.82
>>620
おい
624デフォルトの名無しさん:2012/03/20(火) 13:06:41.19
これだから日本のITはダメなんだ。それともお前もニートなのか?
625デフォルトの名無しさん:2012/03/20(火) 13:31:35.34
>>621はドライバーをmysqlからポストグレのに直しても駄目でした

ちなみにantです
626ニート:2012/03/20(火) 13:59:46.03
slf4jが無いって怒られてるんだからパスが通ってないだけじゃないの?
627デフォルトの名無しさん:2012/03/20(火) 14:11:29.25
じゃあoracleにしてみてください
ちなみにantです
628デフォルトの名無しさん:2012/03/20(火) 14:22:52.59
>>626

<taskdef name="dbunit" classname="org.dbunit.ant.DbUnitTask"/>
にすると

BUILD FAILED
C:\Users\aaa\workspace\DataBaseSample\build.xml:9: taskdef class org.dbunit.ant.DbUnitTask cannot be found

パスが通ってないんですかね
javaのクラスでは普通に参照できてるんですが・・・

dbunitってclasspathにdbunit.jarを追加するだけでいいんですよね?


>>627
お前は誰だ
629デフォルトの名無しさん:2012/03/20(火) 15:11:23.58
androidプログラムを始めたのですが
↓の解説を見てもバッファがいまいち理解できません・・・
http://www.javaroad.jp/java_io4.htm

01 conn = (HttpURLConnection)url.openConnection();
02 rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
03 line = rd.read(...)
04 処理A;
05 line = rd.read(...)
06 処理B;

のようなプログラムを書いたとき、
02行目の処理が終わった時点でそのURLのデータを全部取得してメモリに配置しているなら
取得したデータが別にBufferedReaderの参照先にあろうが
Stringの参照先にあろうが一緒の気がするんだけど違うんでしょうか
read(何文字)もsubstr(何文字目から何文字目)も一緒のような気がします
それとも一度readした部分はメモリから消されていくから効率的(?)なんでしょうか?
630デフォルトの名無しさん:2012/03/20(火) 15:19:51.47
>>629
>URLのデータを全部取得してメモリに配置しているなら
だうと
631デフォルトの名無しさん:2012/03/20(火) 15:20:09.15
getInputStream の時点でデータを全部取得してメモリに配置しているのならそうかもしれないが
実際は違う
632ニート:2012/03/20(火) 16:23:41.57
BufferedReaderを使ったランダムアクセス(ただしマークサイズ以内の近傍)は
使わなかった場合に比べ10倍以上高速になるのは経験的に知っているが、
通常のシーケンシャルな読み込みで速くなるかは知らない。
633デフォルトの名無しさん:2012/03/20(火) 16:32:12.27
バッファサイズのデフォルトなんて毛ほどだろ。
634デフォルトの名無しさん:2012/03/20(火) 16:45:08.74
デフォルトサイズ2KBだっけ?
8KBぐらいにすると効果がでるって書いてあったが。
635デフォルトの名無しさん:2012/03/20(火) 16:47:16.35
毛がないので大きな違いで
636デフォルトの名無しさん:2012/03/20(火) 18:52:33.33
>>621の問題は解決しましたが、今度は

C:\Users\aaa\workspace\AntTest\build.xml:17: Class Not Found: JDBC driver org.postgresql.Driver could not be loaded

これもパスの指定が原因ですかね・・・
別のjavaクラスからまるまるコピペしただけなんだけどなあ
637デフォルトの名無しさん:2012/03/20(火) 19:05:28.21
public interface aaa{
public static final string code1 = "1";
public static final string code2 = "2";
public static final string code5 = "5";
}

このようなaaaというインターフェースの中にあるコード値をすべて取得して
それをListとして、プルダウンの中の選択値として画面に表示したいのですが
あくまでもJavaで取得したリスト値をJavaScrptでfor文でぐるぐる回するのかなと思っていますが
ご教授ください。

638デフォルトの名無しさん:2012/03/20(火) 19:06:29.43
2日掛かってようやく解決できました

無事にエクスポートできた・・・
639デフォルトの名無しさん:2012/03/20(火) 19:20:41.63
>>636はい
>>637リフレクション使う程の大事でもなさそうだし問題が何なのかそれが問題だと思われる。
640デフォルトの名無しさん:2012/03/20(火) 20:42:13.95
enumでやるか、そもそも考え方がおかしいと思われる
641デフォルトの名無しさん:2012/03/21(水) 01:24:30.61
ふいに、Javaなんか早く滅亡すればいいのに
って思うことあるよね?
正直もう時代遅れなんだけど普及しすぎて引くに引けない、そのタイミングを伺っているっていうか
642デフォルトの名無しさん:2012/03/21(水) 01:27:36.38
>>641

そうなの?
これから勉強しようと思ってるんだけど
別な言語の方がいいのかな?
643デフォルトの名無しさん:2012/03/21(水) 01:28:39.23
>>641
ないな
644デフォルトの名無しさん:2012/03/21(水) 01:30:29.43
言語なんて所詮道具、適材適所
要件にあった言語を使いわけりゃいいだけた
645デフォルトの名無しさん:2012/03/21(水) 01:32:24.21
Androidのおかげで安泰だろうけど
時代遅れってのは同意
646デフォルトの名無しさん:2012/03/21(水) 01:36:43.15
10年前から時代遅れと言われている言語
10年後も時代遅れと言われているであろう
647デフォルトの名無しさん:2012/03/21(水) 02:19:54.12
時代に遅れてない言語ってなんだ?
648デフォルトの名無しさん:2012/03/21(水) 05:57:24.70
いきなりですんませんが、教えてください。


現在JNDIに設定した内容でPostgreSQLに対してアクセスしているのですが、
netstatで確認すると、maxActiveに設定した数までEstablishもしくはTIME_WAITが
増えないのです。

これってPoolingできていないってことなのかなと思うのですが…。
Poolingができているかどうかの判断ってどうすればよいのでしょうか???

ちなみに、、、
 JDK 1.6
 Tomcat 6
 PostgreSQL 8.1
 JDBC3 8.1

で行ってます。

よろしくです。
649デフォルトの名無しさん:2012/03/21(水) 06:00:09.60
>>647
D

「バージョン1.0がリリースされた。比較的新しい言語であるため、
近年発達してきた概念や機能が多く取り込まれている」

D言語 − Wikipedia
650デフォルトの名無しさん:2012/03/21(水) 10:16:37.54
swingの質問なんですが、ここでいいのかしらん?
3階層(FrameA > PanelB > PanelC)で構成される画面があります。
別個のクラスとしており、
Aクラスには、
B obj = new B();
this.add(obj);
Bクラスには、
C obj = new C();
this.add(obj);

というように記述しました。
このうち、Cを動的に交換したくてBクラスにおいて
obj = new C();
を記述したのですが、うまく動作しません。
どなたかヒントをください。
651デフォルトの名無しさん:2012/03/21(水) 10:37:15.67
古い obj を remove して新しい obj を add し直す
652650:2012/03/21(水) 10:49:08.98
>>651
 ありがとうございます。
 試してみましたが、だめでした。
653デフォルトの名無しさん:2012/03/21(水) 11:15:31.20
>>652
コンポーネントを入れ替えたらvalidateを実行する
654650:2012/03/21(水) 11:24:31.10
>>653
ありがとうございます。
 うまくいきました。
 おかげで助かりました。
655デフォルトの名無しさん:2012/03/21(水) 15:34:29.54
Visual Studioみたいにファイル名.slnをクリックして作業を再開みたいな動作を

Eclipseではどうやりゃいいの?
656デフォルトの名無しさん:2012/03/21(水) 15:44:43.09
eclipse.exe のショートカットを作って置いとけばいいんじゃない
657デフォルトの名無しさん:2012/03/21(水) 15:47:08.70
それだと他人の作ったプロジェクトを再開できないやん
658デフォルトの名無しさん:2012/03/21(水) 16:07:03.42
ショートカットでワークスペース指定すりゃいいんじゃね?
659デフォルトの名無しさん:2012/03/21(水) 16:27:46.96
コーディング作法やら掲載しているサイトはよく見かけるのですが
設計方法などを紹介しているサイトはないもんですかね
660デフォルトの名無しさん:2012/03/21(水) 19:29:59.50
swingのJAppletについての質問です。
firefoxにて動作確認したところ、firefoxのタブを閉じてもまだ動き続けているようです。
新しくタブを開いてアクセスしても閉じる前の状態のアプレットが表示されます。

この現象の回避方法または、タブを閉じた段階で明示的に終了させる方法はありますか?
661デフォルトの名無しさん:2012/03/22(木) 00:38:58.16
普通は新しいタブで開いてロードしなおしたら別のオブジェクトじゃね?
なぜ、動き続けてるとおもうの?
662デフォルトの名無しさん:2012/03/22(木) 00:51:22.29
IEだと別タブは別セッションだけどFirefoxだと別タブでも同一セッションだった記憶がある。
663デフォルトの名無しさん:2012/03/22(木) 02:09:55.73
自分のサーバのIPアドレスを取得したいのですが
InetAddress.getLocalHost()メソッドで取得しようとすると
Javaのセキュリティマネージャーとやらに却下されて
ループバックアドレス(127.0.0.1)しか取得できませんでした。
上記のメソッド以外にIPを取得する方法はないのでしょうか?
664デフォルトの名無しさん:2012/03/22(木) 07:37:43.87
java.net.NetworkInterface使えば?
665660:2012/03/22(木) 12:53:28.44
>>661
 ありがとうございます。
 私もそう思っていました。
 「何故、動き続けていると思ったか」は、下記3つの状況からそう表現しました。
   1.660の通り、新しいタブでも前のタブのクローズ時が再現される
   2.firefoxを閉じてもfirefoxプロセスが残る
   3.firefoxのプロセスが残っている場合、参照先であるjarファイルがロックされている。

>>662
 ありがとうございます。
 完全に独立したアプレットなので、特にセッション管理は明示的に行ってはいないのですが、アプレットの場合必須だということでしょうか?
666デフォルトの名無しさん:2012/03/22(木) 17:18:25.95
Eclipse がフリーズしまくりで
ついに起動の段階でも固まるようになっちゃったんだが、
何が原因だと思う?
667デフォルトの名無しさん:2012/03/22(木) 17:22:56.68
俺の場合 adb を殺せば直ることがある
668デフォルトの名無しさん:2012/03/22(木) 17:49:42.35
うん
669デフォルトの名無しさん:2012/03/22(木) 18:09:26.29
Android のスレと勘違いした。すまぬ。
670デフォルトの名無しさん:2012/03/22(木) 19:15:12.60
>>665
>前のタブのクローズ時が再現される
この意味がわからないな。
たとえばテキストエリアだけのアプレットでも同じことがおこるってこと?

>2.firefoxを閉じてもfirefoxプロセスが残る
なんかずっこけてるんだな。
バージョンが古いかも?
671デフォルトの名無しさん:2012/03/22(木) 22:59:32.63
>>670
ウィンドウを開くと、閉じたタイミングの状態から再開するんじゃない?
例えばブロック崩しのゲームだと、開いた直後はゲーム開始メニューから始まるはずなのに、
ボールが動いている状態でfirefoxを閉じて、再度立ち上げると、
再度ボールが動いているところから始まるっていうことじゃないかと思う。
動き続けているという話だから、ボールが落ちてゲームオーバー画面かもしれないけど。
672660:2012/03/22(木) 23:35:23.09
>>670
 ありがとうございます。
 firefoxは11で、JREとJDKは1.7相当でやっています。
 再現の意味は、>>671さんの解釈の通りです。
>>671
 ありがとうございます。
 その解釈の通りです。
 実際に作ったのはヒット&ブロウという数当てゲームなので、入力がなくても進行していくというゲームではないのですが。
673デフォルトの名無しさん:2012/03/23(金) 09:30:49.64
ど素人です 改行の関係でimportは省略してます
labelにActionListenerが登録できないのですが、なぜでしょうか

class test extends JFrame{
test() {
getContentPane().setLayout(new FlowLayout());
JLabel label = new JLabel("てすと");
JButton b1 = new JButton("OK");
b1.addActionListener(label);
getContentPane().add(b1);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle("JButtonTest");
setSize(200, 100);
setVisible(true);
}
public static void main(String[] args) {
new test();
}
}
class LetLabel extends JLabel implements ActionListener{
public void LetLabe(){
}
public void actionPerformed(ActionEvent ae){
}
}
674デフォルトの名無しさん:2012/03/23(金) 10:01:58.94
>>673
JLabel は表示専用の部品で、クリックに反応しないものだから。ボタン使えば?
675デフォルトの名無しさん:2012/03/23(金) 10:16:32.51
>>674
私としてはボタンを押した時にラベルが反応するというプログラムを書きたかったのですが
そもそも逆だったのかもしれないということですかね・・・
676デフォルトの名無しさん:2012/03/23(金) 10:41:38.97
>>673のソースを見た感じ
・JLabel label = new JLabel("てすと");をLetLabel label = new LetLabel("てすと");に変更
・getContentPane().add(b1);の後にgetContentPane().add(label);を追加
・public void LetLabe(){}をpublic void LetLabel(){}に変更
・public void LetLabel(){}の後にpublic void LetLabel(String text){super(text)}を追加
でとりあえず動くんじゃないか
677デフォルトの名無しさん:2012/03/23(金) 11:03:04.45
ボタンを押したときにラベルが反応するように書くなら
ボタンのアクションのとこにラベルの反応を書かないと
678デフォルトの名無しさん:2012/03/23(金) 14:54:32.71
うん
679デフォルトの名無しさん:2012/03/23(金) 17:44:41.37
コンストラクタでいくつかの引数をとってその値をフィールドに値を代入していく手法
中身のないコンストラクタを記述しセッターを用いてフィールドに値を代入していく手法
どちらがいいのでしょうか?
後者は引数の値のチェックなどが楽そうですが……
680デフォルトの名無しさん:2012/03/23(金) 18:15:03.01
両方できるようにしておけば使う側の都合で選べて便利だと思うな
不変オブジェクトには後者の方法を採れないが
681デフォルトの名無しさん:2012/03/23(金) 18:16:32.68
>>679場合による。
682デフォルトの名無しさん:2012/03/23(金) 18:36:32.29
ぬるぽじゃダメなものもあるしな。
683デフォルトの名無しさん:2012/03/23(金) 18:47:24.69
クラス間の依存をなくすとか無理ゲーじゃないですか
684デフォルトの名無しさん:2012/03/23(金) 20:27:44.78
>>683
完全になくすのは無理だし無意味。ちょっとでも減ればラッキーくらいな感じ。
685デフォルトの名無しさん:2012/03/23(金) 20:32:31.53
まあ、幼少のみぎり、コンセントに鍵つっこんだオレの見解としては、
何でも刺さる穴はヤバイ。
686デフォルトの名無しさん:2012/03/23(金) 20:39:13.03
日本語でおk
687デフォルトの名無しさん:2012/03/23(金) 20:42:53.03
ツリー構造みたいな依存関係はいいと思うけど、
循環している依存関係はオブジェクト指向スパゲッティだと思う。


688683:2012/03/23(金) 21:04:30.09
>>684
ですよね 安心しました
689デフォルトの名無しさん:2012/03/23(金) 21:06:33.08
インターフェイス使いまくれば無くせるよ
実際そういう手法はある
690デフォルトの名無しさん:2012/03/23(金) 21:42:10.59
>>679
基本的にできるだけ不変にしてそのクラスが管理しなければならない状態数を削る。
コンストラクタの引数が増えてきたらビルダを使って不変オブジェクトを生成することを考える。
ただし、ビルダの分だけコードの量が増えるので、特に、外から隠蔽できる場合や、
アプリケーションを作っていて使う側も自分の制御下にある場合は、そのトレードオフ。
なお、JavaBeansなどは不変とは対極を行くものなので、それを考慮せずにごちゃまぜにしてはいけない。
691デフォルトの名無しさん:2012/03/24(土) 12:06:10.68
コンストラクタの引数は7つぐらいが我慢の限界かな
692デフォルトの名無しさん:2012/03/24(土) 12:18:56.15
>>679
RenderingHintsみたいに、大量の引数納めるためだけの専用Map作ってもいいのよ?
693デフォルトの名無しさん:2012/03/24(土) 13:19:06.16
JDKが落とせなくなったんだけどなんぞこれ
cookie OFFにしてもダメだ
694デフォルトの名無しさん:2012/03/24(土) 13:43:09.10
引数は3つが限界
695660:2012/03/24(土) 14:44:59.08
オーバーロードで作るのはよくない?
まぁ、シグネチャ一緒になっちゃうパターンも多いか
696660:2012/03/24(土) 17:02:13.49
ふうふう
697デフォルトの名無しさん:2012/03/25(日) 04:59:21.95
オブジェクトコンポジションと委譲について混乱しています
どちらも同じような意味で使われていませんか?
698デフォルトの名無しさん:2012/03/25(日) 09:21:19.61
Composite な委譲のついでに
ChainResponsibility と Proxy と Decorator が同居とか
大して珍しい設計ではない。

何も心配することないので安心していいよ
699697:2012/03/25(日) 11:14:59.42
>>698
ありがとうございます 安心して勉強を続けられます
700デフォルトの名無しさん:2012/03/25(日) 11:25:29.21
>>698
パターンが混在するのはあるが

> ChainResponsibility と Proxy と Decorator が同居とか

これはないだろ
701デフォルトの名無しさん:2012/03/25(日) 12:23:20.73
http://java.sun.com/
落ちた?
702デフォルトの名無しさん:2012/03/25(日) 18:15:00.24
ジェネリックにIntegerではなくてintを入れたいです
もしくはAllocatorを指定できればIntegerでもかまいません
ようはintが使えない場合プールしたメモリを自前で切り盛りしたいのですが
どのような書き方で可能でしょうか
703デフォルトの名無しさん:2012/03/25(日) 18:24:41.44
>>702
できないと思う。int[] をどうぞ。
704デフォルトの名無しさん:2012/03/25(日) 18:33:08.05
なるほど了解です
705デフォルトの名無しさん:2012/03/25(日) 19:47:54.49
渡された文字列に対応するオブジェクトを返すクラスを作りたいと思います。

class ExtA extends Base{
 …
 public getObject(String str){
  if(str.equal.("test")){
   return new Test();
  }
  else if(str.equal.("moge")){
   return new Moge();
  }
 }
 …
}

class ExtB extends Base{
 …
 public getObject(String str){
  if(str.equal.("tea")){
   return new Tea();
  }
  else if(str.equal.("cup")){
   return new Cup();
  }
 }
 …
}

作ってみたところ同じような処理なので、Baseの中に処理を書きたいと思うのですが
このような場合どういう風に抽象化すればいいのでしょうか?
Baseを継承した各クラスにListを使って文字列をキーとしてそれに対応するクラスのインスタンスを入れておこうかと思ったのですが冗長なような気がしたので。。
706デフォルトの名無しさん:2012/03/25(日) 19:56:02.05
HashMap<String, Class<?>> map = new ...
map.put("test", Test.class);
map.get("moge", Moge.class);
...
Class<?> cls = map.get(str);
if (cls != null) {
try {
return cls.newInstance();
} catch ( ...
こんな感じ?
707デフォルトの名無しさん:2012/03/25(日) 20:46:50.61
sun.comドメイン終わったな。
708デフォルトの名無しさん:2012/03/25(日) 21:29:06.51
こんな雰囲気?
コンパイルしてないので動くか分からないが

class Base {
public Object getObject(String str){
return ObjectType.valueOf(str.toUpperCase()).getObject();
}
}

enum ObjectType implements ObjectReturnable {
TEST {
@Override
public Object getObject() {
return new Test();
}
},
MOGE {
@Override
public Object getObject() {
return new Moge();
}
},
(略)
}

interface ObjectReturnable {
public Object getObject();
}
709デフォルトの名無しさん:2012/03/25(日) 22:00:25.61
ワロタ
710デフォルトの名無しさん:2012/03/25(日) 22:24:50.58
interface Factory { Object create(); }

private final Map<String, Factory> map = ...
Object getObject(String name) { return map.get(name).create(); }
711デフォルトの名無しさん:2012/03/25(日) 22:27:35.29
え?
712デフォルトの名無しさん:2012/03/26(月) 00:02:17.32
ArrayListで要素をn個用意して指定の値で埋めるメソッドないですか?
713デフォルトの名無しさん:2012/03/26(月) 00:13:34.33
探して見つけられなきゃ作ればいい
714デフォルトの名無しさん:2012/03/26(月) 00:19:17.13
作るのは簡単ですけどこんな単純な処理をプログラマ単位で書かせるのはjavaとして当たり前なんでしょうか?
例えばC++だとstd::vector::assignとして組み込まれています。
それと指定した値でfillする方法ももしかしてないのでしょうか。
C++でいうstd::fillなのですが、javaだと配列に対してはjava.util.Arrays#fillで出来るのですが
ArrayListに対して同様にfillすることは出来ないのでしょうか。
715デフォルトの名無しさん:2012/03/26(月) 00:26:31.61
出来ない
おまえのJavaには
716デフォルトの名無しさん:2012/03/26(月) 00:34:13.97
>>714
new ArrayList<String>(Collections.nCopies(10, "abc"));
717デフォルトの名無しさん:2012/03/26(月) 00:55:06.05
Collectionsでいけました
>>716ありがとうございます!
718705:2012/03/26(月) 01:47:32.11
>>706
回答ありがとうございました。
早速試してみたいと思います。
719デフォルトの名無しさん:2012/03/26(月) 11:13:02.68
ライブラリとAPIの違いがよくわからないのですが教えてもらえないでしょうか
720デフォルトの名無しさん:2012/03/26(月) 11:54:30.50
文脈によるけどAPIはインターフェイスでライブラリは実装。
ライブラリではないAPIの典型例としてはPOSIX規格。
721デフォルトの名無しさん:2012/03/26(月) 12:17:22.85
>>720
なるほど
しかし、ライブラリなのにAPIって使われ方している物が多くないですか?
722デフォルトの名無しさん:2012/03/26(月) 12:39:37.40
>>721
例えば?
723デフォルトの名無しさん:2012/03/26(月) 12:43:54.34
>>721
APIとライブラリが1:1に対応してると、それほど区別する必要がない。

そのためライブラリとAPIは混同される事が多く、
相手がどんな意図で使ってるかは文脈による。
724デフォルトの名無しさん:2012/03/26(月) 12:51:31.58
【ネット】 ソフトバンクGでソフト配信「ベクター」が最大26万件の個人情報流出 名前やクレジットカード番号など★2
http://uni.2ch.net/test/read.cgi/newsplus/1332444671/616

韓国に日本の住基ネットや郵貯の個人情報を握られる
http://wondery.blog134.fc2.com/blog-entry-474.html
◆2011/05/11(水) 住基ネットに郵貯の個人情報も握られて国家存亡の危機?
http://www.j-cia.com/article.php?a=6991
 韓国最大の固定通信事業者のKT社とデータセンターサービス事業で協業するソフトバンクテレコムは、
自社役員を最高情報責任者(CIO)として日本郵政に送り込んでいます。
 システム統合案件をソフトバンクテレコムによって不正落札された厚生労働省のトップページの検索窓に
住民基本台帳ネットワーク と入力すると、システム関連の入札公告やPDFファイルがぞろぞろヒットします。
100億義援金を支払うとは言ったモノの、入金確認がどこにもできてませんね。さすが朝鮮人です。
このままでは年金や健康保険ばかりか、ハローワークの雇用情報、住民基本台帳に郵貯・簡保の
取引履歴や残高まで韓国に筒抜けになりますね。
このうえ光の道や1兆円の国費を騙し取る電波割り当てが実現したら、日本の情報網制圧完成で、
一戦も交えずして韓国の属国と化してしまいますねぇ…

日本郵政のCIOに日本IBM出身のソフトバンクテレコム常務 2008/06/25 大和田 尚孝=日経コンピュータ
http://itpro.nikkeibp.co.jp/article/NEWS/20080625/309486/
日本郵政もソフトバンクに乗っ取られています! 2009/05/11(月)
http://www.j-cia.com/article.php?a=4994

【日韓】日本のソフトバンク、データセンターを韓国KTへ移転する案を推進[04/28]
http://kamome.2ch.net/test/read.cgi/news4plus/1304009549/
【韓国】KTとクラウド同盟を結んだソフトバンク、来月からソウルに遠隔勤務[06/15]
http://kamome.2ch.net/test/read.cgi/news4plus/1308110327/
個人情報流出:KTとLGパワーコムに営業停止処分
http://www.chosunonline.com/news/20080826000005
【韓国】KTが顧客情報利用し選挙広告、波紋広がる
http://www.chosunonline.com/news/20100704000021
KTの職員,約730万人の個人情報を盗用
http://backupurl.com/9mbuof
725デフォルトの名無しさん:2012/03/26(月) 23:34:31.51
Web上でデータベースと関連付けて、顧客管理したり、店の予約したり、会員登録したり、登録したやつがマイページから自分の情報を書き込んだりできるサイトが作りたいんですが、

まずJAVAの勉強でいいでしょうか
あとは何を勉強したらいいでしょう
html、cssは完璧か知らんが大丈夫です

あとmySQLって何?言語?ソフト?
ここで聞くことではなかったらすいません

先生お願いしゃす
726デフォルトの名無しさん:2012/03/26(月) 23:35:00.43
API は外部の者がこれを通じてアクセスすることを期待するもののセットを表す。
これは一種のインタフェースだが、言語レベルでのinterfaceと区別するためにAPIという言葉が使われたりする。
API として明記されていないものを経由してアクセスすると、後方互換性について保証されることはないだろう。

ライブラリはフレームワークと対を成す用語で、制御の方向が
ユーザのコードから提供されるソフトウェアを呼び出す場合はライブラリ、
提供されるソフトウェアからユーザの作成したコードを呼び出すものがフレームワーク
と呼ばれる。一般にフレームワークの方が大掛かりなソフトウェアになりやすいが、
ソフトウェアの大きさで区別されているわけではない。
727デフォルトの名無しさん:2012/03/27(火) 01:11:54.57
>>725
お前じゃ無理
728デフォルトの名無しさん:2012/03/27(火) 04:28:47.85
>>727
それが答えか
じゃあ自力で頑張るわ
ありがとう
729デフォルトの名無しさん:2012/03/27(火) 09:28:28.07
Eclipseマーケットプレイスからのダウンロードがすぐ止まっちゃって進まないんだけど、
何が原因でどうすりゃ進むんだ・・・

タスクマネージャ開くと空きメモリがないっぽいんだけど・・・

ちなみにmavenの統合環境です
730デフォルトの名無しさん:2012/03/27(火) 11:13:13.94
ヒープ増やすぐらいのことはしたの?
731デフォルトの名無しさん:2012/03/27(火) 11:13:53.00
>>725
NetBeansのEコマースチュートリアルあたりから始めてみたら
732デフォルトの名無しさん:2012/03/27(火) 11:23:40.03
>>725
多分3年じゃ終わらなくて5年位かかると思う。
求人の仕方とか学んだ方が早いかも
733デフォルトの名無しさん:2012/03/27(火) 14:17:24.94
>>725
はどっかのスレにいた、上司に無茶振りされた非PGだな
734デフォルトの名無しさん:2012/03/27(火) 14:19:05.93
>>725
PHP+PostgreSQLがいいよ
735デフォルトの名無しさん:2012/03/27(火) 15:38:40.61
>>725
サーバーがどんな位置づけかをはっきりさせること。
自宅サーバなのか、会社なのか、プロバイダの中に構築したいのか。
それからソフトはあなた専用の物か、それとも、汎用の、場合よると
製品として販売できるものを目指していのか。
自宅サーバ、固定IPを持つ会社の場合は、言語は
C,C++,Java,PHP,Ruby,Python,Haskall,Prolog なんでも問題なく
作ることができる。プロバイダの環境を借りる場合は、PHP,Java,Perl
などしか、使うことができない場合が多い。
MySQLはリレーショナルデータベースシステム製品の名前でこの
データベースに問い合わせるための言語がSQLなのだが、この言語は
それぞれの製品(処理系)によって拡張が甚だしく、他の処理系に転用
できないコードをいつの間にか書いてしまう。それで最初の選択が大事。
PostgresSQLを勧めます。
736デフォルトの名無しさん:2012/03/27(火) 15:40:17.97
>>735
すまん。PostgreSQLだ。sがひとつ余計だった。
737デフォルトの名無しさん:2012/03/27(火) 18:20:35.97
>>731->>736
みなさんありがとうございます
自力と言ったはいいもののウロウロしてました
確かに非PGなので、超初心者です
5年は正直キツイですが、覚悟してあれこれ使えるように頑張ります
Netbeansと言うのはわからないのでググってみます

phpがいいようですね
あとpostgreSQLはどっかの本に出てきたなあ程度しかわからないので、こちらもググります

サーバはレンタルサーバの中に構築したいのです
いずれ今来ている>>725のような案件が自分で出来たらいいなと思っています
今はその部分は全部プログラマーさんに投げています

アマゾンでPHPとSQLでデータベースを作るという本を今注文してみました
頑張りますー
738デフォルトの名無しさん:2012/03/27(火) 18:54:38.30
>>737
森北出版の「Webアプリケーション構築入門 第2版」が参考になるよ。
あなたに必要なものがひと通り盛り込まれてる。
こういう本でおおまかに掴んでから、DBその他、個々の技術を詳しく学べば、捗ると思う。
739デフォルトの名無しさん:2012/03/27(火) 21:19:39.93
もはやジャバを勉強する必要はないようだ
740デフォルトの名無しさん:2012/03/27(火) 21:20:11.11
>>737
自分で出来もしないことを
投げるとは言わない
741デフォルトの名無しさん:2012/03/27(火) 21:20:12.35
今ならどっかのクラウドサービス利用してそこにサーバ建ててもいいよな
レンタルサーバなんかより遥かに柔軟に弄れる
742デフォルトの名無しさん:2012/03/27(火) 22:56:12.91
>>740
言うだろ。
いずれにせよ主題から外れた些末な指摘だな。
743デフォルトの名無しさん:2012/03/27(火) 22:58:46.08
主題なんてもともとない
744デフォルトの名無しさん:2012/03/27(火) 23:00:42.27
言わない
745デフォルトの名無しさん:2012/03/27(火) 23:01:31.82
跳ねない
746デフォルトの名無しさん:2012/03/28(水) 00:09:23.67
目につかなーい
747デフォルトの名無しさん:2012/03/28(水) 01:15:29.94
PHPはLAMPみたいな鉄板環境があるけどJAVAはどうなの?
というか、LAMJでは駄目なん?

PHPのが使い勝手がいいんじゃね?と思えてきた


748デフォルトの名無しさん:2012/03/28(水) 02:37:19.02
java1.6ってupdate18以降からJTextAreaの折り返しがおかしなままになってる?
まだバグフィックスできてないみたいだけど、開発条件がupdate18以降なので作り込むしかないですかねぇ。
749デフォルトの名無しさん:2012/03/28(水) 12:14:41.50
>>747
「使い勝手」をどう捕らえるかによるな。
複雑な業務ロジックをPHPで記述して、メンテするとかぞっとする。
750デフォルトの名無しさん:2012/03/28(水) 15:06:55.60
複雑な業務ロジックってたとえばどういうの?
751デフォルトの名無しさん:2012/03/28(水) 15:49:29.21
そもそもPHPで大規模なWEB構築ってしないだろ。
752デフォルトの名無しさん:2012/03/28(水) 15:53:23.46
大規模は知らないけど、中小規模だとPHPの案件ばかりだな
753デフォルトの名無しさん:2012/03/28(水) 16:08:13.86
何をもって大規模なのか
754デフォルトの名無しさん:2012/03/28(水) 16:56:44.38
>>750
俺がやった奴で一番面倒だったのは、ワークフローの承認部分
状態遷移図がすごいことになった
755デフォルトの名無しさん:2012/03/28(水) 16:58:59.05
RailsでLaunchして、結局Javaで作り直すパターンがあった。
756デフォルトの名無しさん:2012/03/28(水) 18:51:33.35
ジャバとデザパタは前世代のフロー・パラダイムではなくOOPパラダイムと典型セットですから
757デフォルトの名無しさん:2012/03/28(水) 21:06:42.38
Java関連のファイルをアンインストールするときにJava7 JRE U2はWindowsフォルダのどこかに
ブラウザのプラグインのDLLのゴミが残るとか、Java6 JRE U30はインストールしたユーザーの
Application Data\Sun\Java\jre1.6.0_30のフォルダに30億のJavaイスのステマ画像のゴミが残るとか
そういった手動で消す必要のあるフォルダファイルをまとめたようなものってありますか?
758デフォルトの名無しさん:2012/03/28(水) 21:07:51.45
日本語でおか
759デフォルトの名無しさん:2012/03/28(水) 21:25:40.83
Application Data\Sun\Java\jre1.6.0_30
でイメぐぐって吹いた
760デフォルトの名無しさん:2012/03/28(水) 21:38:08.45
並べ換えてちょっと補完してみた

Java関連のファイルをアンインストールしても、
Java7 JRE U2の場合は、ブラウザのプラグインのDLLのゴミがWindowsフォルダのどこかに残り、
Java6 JRE U30の場合は、インストールしたユーザーのApplication Data\Sun\Java\jre1.6.0_30のフォルダにゴミが残ると伺いました。
そういったフォルダファイルは手動で消す必要があると思いますが、まとめた一覧ってありますか?
30億のJavaイスのステマ画像
761デフォルトの名無しさん:2012/03/28(水) 22:10:36.40
きっとあるから探してみてね
762デフォルトの名無しさん:2012/03/28(水) 22:39:23.43
Javaで、特定の文字列から含まれる特定の文字を取り除くにはどうすればいいのでしょうか。
取り除くべき文字は常に固定なんですけど、文字の種類は複数あります

例えば h,o.g_eという文字列から「.」と「.」と「_」を取り除きたいんですが、
自分でやろうとしたら、substringにLastIndexofの組み合わせを3回も使ったやり方になってしまいました。
763デフォルトの名無しさん:2012/03/28(水) 22:43:44.30
apache mysql phpがいいじゃろ
764デフォルトの名無しさん:2012/03/28(水) 22:52:42.69
765デフォルトの名無しさん:2012/03/28(水) 23:03:10.17
javax.sound.midi.Receiverの自己実装部分ですが
@Override
public void send(MidiMessage message, long timeStamp) {
// -112はケンバンの意味?
if (message.getMessage()[0] == -112)
channel.noteOn(message.getMessage()[1], message.getMessage()[2]);
}

channelはjavax.sound.midi.MidiChannelのオブジェクト
@noteOffは必要でしょうか?
Aピッチベンド整数値-31を制御する方法
Bいい感じのサンプルどこかにありませんか?
どれか回答お願います
766デフォルトの名無しさん:2012/03/28(水) 23:30:47.80
すみません、VBA使いでJavaの勉強を始めたのですが、
ちょっと調べてもわからなかったので教えてください。

VBAのWithステートメントのように、

With A
.Value
.Name
End With

というような書き方を、Javaでもできないのでしょうか。
767デフォルトの名無しさん:2012/03/28(水) 23:33:10.15
>>764
リンク先が見れないのですが、Replace.allだけですか?
ありがとうございました。
768デフォルトの名無しさん:2012/03/28(水) 23:58:52.15
いえいえ
769デフォルトの名無しさん:2012/03/28(水) 23:59:13.81
VBA ?
>>738
ありがとうございます
さっそくアマゾンで注文してみます
ときたまVBのこんな書き方が、とかアホ質問する基地外が紛れ込むけど、これはやっぱりステマステマ言ってほしいんだろうか。
>>754
そういう部分だけPrologを呼ぶとかないものか。Java、PHPどちらもだけど。
部品化再利用の時代にフレームワーク固定ってのは厳しいよね
後で変更がいくらでも可能でないと。
>>772
懐かしいなprolog
大学の実習で家系図を作るってのをやった。
天皇家とサザエさんと。
30億のJavaイステマ
>Aピッチベンド整数値-31を制御する方法
自己解決したので需要無いだろうけど書き込み
8192に収まる値をjavax.sound.midi.MidiChannel.setPitchBend(int pitch)
これでいけました。正しいかは不明
引き続き@Aの回答お待ちしております
>>766
おお!
With ってPascal だけかと思ったらVBAにもあるのか。
Javaだとメンバーへの大量アクセスは所属クラスのメソッド化するのが定石だね。
ないと言うより、基本的でもっと便利な方法があるってことだね。
778営利利用に関するLR審議中@詳細は自治スレへ:2012/03/30(金) 22:25:07.34
>>747
俺も同じとこ悩んでる
エロい人知恵かしてー
上は>>748の間違い
失礼しました
JEditorPaneのLineWrapのバグの直し方は知っているが、JTextAreaは知らぬ。
781営利利用に関するLR審議中@詳細は自治スレへ:2012/03/31(土) 23:56:50.70
ふーん
今、動画のダウンローダを作っているのですが、
複数のPCでクッキーを共有させるためにオリジナルのCookieStoreを実装しているのですが、

>http://e-class.center.yuge.ac.jp/jdk_docs/ja/api/java/net/CookieStore.html#add(java.net.URI, java.net.HttpCookie)

> このCookieが関連づけられているURI

の意味がいまいち分かりません。

クッキーが所属するURIは、HttpCookieのgetDomainとgetPathで取得できるので、
addやremoveのURIをどう扱ったらよい物か理解できません。
783782:2012/04/01(日) 11:36:18.30
独り言になっていました、すみません。
問題のURIはどのように扱えばいいのでしょうか?
>>782
「複数のPCでクッキーを共有させる」ってのがそもそも間違ってると思うけど。
>複数のPCでクッキーを共有
まさかサーバを作る話じゃないよな?クライアントを作るんだよな?

>クッキーが所属するURIは、HttpCookieのgetDomainとgetPathで取得できる
を本気でアテにしていいのなら、マネージャーへのURIはnullで構わないはず。
786営利利用に関するLR審議中@詳細は自治スレへ:2012/04/01(日) 16:51:58.21
入門書片手にJava勉強中の身です。
pck1ってパッケージの下にsub1ってパッケージ作った場合
実際にディレクトリpck1が作成されて、その中にディレクトリsub1が作成されてるんですか?
自分で調べろ、と思われそうですがEclipseのワークスペース以外から
実際の(?)パッケージをどうやって見ることが出来るのかわからず…。
そうです
てかEclipseのキャプションバーにでんだろ
789786:2012/04/01(日) 17:42:52.07
>>787
ありがとうございます

>>788
あっタイトルバーに出るんですね、ありがとうございます
すごく便利ですね
eclipseは1週間以上使ってますが、全然気づきませんでした
例外処理で

catch(IOException e)
{
System.out.println("エラー1");
}
catch(NumberFormatException e)
{
System.out.println("エラー2");
}

みたいにValiableDeclaratorIdは重複してつけても問題ない?
問題ない
同じtryブロックに係る例外ハンドラの例外仮引数名だけならOK。

取り囲むブロックのローカル変数や仮引数の名前と被ってたらダメ。
コマンドプロンプトから実行するときの話です。
java Sample1 test.txt
java Sample1 "C:\Documents and Settings\User\workspace\Sample10.java\test3.txt"
こののように二重引用符があってもなくても問題なく実行できるのはなぜですか?
下の方はわかるのですが、なぜ上のケースで実行できるのか腑に落ちません。
Java関係ねえ
途中にスペースとかなくてパスが通ってるからだろ
795営利利用に関するLR審議中@詳細は自治スレへ:2012/04/01(日) 20:30:08.11

>C:\Documents and Settings
この部分を2重引用符で囲まないと、javaコマンドは引数がたくさんあると勘違いしてしまう。
javaコマンドに引数を渡すときはスペースで区切っていくつでも渡すことができるから。

だから、パス名などにスペースを含むときは必ず2重引用符でくくらなきゃいけない。
エスパーするとカレントディレクトリにtest.txtが存在しないのになんで実行できるのかってことだろ?
わかんねーよ
相変わらずアホなスレですな
パスが通ってるとか関係ないんじゃね?
単にSample10.classが
C:\Documents and Settings\User\workspace\Sample10.java\
にあるだけかと
800営利利用に関するLR審議中@詳細は自治スレへ:2012/04/02(月) 03:54:29.31
java.net.URLの
URLオブジェクトから特定のGET引数を除去したURLオブジェクトを作成する方法を教えて下さい
デフォルトポート用HTTPなら
 url = new URL("http", url.getHost(), "");
でいいんじゃない?とエスパー
802 忍法帖【Lv=2,xxxP】 :2012/04/03(火) 07:56:14.27
ブルートフォース用の辞書ファイルを作ろうと思うのですが、8桁までの数字をメモ帳などに出力するプログラムはどう組めばいいですか?
803 忍法帖【Lv=2,xxxP】 :2012/04/03(火) 08:27:46.09
すいません、下げちゃいました
>>802
0 〜 99999999 をテキストファイルに書き出したいってこと?
そんな簡単なこともできないの?
ってか、そんな辞書作ってなんの意味があるんだろう…。
805 忍法帖【Lv=2,xxxP】 :2012/04/03(火) 08:51:17.61
>>804
まじで自分でもそう思います……
まだjava始めたばっかりなんです…

どうしたらいいんですかね?
馬鹿には無理
807765:2012/04/03(火) 11:43:37.76
だれかBにレスください

>>8桁までの数字
 その8桁は何かを引用するの?それとも生成するの?
File file = new File("path/ファイル名.拡張子");
fileに対してwriteとかしちゃえばいいと思うよ 検索キーワードは java File操作

String.valueOf(arg)がいろんな型を食ってStringにしてくれるから
nullを食わせたら"null"になってくれるんじゃないかと思ったら
ぬるぽになりやがってくそうくそう。
String#valueOf(char[])の方を呼び出しちゃったんだな。
810営利利用に関するLR審議中@詳細は自治スレへ:2012/04/03(火) 19:09:59.62
If (hoge.toString().indexOf("manko") < 0) {

}

という式を  A > Bという風にしたいのですが、何か良い方法はないのでしょうか?

(!(hoge.toString().indexOf("manko") > 0)

というのは無理でした

((hoge.toString().indexOf("manko") == -1) はあまり好きではないのですが
int ret = hoge.toString().indexOf("manko");
if (0 > ret)
If (-hoge.toString().indexOf("manko") > 0) {
こだわる意味がわからない
if (0 > hoge.toString().indexOf("manko")) {
>>814
がっかりだよ
>>810
int A = 0;
int B = hoge.toString().indexOf("manko");
if( A > B ){
}
817営利利用に関するLR審議中@詳細は自治スレへ:2012/04/03(火) 19:48:20.27
新規開発で選ぶならORMは何が良い?
むしろRDB捨ててODBとか使ったほうが良いのかな?
818営利利用に関するLR審議中@詳細は自治スレへ:2012/04/03(火) 19:49:34.50
>>811-816
ありがとうございました。
-1と==で比較すると遅いの?
820営利利用に関するLR審議中@詳細は自治スレへ:2012/04/03(火) 21:22:50.21
ううん
そのプログラム内で統一されてば書き方などどうでもいいと思う。
最適化ってどの程度の範囲でされるんだ
823765:2012/04/04(水) 01:02:58.47
とりあえず 比較演算子は < の向きに統一するのが作法
って、おじいちゃんがゆってた
>>504
『Javaの鉄則』とか『Effective Java』とか読んでいれば必然的に配列を使うのを避けようとするようになるよ。
ArrayListでなんとかなるものはなるべくArrayListで解決しようとする。
それ以外で配列を使うのは、パフォーマンスの問題やそれ以上修正する予定がないであると思われる単純なコードに配列を使うのみ。
>>510
そういう話は死滅系スレで
配列はインデックス・アクセスで、Listはランダムgetメソッド経由なんで、ジャバ的には両者を比べること自体間違ってますよ。
827営利利用に関するLR審議中@詳細は自治スレへ:2012/04/04(水) 11:10:54.25
byte value = (byte) Integer.parseInt("10101100",
System.out.println(Integer.toBinaryString(value));
System.out.println(Integer.toBinaryString(value & 0xff));
--
11111111111111111111111110101100
10101100


--
byte 型を int型にキャストすると、なんと左側に 1 が埋められるという
意味がわからない仕様なんですが、どうしてこうなるんですか
byte 型は符号付きなので値の範囲は -128〜127
それを int に変換したらそのまま -128〜127
負の値というのは左側に 1 が埋まっている値だから、そうなる
あんまJava関係ないですが
長らくCばかりいじっていて久しぶりにJavaをさわったら
オブジェクト指向的ってどんなんだっけな状態です

あるデータ構造をXMLでセーブして、
ロードするとまた構造が復元できるっていう風にたいとき

セーブ、ロードのメソッドがあるインターフェースを定義して、
データ構造の構成要素のクラスでそのインターフェースを実装して
・・・あれ、こっから先どうするんだっけ?

共通のインターフェースを使ってなんかまとめられたような気がするけど
よく分からなくなって結局べた書き
なんかきれいな方法ありましたっけ?
馬鹿には無理
シリアライズでググれ
>>829
XMLにできれば何でもいいなら java.beans.XMLEncoder, XMLDecoder があるけど、
そーゆー事じゃなくて?
個人的にはデータ集合の管理とXML入出力はまーったく別クラス設計にすることが多いかなあ。
特にデータ集合の方はXMLのエの字さえ許さない徹底ぶりを

後でJSON追加とか言われたときも同様

各種マッパーは基本あてにしない。作業量次第だけどナー
なんでもかんでもオブジェクト指向にするのは今でも流行ってます
オブジェクト指向というなら本当はXML入出力をデータから分離したりするべきじゃないけどな
xmlは、今思えばなんでこんな形式が出現したのかわからなくなってるw

jsonみたいなもっと短くていい形式はあるのに。で、json というか、
キーと値みたいな単純な形式がネットワークを行き来する
プログラミングは文句なくスクリプト言語のほうが短く綺麗に書ける

java は近年のプログラミングスタイルに合わなくなってきてる。
ゴタゴタとアクセサメソッド書かせるのはまったく今の状況と合ってない。

込み入った処理を書くには Java がいいなあと思うこともあるけど、JavaScript の
軽快さに慣れていかないといけない。

>>836
後から出てきたもののほうがよくて、今思えば、ってのは当たり前のことじゃないの
結局データに振る舞いとか不要
>>835
>オブジェクト指向というなら本当はXML入出力をデータから分離したりするべきじゃないけどな

タグ名や属性名に変更入るたび本家実装がいじくりまわされるのは我慢OK?
動けばよい
うん
>>838
Javaの最大の問題点は、振る舞い持たなくていいデータの定義を
どうすりゃいいのか迷うとこだな スクリプト言語みたいに、
単に HashMap 使うスタイルが推奨されてないのがまずい。

しかし、こってり振る舞いを定義してはいるが、少しはデータを持ちたいオブジェクトや、
大量にデータを抱えてはいるが、少しは振る舞い持ちたいオブジェクト、が世の中必要なシーンがあるのだ。

たぶん、この、大量にデータを抱えてはいるが、少しは振る舞い持ちたいオブジェクト、
これが綺麗に書けないのが Java の一番よくないところだ。


意味不明
広い世界を自分で狭くしてるって感じなんだろうな。
よくわからん
少しの振る舞いを定義したクラスにMapでも持たせればいいだけじゃないの?
JavaのOOPを難しく考えすぎ。Javaでも「HashMap使うスタイル」で「綺麗に書ける」よ。
高度なオブジェクトにしたくなければ単純なObjectとしてHashMapに詰め込めば良い。
そういうのはドメインモデル貧血症っていうアンチパターンだよ
あくまでオブジェクト指向的にはアンチパターンなんであって開発がうまくいくかどうかは別
オブジェクト指向的には「大量にデータを抱えてはいるが、少しは振る舞い持ちたいオブジェクト」が
必要になるような設計がおかしいということか
849営利利用に関するLR審議中@詳細は自治スレへ:2012/04/06(金) 16:25:31.96
activeobjectsを試しに使ってみようとテストコードを書いてみたら
EntityManager#migrate();

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') ENGINE=InnoDB' at line 8
となった
activeobjectsがどんなSQLを発行しているのかも良くわからない
どうしたらいいですか?
諦めて勉強し直すのが一番早い
早いね
うぇーい
853営利利用に関するLR審議中@詳細は自治スレへ:2012/04/07(土) 10:38:39.16
Javaで1.6以下のコンパイラーにてstringを使ったswtich文をどうEnumを用いたものにすればいいのでしょうか。

enum enumtest {
 AAA("あ"), BBB("い)
 private String name;
 private test (String name) {this.name = name; }
 @Override public String toString() {return name;}
}

public class test {

 //メンバ変数
 Sting strString;

 public void methodA() {
  if (条件) { strString = enumtest.AAA.toString;
  } else { strString = enumtest.BBB.toString; }
 }

 pulic void methodB() {
  switch (strString) {
  case AAA:
   break:
  case BBB: 
   break:
  }
 }
}


単純化してますが、こんなコードで、swichの所の(strString)でエラーになりますし、
(enumtest.valueOf(strString))にしてもエラーが出ました・・・。
valueOf は定数の本当の名前 ("AAA" とか "BBB" とか) じゃないといけない
"あ" とか "い" とかは単に name という名前のフィールドに保持してるだけの文字列であって、その定数の本当の名前とは違う

Java は名前に日本語が使えたと思うから
enum enumtest { あ, い }
でいいんじゃない

それか自分で "あ" → AAA, "い" → BBB に変換するプログラムを書く
変に日本語使うと文字コードの問題にブチ当たる
>>854-856
ありがとうございました。

実際のコードはもと込み入っていて日本語名変数を使うと長くて保守も厳しいのですが、
Enumの中で、strString = "あ"という引数を与えられたら、"AAA"を返すメソッドを作ればいいんですね?
SIの会社に新卒で入って研修を2〜3ヶ月やるけど、
どのくらいできるようになるの?

世間的には高学歴な人でも挫折する奴多い?
微妙に間違ってる
>>858
>どのくらいできるようになるの?
そんな千差万別の話されても…

>世間的には高学歴な人でも挫折する奴多い?
新人研修についてけないやつは普通雇われないんじゃね。
研修内容なんて大体どこもやってることは同じだろ
サーブレット動いたよ程度

専門卒涙目だなw
862営利利用に関するLR審議中@詳細は自治スレへ:2012/04/07(土) 14:53:11.86
activeobjectsって公式サイト見てもチュートリアルすら無くないですか?
ちゃんとチュートリアルがある簡単なORMがあったら教えて下しあ
863849:2012/04/07(土) 15:04:46.30
mysql connectorのバージョンが古かった+Entityを継承したインターフェースにidフィールドを書いていた
ことが原因だった
解決オメ
865営利利用に関するLR審議中@詳細は自治スレへ:2012/04/07(土) 15:35:51.60
普通、必須なフィールドはコンストラクタで指定するようにしますが
activeobjectsだとEntityをEntityManager#create()したあとsetterでセットする感じになるんですか?
>>856
ジャバ言語で書いたソースコードならそうでもないですよ
>>865
うん
基盤系エンジニアって具体的に何を作ってんの?
javaじゃない?
配線
フロントエンドはぶっちゃけ何でもいいよ
>>857
普通hashMapとか使ってkeyとvalueで対応させるんじゃないの?
C++を少しだけ使えるようになったのでjavaも勉強しております。
そこでどうしてもわからないことが出てきてしまいました・・・。
javaでクラスを管理できるような変数、方法はないでしょうか。

// イメージ
//main.java
public class main {
public static void Init() {

/* これのtest1等のクラス名を変数に格納したい
if( id == 0 ) test1.Init();
if( id == 1 ) test2.Init();
*/

XXXX classMgr = "";
if( id == 0 ) classMgr = "test1";
if( id == 1 ) classMgr = "test2";
classMgr.Init(); // こんな感じにしたいです。 test1〜testXのクラスには必ず同じ関数名の関数があります。

}
}

わかりにくいご質問で申し訳御座いません。
ご教授頂けないでしょうか。
Class<?> classMgr = null;
if( id == 0 ) classMgr = test1.class;
if( id == 1 ) classMgr = test2.class;
classMgr.getMethod("Init").invoke(null);
EclipseでVisual Studioみたいに
sって入力したら即座にsから始まるメソッド等が表示されるような設定ってできないの?
できるんならどうやるの?
できたと思うけどウザイんじゃないかなぁ
ctrl+space でいつでも出せるんだし

Preference の Java > Editor > Content Assist > Auto activation triggers あたりをいじってみそ
やったことあるけどVSほど精度よくないからウザいよ
Javaの有効化なんとかトリガー

これDefaultだと「  .  」になってるけど、
どの文字を打っても候補が出てくるようにするにはどうすりゃいいんだ?
.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_

って記述する以外で頼む
クラス名を変数に格納するようなことはc++では出来ました?
880営利利用に関するLR審議中@詳細は自治スレへ:2012/04/08(日) 09:27:47.07
うんにゃ
881営利利用に関するLR審議中@詳細は自治スレへ:2012/04/08(日) 09:37:11.15
activeobjectsで、

public interface 契約 extends Entity{
@OneToMany
public Person get甲();

@OneToMany
public Person get乙();
}

こうすると、get甲でもget乙でも
甲乙を区別しない合算された結果が返ってくるのですが
解決方法をご存知の方いませんか?
swingのフォーカスについて質問です。
子コンポーネントのフォーカスリスナーはaddFocusListenerで登録できますが
子コンポーネントにフォーカスが当った事を親に通知するイベントが存在しますか?
また存在するならリスナー登録方法を教えて下さい。
通知を受けたい人 (親?) が問題の子コンポーネントに直接フォーカスリスナーを登録すればいいじゃないか
J2EEについて質問があります
普通の(HelloWorldなど)Javaのプログラムを組んでいるときJDK(J2SE)を使っていますよね。
Tomcatなどのアプリケーションサーバを利用してサーブレットを作る際はJDK(J2SE)+J2EEを使っていることになるのですか?
このJ2EEとは一体どういうものなのでしょうか?サーブレット等Webアプリケーションをプログラミングする際に必要になるライブラリ群のような考えでいいのでしょうか
そんなことは気にしないでどんどんつくれ
そのうちわかるようになる
886884:2012/04/08(日) 18:06:39.02
>>885
いやww そこをなんとか教えてください……
断固として断る
>Javaの最大の問題点は、振る舞い持たなくていいデータの定義を
>どうすりゃいいのか迷うとこだな スクリプト言語みたいに、
>単に HashMap 使うスタイルが推奨されてないのがまずい。
JavaでもMapを使う実装をを見たことがあるが、C言語の構造体っぽく使うから、HashMapの中にさらにHashMapが何重にもネストして入っていて最低だった。(さらにしかもおもいつきレベルでぽこぽこデータを突っ込んでまったく整理されていない)
普通にセッター・ゲッターのみをもつクラスをつくればいいだけだと思うんだが、スクリプトではこれが普通なの?
>>872です

ご連絡が遅くなってしまいすみませんでした。
ご丁寧にありがとうございます。

教えて頂いたソースを見ながら、色々と試してみて
コンパイルは通るようになったのですが
ログキャットにものすごい警告が出てしまいます。
(クラスの中身の処理はたまにされております。)

getMesodだけだとコンパイルが通らないので
いろいろなものをクラスにthrowしております。
(try catch)でもやってみました。

try catchなどを付けなくても動くものなのでしょうか。
>>889
try catchはException系例外が発生する場合にのみ必須になります
RuntimeException系例外が発生する場合try catchをつけなくても動作します
>>884
サーブレットやJDBCなどエンタープライズアプリケーションを作る際に
必要となるさまざまな仕様を集めたもの。バージョンも括り付けられている。
サーブレットで言えば、J2EE1.4なら2.4、JavaEE5なら2.5とか。
GlassFish, JBoss, WebSphereとかのアプリケーションサーバは
J2EE仕様に基づいて作られた実装。
JavaEE仕様に基づいて作ったアプリであれば、基本的に
どのアプリケーションサーバでも動く(はず)。
>>891
難しいですね
サーブレットのサンプルプログラムを作った というのは
「J2EEの仕様に基づいて組まれているライブラリを使いサーブレットのサンプルプログラムを作った」と同義でしょうか?
J2EEは利用する物ではなく仕様であり、J2EEに基づいて作られた物を利用する。

891さんが説明なさってくれた物を自分なりに解釈してみたのですが間違いありますでしょうか?
馬鹿には無理
J2SEも仕様だからね。
実装としてOracleのがあったりする。
895766:2012/04/08(日) 23:01:49.82
>>777

なるほど、所属クラスのメソッド化ですね。
ありがとうございました。
>>890さん
ありがとうございます!
何とか実装できました。
処理は出来ているので警告は何とかします。
897765:2012/04/09(月) 02:05:55.54
映像ストリーム出力か、swing任意のコンポーネント(例JPanel1枚)を
DirectXのキャプチャソフトに認識させたいと思ってます。
説明がつたないけど許して

たとえばswingのフレームを最小化した状態でも、キャプチャできる状態にしたいのです
何か提案おねがいします

使用例としてはニコ生ライブエンコーダ上のWEBカメラ上に半透明の描画オブジェクトを
表示したいのです
898765:2012/04/09(月) 02:09:40.09
以前Bのよさげなサンプルプログラムを探していましたが
こちらは事故解決しました。需要あるかわからないけど述べておきます

WINDOWSだとMIDIマッパーがjavaから制御できるので
そちらにショートメッセージを投げるだけで後はMIDIまっパーにお任せできるようです
なんでこんなにtryアンドぬるぽの繰り返しになってしまうんですか?
ガッしないからです
901営利利用に関するLR審議中@詳細は自治スレへ:2012/04/10(火) 15:39:39.73
java(TM)6 Update31をインストールできません。

インストール中にエラーメッセージが出ます。
選択した機能は現在使用できないネットワークリソースにあります。
OKをクリックして再実行するか、インストールパッケージ’jre1.6.0_12.msi’を含むフォルダに対する代替パスを以下のボックスに入力します。

となって先に進めません。ちなみにjavaはアンインストールしています。

助けてください。

アンインストールに失敗してて残骸が残って悪さしてるか
インストーラが壊れてるか、その両方か。
メッセージの内容からしてWindowsの問題じゃないかな。
ttp://support.microsoft.com/mats/Program_Install_and_Uninstall/ja
に相談だ。
>>808
"" + arg
>>888
そうだよ
>>904
valueOf((Object)arg) で良いんじゃね?
907営利利用に関するLR審議中@詳細は自治スレへ:2012/04/11(水) 01:34:21.34
初歩的な質問です

class a{
b b = new b();
string test="a";
}

class b{
string test="b";
}

こんな感じの時クラスaからクラスbのtestを取るにはb.testでとれると思うんですが
クラスbからクラスaのtestを取るにはどうしたらいいでしょうか
testの値は変化するので現在のtestの値を取得したいです
クラスとインスタンスの考え方があやふやな気がするけど…
クラスaの中に自身のtestの値を返すメソッドを置けばいいんじゃないかな
getTest()みたいに
そのプログラムでなら、new a().test;
publicとprivate明示させて
getterとsetterでやり取りするやり方の利点を学んで、クラスとインスタンスの関係を学べば良い
java(TM)6 Update31をインストールしようとしたら
このページは表示できませんと出てしまいます
現在対処法がわからず困ってます
これは>>903でよろしいのでしょうか?
何かアドバイスをいただけたらありがたいです
microsoft.com/support に電話して有料相談を受けましたか?
>>912
いえ、そこまではまだしていません
914営利利用に関するLR審議中@詳細は自治スレへ:2012/04/11(水) 12:36:48.87
>>911
903とはちがうでしょ
インストール時の問題じゃなくて、そもそもダウソできねーって話でしょ?
ちなみに、こちらの環境でもダウソできないから、HP側の問題じゃない?

別のサイトとかFTPとかから落とせばモウマンタイかと
915914:2012/04/11(水) 12:56:13.33
oracle.comの方から落とせたよ
多分必要なのはJDKだと思うけど、JREが必要ならoffline用を落とした方がいいね
ttp://www.oracle.com/technetwork/java/javase/downloads/index.html
JRE・・・オフライン用もオンライン用もサーバーが見つかりませんでしたって出てダウソできない・・
板違いだろ。
糞オラクル死ねよ
>>914>>915
なるほど、あちら側の問題という事ですか
解決策だけでなくサイトまでご紹介していただきありがとうございます
今ちょっと外出してるので、後ほど利用させていただこうと思います
どうもありがとうございました
Linux に JDK を入れたのですが、困っています><

Linux 版 JDK は 7 しか置いてません><
なので仕方なく JDK 7 を入れました。
一方、JRE は 6 を入れています。
まとめると、以下のような環境です。

・CentOS 6.2
・JDK 7
・JRE 6

テストとして以下のコード (Main.java) をコンパしました。

public class Main {
public static void main(String[] args) {
System.out.println("><");
}
}

コンパイル (javac Main.java) はうまくいきました。

実行 (java Main) したらエラーが出ました><
(今自宅なのでエラーメッセージを再現できません><)

やっぱり、JDK 7 と JRE 6 の組ではダメなのですか?
JREとJDKどっちのJVM使うんだYO!的なメッセージを
エラーメッセージと勘違いしてるだけ、とかないよね?

あとはクラスファイルのバージョンが1.7のだから実行できないYO!とか。
そっちなら -target 1.6 すりゃいいだけ。
>>923
迅速適切なレスありがとうございます!
明日試させてもらいます。
925デフォルトの名無しさん:2012/04/11(水) 20:33:18.40
いえいえ
926デフォルトの名無しさん:2012/04/11(水) 21:07:37.43
俺も明日になったら試す!
927デフォルトの名無しさん:2012/04/11(水) 22:05:02.30
2つ質問があります。

Linux上でJTextComponentのフォーカスが取得できない事があるバグを直す方法を教えて下さい。
10年以上前からバグとしてSunのページに乗ってますが直す気配がありません。

ComponentShownをつかって遅延validateするDelayPanelを作りました。
しかしそれをJTabbedPaneのrepaintしまくりのバグによって誤動作してしまいます。

JTabbedPane以外でタブを扱う方法を以前に使っていたのですが忘れてしまいました。
そのタブを使う別法を思い出すヒントを下さい。
928827:2012/04/11(水) 22:17:25.32
すみません、二番目の質問を取り下げます。
ネットで検索してたら自作TapPanelで良さそうなのがあったのでそれで行こうと思います。
929デフォルトの名無しさん:2012/04/11(水) 22:19:57.89
bugID晒せば? voteしてくれる奇特な人がいるかも知れんし。
930827:2012/04/11(水) 22:53:01.76
Bug ID: 6506617
これだったかな?これはキーフォーカスのバグで、他にも同問題のBugIDが複数あることを確認しています。
このバグはjava1.4以上で起こる事を確認しています。1.3以下はテストしていません。
Windowsでは起こりません Linux(複数の種類)でのみしばしば再現します。
931デフォルトの名無しさん:2012/04/12(木) 01:15:44.99
>>927
上にボタン並べて
panel取っ替えればいいんじゃないの?
932827:2012/04/12(木) 07:03:27.46
>>931 はいそれです。思い出しました。
933デフォルトの名無しさん:2012/04/12(木) 17:14:36.80
lang ←これなんて読んでる?
934デフォルトの名無しさん:2012/04/12(木) 17:46:21.22
らんぐ
935デフォルトの名無しさん:2012/04/12(木) 19:46:26.51
ペーパーテストをあらわすPaperTest.java
936デフォルトの名無しさん:2012/04/12(木) 19:54:39.35
途中投稿すいません
設計方法について困っています。アドバイス頂ければ幸いです。

以下いま抱えてる疑問

ペーパーテストをあらわすPaperTest.java
フィールドには点数、日付、氏名、問題を持ちます

これを採点するCheck.javaを作ろうとする場合
採点したものを保管するために、上記のPaperTestの持つフィールドと同じものを用意すべきでしょうか?

PaperTestのコンストラクタでCheckを呼び出し、採点結果をPaperTestの各フィールドに代入しようと思っています
この場合Check側に採点済みの各フィールドを取得するためのゲッターを用意しなきゃならんと思うのですが、
なんだか冗長なコードになってる気がします。
937デフォルトの名無しさん:2012/04/12(木) 20:02:49.20
プロジェクトというものはまず動くものを作って次に設計云々を考えないとそれはいつまでも机上の空論のままですよ。
938デフォルトの名無しさん:2012/04/12(木) 20:13:14.97
永続化すること前提なのかどうかとかで色々かわるからなぁ。
最終的にDBに入れるなら、そっちの設計考えてからにするけど。
Entityがどうなるかとか。
939デフォルトの名無しさん:2012/04/12(木) 20:14:16.46
>>937
ありがとうございます
動く物は既につくってあります 一ヶ月かけてWebアプリケーションを作成しました。
ただ自分のコードを見直してみると、フィールドに持たせるべき物はこれでいいのかと考えてみると困ってしまいまして。
フィールドってなんなんだと混乱してきてしました……
プログラムってただ動くだけのものは簡単でも綺麗に組むのは難しいですね
どうやったら綺麗に組めるのか結城浩さんのデザインパターン入門やら読み込んでいるのですが……
道のりは長そうです
940デフォルトの名無しさん:2012/04/13(金) 08:19:40.03
java.langのlangってどういう言葉の略語や由来なんですか?
941デフォルトの名無しさん:2012/04/13(金) 09:54:51.70
langage
942デフォルトの名無しさん:2012/04/13(金) 10:06:14.29
>>941
ありがとうございます。
なんだこのネーミングセンスは。
943デフォルトの名無しさん:2012/04/13(金) 10:15:06.72
>>937
設計という物をなんだと思ってんだよwww

ネタだろうが・・
944デフォルトの名無しさん:2012/04/13(金) 10:17:41.72
設計という物を一体なんですか?
945デフォルトの名無しさん:2012/04/13(金) 10:21:00.24
動く物を考えて机上の空論で語るもんじゃないんですか?
946デフォルトの名無しさん:2012/04/13(金) 10:35:13.66
机上の空論はいいすぎた・・
机上で語るに言い換えて欲しい
947デフォルトの名無しさん:2012/04/13(金) 11:24:43.96
断る
948デフォルトの名無しさん:2012/04/13(金) 12:03:36.74
if (Array) {
}

のように配列だけ条件文に書いてある時、このif節はどういう条件分岐するんでしょうか?
949デフォルトの名無しさん:2012/04/13(金) 12:16:32.23
Main.java:4: 互換性のない型
検出値  : int[]
期待値  : boolean
if (Array) {
    ^
エラー 1 個
950デフォルトの名無しさん:2012/04/13(金) 12:21:28.55
エラー見た感じArrayはint型の配列
if文は論理式のみ判定できる
951デフォルトの名無しさん:2012/04/13(金) 12:58:04.02
>>948
すげー質問だな。センスを感じる
952デフォルトの名無しさん:2012/04/13(金) 13:00:38.71
>>948
コメントアウトしないとコンパイルエラーになるような手動の条件分岐。
953950:2012/04/13(金) 13:01:14.96
なんか語弊がある 修正させてください
ネタかどうかわからないけど自分も学び始めのときいろいろと困ってるときは苦しかったので
if文は論理値を判定する構文ですね

int x = 10
if(x > 0) ならこの「x > 0」という論理式はtrueを出し、trueの処理へと。論理式がtrueという論理値を出してることになるんですね

boolean result = true;
if(result) でもtrueの処理に移ります

ようはtrueかfalseか判定できる物をif文には突っ込まんといけんのですよ
あなたがやってるのはint型の配列をそのまんまぶっこんでるだけです 論理値は出るはずがありません
母親に牛乳買ってくるように言われてゲーム買ってくるぐらいお門違いのことをしています
954デフォルトの名無しさん:2012/04/13(金) 13:03:35.63
そのとーりーじゃけん!
955デフォルトの名無しさん:2012/04/13(金) 13:12:55.39
>>942
略し方よりもjava.langなんて名前のパッケージを実行環境のコアに据えてるのが気持ち悪い
956デフォルトの名無しさん:2012/04/13(金) 14:48:38.43
>>955 は否定しないけど、language を lang と略すのは普通。
957デフォルトの名無しさん:2012/04/13(金) 15:54:37.46
動物クラス
猫クラス(動物クラスを継承)
チンチラゴールドクラス(猫クラスを継承)

今このような状況で動物クラスのインスタンス変数へチンチラゴールドのインスタンスを代入しようとしたところ
型の不一致 とeclipse先生に怒られました
スーパークラスのインスタンス変数へサブクラスのインスタンスは代入できるはずなので何がおかしいのか困っています
958957:2012/04/13(金) 16:02:41.52
解決しました
チンチラゴールドクラスに何もまだ書いてませんでした
せっかく例を考えたのにこんなしょうもないことだったとは
959デフォルトの名無しさん:2012/04/13(金) 17:22:56.46
参考書の中で、
コンストラクタの中にフィールド宣言int div = 2;を単純に記述すると、
divはフィールドではなくなってしまうので注意しましょう。
と、あるのですが、どういう意味なのでしょうか?

プログラムはこんな感じです。
class Calc {
int div;
Calc () {
div = 2;
}
int calcDiv (int x) {
return x /div;
}
}
960デフォルトの名無しさん:2012/04/13(金) 17:27:41.58
>>959
コンストラクタで初期化する意味ないじゃんって参考書はいいたいのかな
よくわからんです
961デフォルトの名無しさん:2012/04/13(金) 17:34:57.54
class Calc {
Calc () { int div = 2; } //初期化してるけどフィールドじゃないよ!
}

って事じゃね?
962デフォルトの名無しさん:2012/04/13(金) 17:34:59.61
フィールドのdiv変数がコンストラクタ内の同名のdivという変数に隠匿されて,
フィールド変数のdivへの代入ができなくなるよってことでふぁ
963デフォルトの名無しさん:2012/04/13(金) 19:46:17.15
藻前ら、漏れにservletとJSPとトムキャットの関連を教えろ
964デフォルトの名無しさん:2012/04/13(金) 20:08:24.04
965デフォルトの名無しさん:2012/04/13(金) 20:26:28.41
アプレット=クライアントJAVA

サーブレット=サーバJAVA
JSP=PHP

トムキャット=サーブレットとJSP用のサーバ
966デフォルトの名無しさん:2012/04/13(金) 20:46:41.65
そういや、tomcatでしか動かしたことないけど、ほかにもサーブレットに対応しているサーバーってあるんだろうか?
967デフォルトの名無しさん:2012/04/13(金) 21:03:09.49
>>963
サーブレット仕様やJSP仕様に基づいて作られたアプリを
実行する環境の一つがトムさま。
>>966
サーブレット仕様やJSP仕様はJavaEE仕様の中の一つなので
JavaEE準拠のサーバであればどこでも動く。
Glassfish,WebSphere,WebLogic,Cosminexus,InterStage,WebOTX,JBossなどなど。
968デフォルトの名無しさん:2012/04/13(金) 23:01:38.42
GlassfishとInterStageは使ったことがあるのですー☆
969デフォルトの名無しさん:2012/04/13(金) 23:05:21.26
なるぽ
970959:2012/04/14(土) 01:14:34.45
>>962
なるほど多分そういうことっぽいですね!

>>960-962
とても参考になりました。
ありがとうございます!
971デフォルトの名無しさん:2012/04/14(土) 03:34:40.67
ある文章(String型)をエスケープシーケンス含め表示させたいのですがいい方法ないですかね?
972デフォルトの名無しさん:2012/04/14(土) 07:23:38.42
考えとくのでまた来てください
973デフォルトの名無しさん:2012/04/14(土) 08:33:27.94
>>971
そのエスケープシーケンスを何で表示させるかによる
974デフォルトの名無しさん:2012/04/14(土) 08:52:27.65
コンパイル時に元々エスケープシーケンスだったって情報は失われてる。
975デフォルトの名無しさん:2012/04/14(土) 10:03:58.35
質問の仕方がダメすぎ
976デフォルトの名無しさん:2012/04/14(土) 19:40:47.47
>>955
むしろ「スクリプト言語にありがちな、コアを特別扱い」なんかしないぞ、
という、設計者の意気込みを感じるんだ。
なかなか素敵だろ。
977デフォルトの名無しさん:2012/04/14(土) 19:42:56.10
intやdoubleやStringを特別扱いしといてそれはねーよ
978デフォルトの名無しさん:2012/04/14(土) 20:05:53.95
java.lang自体が特別扱いされてるところはスルーか。
979デフォルトの名無しさん:2012/04/14(土) 20:16:13.26
例えば?
980デフォルトの名無しさん:2012/04/14(土) 21:01:11.36
プログラミング・パールズのオートゲリマンダーの話は読んどいて欲しい。
981デフォルトの名無しさん:2012/04/14(土) 21:43:24.60
大学2年でCやって3年の今Javaの授業が始まってクラス、オブジェクト、メソッド、インスタンス変数など
正直あまり理解できなかったのですが、参考書を読む際いきなりクラスとかからの説明から読み始めても
Cの文法理解してればあまり支障ないですかね?
982デフォルトの名無しさん:2012/04/14(土) 21:45:42.10
支障があるかどうかはお前次第
983デフォルトの名無しさん:2012/04/14(土) 22:09:20.98
Cの文法とかは関係ない
大事なのは文法じゃなくてパラダイムの方
984デフォルトの名無しさん:2012/04/14(土) 22:41:42.14
Cやってれば構造体はわかるでしょ。
その構造体に関数つけたい!ってのがクラスだよ。
985デフォルトの名無しさん:2012/04/14(土) 22:55:08.15
関数ポインタ使えば構造体に関数つけられるじゃん
986デフォルトの名無しさん:2012/04/14(土) 22:57:05.89
初期のC++でももうちょっとマシな解決してるだろ
987デフォルトの名無しさん:2012/04/14(土) 22:58:42.06
c++11
988デフォルトの名無しさん:2012/04/14(土) 23:02:11.63
>>981
FILE *fp 関係の関数って、いつも
fprintf(fp, .....);
fscanf(fp, ....);
fgetc(fp, .....);
fgets(....., fp);
fputc(....., fp);
fputs(....., fp);
ungetc(...., fp);
fread(...., fp);
fwrite(...., fp);
って fp をつけるよね。あと、
fp = fopen();
fclose(fp);
は最初と最後に必ずおくよね。

これってなんにでも当てはまる一種のパターンじゃないの?
989デフォルトの名無しさん:2012/04/14(土) 23:08:26.21
>>981
Cやった時点でちゃんと理解していなかったバカ
Cでプログラミングやってればこういう機能欲しいなとか思うはず
それがクラス的な機能だったりする
990 ◆QZaw55cn4c :2012/04/14(土) 23:17:14.26
>>989
>Cやった時点でちゃんと理解していなかった
それはさすがにかわいそう。
1万行くらいの中篇小説に手を出したりでもしないかぎり、短期間、しかもCをやっている時点で、クラスのような機構の必要性・利便性を予測するのは困難なのでは。
991デフォルトの名無しさん:2012/04/14(土) 23:20:32.66
C++11
C99
C11
gcc
g++
cc
992デフォルトの名無しさん:2012/04/14(土) 23:23:12.24
Javaの勉強をすることで、更に理解を深められればそれでよし。
今すぐに理解を深められなくても、後々活かすことができればそれでよし。
プログラムの仕事につかなかったとしても、
プログラム意外の場で考え方とか整理の仕方が生かされる場面があればそれでよし。
それを理解できた時に理解できない者に大して高圧的になったりバカにしたりするよりマシ。
993デフォルトの名無しさん:2012/04/14(土) 23:24:11.51
馬鹿には無理
994デフォルトの名無しさん:2012/04/14(土) 23:47:19.96
>>981
俺も昔はCしか知らなくて
java始めた頃はmainがほぼ全ての処理だったよ
staticなメソッドばっか並べてさ
今改めて考えるとすんげーおもろいのw javaファイル1個なんよねw

そんな俺も数年したらちゃんとデザインパターンや色々考えるようになった
でも未だにjavaって冗長だなってつくづく思う
まあ大丈夫そのうちなれていくよ がんばって
995デフォルトの名無しさん:2012/04/15(日) 00:43:32.58
じこしょうかいおつ
996デフォルトの名無しさん:2012/04/15(日) 00:44:23.92
他のオブジェクト指向言語をいくつか触ると、違う意味でJavaは冗長だと感じるようになる
997デフォルトの名無しさん:2012/04/15(日) 01:26:31.48
実際問題Javaは冗長だ
仕事増やすために作られた言語
998デフォルトの名無しさん:2012/04/15(日) 03:00:44.30
985 地震雷火事名無し(東日本) [] 2012/04/15(日) 00:58:20.56 ID:lyWM/WtS0 Be:
    18 名前をあたえないでください 2012/04/14(土) 18:45:57.12 ID:5MQDBpmZ
    勘違いしちゃいけないのは、テレビ局にとっての「お客様」とは、視聴者ではなく、カネを持ってくる者。
    では、スポンサー企業がそうかというと、実態はさに非ず。スポンサーを束ねる「広告代理店」これこそがテレビ局の金ヅル、お客様。
    木村太郎が言ったように、韓流コンテンツ採用で、韓国からカネが入るのは、もう周知の事実だから、韓国そのものがお客様でもある。
    テレビ局だけじゃなく、間にいる広告屋にも、当然それなりのものが流れているのは想像に難くない。韓流は、局と広告屋の双方にとっての金づるなわけ。
    特に韓流番組は、韓国からの金+国内スポンサーの金と、局にとっても広告屋にとっても、利幅が大きい「おいしい商品」なんだね。
    スポンサー料以外の、特に外国から来る金は、いろいろ偽装しやすいから、裏金にも回せて、局にとってはたいへんありがたい存在でもある。
    以前、NHKが、韓国番組を相場の三倍で購入していると言われたが、常識で考えて、その金すべてが韓国へ行ってるわけがない。
    自身や、間に入った傘下の会社へ、たっぷりと還流するシステムができていると考えるのが当然。
    どこのテレビ局にとっても、こんなおいしいシステム、ちょっとくらい批判されたって、やめられる訳がありませんって。
999デフォルトの名無しさん:2012/04/15(日) 04:35:13.40
★★Java質問・相談スレッド151★★
http://toro.2ch.net/test/read.cgi/tech/1326557705/
1000デフォルトの名無しさん:2012/04/15(日) 06:13:38.27
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。