★★Java質問・相談スレッド152★★at TECH
★★Java質問・相談スレッド152★★ - 暇つぶし2ch1:デフォルトの名無しさん
12/02/20 14:25:51.01
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    URLリンク(pc11.2ch.net)
Webプログラミング URLリンク(pc11.2ch.net)
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド151★★
スレリンク(tech板)


2:デフォルトの名無しさん
12/02/20 14:26:26.75
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing & JavaFX 10
スレリンク(tech板)
■ SWT は --
Java 高速GUI SWT 3
スレリンク(tech板)

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part22
スレリンク(tech板)
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
スレリンク(tech板)
■ Androidアプリの作成は --
Androidプログラミング質問スレ Part16
スレリンク(tech板)

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 71 ★★
スレリンク(tech板)

■ NetBeansに関する雑談は --
NetBeans Part6
スレリンク(tech板)
■ Eclipseに関する雑談は --
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
スレリンク(tech板)

**** 開発環境、実行環境は ****
■ Java SE Downloads
URLリンク(www.oracle.com)

3:デフォルトの名無しさん
12/02/20 14:45:57.51
System.out.println("たておつです");

4:デフォルトの名無しさん
12/02/20 16:09:56.27
ロガー書くのめんどくせ。構文に組み込んでくれねーかな

import org.slf4j.*;

class Foo {
Logger log = LoggerFactory.getLogger(Foo.class);
}

5:デフォルトの名無しさん
12/02/20 16:54:56.82
いくら頑張って勉強してもジャヴァの派遣ITドカタになったら日本では年収300ー400万ぐらいにしかならないんですか?

6:デフォルトの名無しさん
12/02/20 17:03:15.85
SIerに関する話題はスレ違い

7:デフォルトの名無しさん
12/02/20 18:43:13.90
スレどころか板が違うわ

8:デフォルトの名無しさん
12/02/20 18:45:50.82
jQueryの$.ajaxのGETで渡したデータ(配列等)をStrutsのアクションで受け取りたいです。

request.getParameterメソッドでうまく取れないのですが、どうしたらいいでしょうか。

9:デフォルトの名無しさん
12/02/20 19:20:41.14
スレリンク(tech板:927番)
ドワンゴのような零細に行っても結果は同じ
小さい会社に行けば社長の力が異常に強くなり
ワンマン経営に不満を持つようになる

スレリンク(tech板:928番)
まったく発言できない?
気のせいだろうな。
むしろ技術を知らない奴が多い板で発言しようとすると
煙たがる奴が多く現れることがあるが。

まあ副業しながらやるのが幸せだな。
なおかつ孤独にも耐えられて。孤独に耐えられなければ独立起業も絶対に無理だから
>>926がもし孤独に耐えられるなら独立起業も1つの手だな。

10:デフォルトの名無しさん
12/02/20 19:23:47.02
スレリンク(tech板:930番)
> スレリンク(tech板:925番)
>>大学で論理や数式を学んだ結果がこれだなんて、なんのために今まで勉強してきたのやら。
>>今の日本の情報教育は間違っていると思います。
>悪気は無いが… 君の発言は意訳すると「私は井戸から出たことなかった自信過剰な低脳蛙です」ってのが現実。
>思うに君は、学生時代は人一倍プログラミングできて周りに「凄いヤツ」ってチヤホヤされてたんでしょ。
>それでカンチガイしちゃった自信過剰なヤツが社会に出て1~2年目、君と全く同じことを言って消える。

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

> そんなことくらい学生時代に知っとけよ、ろくに業界研究もしないで就職決めたからそうなる。
就職先なんて、ここがいいと思っても採用されるとは限らない。まあ変な会社に入れば、変な会社でもそれなりになにかしら経験を積むことはできるだろう

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

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

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

実力があっても評価されることがないなんて普通だよ。自分の得意分野と会社が求めている分野が初めて一致した時に初めて実力が評価される。
自分を会社に合わせるか、自分にあった会社を探すか、自分にあったビジネスを自分で生み出すか、の違いだ。
925がどう思っているかは知らないが。

12:デフォルトの名無しさん
12/02/20 19:26:46.68
レス乞食乙

13:デフォルトの名無しさん
12/02/20 19:36:12.18
スレリンク(tech板:937番)
> スレリンク(tech板:928番)
> いいですね。その日暮らしで生きていきたいものですが、家族が許してくれないという壁が大きいですね。
> 年金とか税金とか払えるのかって、生涯賃金しっかり稼げるのかって。

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


> スレリンク(tech板:930930番)
> はい自意識過剰です。Fラン大学を周りからちやほやされて上位3位で卒業しましたよ。
>
> でもそうやって育ててきたのはやっぱり学校だと思いますよ。
> 会社がほしい人材と学校の教育方針が思いっきりずれてるとよく言われてますし、
> パソコン学んだから仕事できるんだと言われても、

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

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

そういう不満には誰もが直面することだが
たまたま大学で学んだ技術を活かせる機会がいまのところお前になかっただけだ。

14:デフォルトの名無しさん
12/02/20 19:37:41.45
> 配属先の会社、部署までを入社前に調べられるのは内通者か企業スパイだけでしょ。
> 会社はインターンとか会社説明では現実をおもいっきりぼかしてる。

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

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

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

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

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

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

褒められるためだけに働くのはどうかと思うぞ。

15:デフォルトの名無しさん
12/02/20 19:39:55.72
スレリンク(tech板:941番)
> スレリンク(tech板:937番)


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

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


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

一生コンビニで働くのがよいとは思わないが
一回くらいはそういうところではたらけばいい経験にはなると思うぞ
下手なプログラマーよりも金を稼げる
コンビニバイトを舐めてかかからんほうがいいぞw

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


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

何か機転を利かせる必要があるということだな。

17:デフォルトの名無しさん
12/02/20 19:47:44.86
とにかく、Facebookのマーク・ザッカーバーグを見習え!

そういうことだ

18:デフォルトの名無しさん
12/02/20 19:56:23.23
荒すな

19:デフォルトの名無しさん
12/02/20 21:03:46.11
さすがに長すぎて読む気がしないが、最後だけみるとネトウヨっぽい。

おそらくフジテレビのデモとかで騒いでるチャンネル桜とつるむ暴力団員が
シノギでjava土方やってると伺える。

20:デフォルトの名無しさん
12/02/20 21:24:50.61
板違いもいい加減にしろ

21:デフォルトの名無しさん
12/02/20 21:37:12.48
>>5

22:デフォルトの名無しさん
12/02/20 23:01:03.55
こんな長いレス書ける奴が2人いるのは奇跡
よって自演

23:デフォルトの名無しさん
12/02/20 23:11:59.37
Javaって本当に害虫のための言語だな。
Cへ進んだ人間は社会開発でエリートコースまっしぐらにサクセスストーリーを歩めるというのに
Javaへ落ちた奴は契約先の一流企業に寄生する害虫害虫って言われ続けて働きアリのように奴隷生活。

ほら、配属先の人間が呼んでるよ。「害虫さん」って。

24:デフォルトの名無しさん
12/02/20 23:13:12.30
>>23
一方しか使えないなんてこと無いだろwww

25:デフォルトの名無しさん
12/02/20 23:22:26.61
ArrayIndexOutOfBoundsExceptionはarrayの範囲を超えた参照、セット時に起きると認識していますが
それ以外で起こるケースはありますか?

26:デフォルトの名無しさん
12/02/20 23:44:00.63
自分で throw すればいつでも起きる

27:デフォルトの名無しさん
12/02/20 23:49:18.96
throwの内部処理ってどうなってんだ

28:25
12/02/20 23:54:45.53
>>26
あー任意例外処理は、なしの方向で…
例えば、Int型のArrayでIntの範囲を超えた場合とか、そーゆーのでないですかね

29:デフォルトの名無しさん
12/02/20 23:56:01.35
グローバル変数とgoto文で再現できそうではある

30:デフォルトの名無しさん
12/02/20 23:59:00.98
煽りがいちいち突っ込みどころ満載なのはそういう様式美なの?

31:25
12/02/21 00:17:24.49
ふむぅ
実は、とある関数をネットからコピペして使ってみたのですが
ArrayIndexOutOfBoundsExceptionが発生してしまうんです
発生しない事もあって、デバッガ起動するも配列要素が1000以上あって中身のValueを見る事すら困難な状況なのです
コピペした内容に間違いはなく、呼び出し方も問題ないです
で、ArrayIndexOutOfBoundsExceptionって配列範囲外参照時以外でも起きるのかなぁと思った訳です
関数内ではArray.lengthでfor文回してるので溢れる事はないと思っているってのもあります

32:デフォルトの名無しさん
12/02/21 00:32:15.94
ソースコード貼り付けれ。
どうせつまんないバグだろうから。

33:デフォルトの名無しさん
12/02/21 02:19:44.28
というか配列の前後にtry文入れてデバッグすれば一発なんじゃないの?

34:デフォルトの名無しさん
12/02/21 02:31:01.95
というか配列の前後にtry文入れなくてもデバッグすれば一発なんだと思うよ

35:デフォルトの名無しさん
12/02/21 04:30:12.84
>>25は仮想マシンのバグを発見したのだろう。
学会で発表すれば伝説の若き天才として名を残せるかもしれない。

36:デフォルトの名無しさん
12/02/21 04:34:18.11
俺はjavaを使った事がないから、質問には答えられない。

37:デフォルトの名無しさん
12/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
オフィスはコワーキングスペースを借りる
URLリンク(bit)<) .ly/iLIpJa
URLリンク(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:デフォルトの名無しさん
12/02/21 09:55:31.86
javadoc見ればArrayIndexOutOfBoundsException投げるメソッド全部解るだろ
MIDIトラックのインデックス指定がこれ投げるシグネチャなのはどうかと思うが。

キャッチしたIndexOutOfBoundsExceptionが
ほんとはArrayIndexOutOfBoundsExceptionだったということもあるだろうな

39:デフォルトの名無しさん
12/02/21 10:32:17.78
ライブラリ内でprintStackTrace()で表示して途切れてしまっているために
スタックトレースが自分のプログラムまでに及ばす原因を追求するのは難しい事がある。
しかも解決不能なんて事例がSwingのBoxViewやFlowView辺りでは存在する。

40:デフォルトの名無しさん
12/02/21 10:44:23.95
訂正:printStackTraceを表示してるかしてないかは別として
例外を内部的にcatchして吐き出さないので、そこで途切れてしまっている。

41:デフォルトの名無しさん
12/02/21 10:45:36.56
Servletで使うクラスのメンバ変数って
なんでfinalにする事が多いん?

42:デフォルトの名無しさん
12/02/21 11:05:10.35
>>41
前スレでもこの質問あったな。
ちなみに「メンバ変数」じゃなくて「フィールド変数」。
(あるいは単に「フィールド」)

Servletオブジェクトはスレッド間で共通であることは知ってるかな?
そんな状況で非finalフィールドが存在したらどうなるかを考えてみよう。
(例えば、doGetメソッドでユーザから受け取った値をフィールドに設定したりしたらどうなるか)

43:42
12/02/21 11:09:46.06
いや、確か仕様上は共通のServletオブジェクトを使わなくてもいいのか。
でも通常はアクセス毎とかセッション毎に専用のServletオブジェクトを使ったりしない。

あと、SingleThreadModelうんぬんと言い出す輩が居るかもしれないけど、これは忘れていい。

44:デフォルトの名無しさん
12/02/21 11:23:29.59
>>42
えっ、それって普段privateにしてカプセル化してるけど。

45:42
12/02/21 11:40:08.38
privateでカプセル化?
他のクラスからアクセスできないようにしたところで意味ないよ?

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

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

いい場合もあるけど、それは少ない。

46:デフォルトの名無しさん
12/02/21 12:11:38.88
知ったかはやめた方がいいぞ。間違ってるから。

47:42
12/02/21 12:13:06.64
おや、どこが間違ってるか言えますかな?

48:デフォルトの名無しさん
12/02/21 12:15:46.81
前提が間違っているから「全部」だ。

49:42
12/02/21 12:16:14.54
ああ、そうですか。
それはよかったですね。

50:デフォルトの名無しさん
12/02/21 12:16:41.47
厚顔無恥

51:デフォルトの名無しさん
12/02/21 12:30:47.30
横からだけど、>>41の質問のどこに前提が書かれてるの?

52:デフォルトの名無しさん
12/02/21 12:34:27.02
書かれてない前提をエスパーしろってことじゃね

53:デフォルトの名無しさん
12/02/21 12:36:56.89
>>48 はエスパーできるなんてすごいね。
よく「間違ってる」なんて断言できるものだ。

54:デフォルトの名無しさん
12/02/21 12:50:29.52
42は間違ってないよ

55:デフォルトの名無しさん
12/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。

56:48
12/02/21 13:04:48.72
すみません私が厚顔無恥でした半年ROMします

57:デフォルトの名無しさん
12/02/21 14:04:02.20
string test = "test1"
string[] hairetu = new string{"test1","apple"}

配列の中に”test1”が入ってるかどうかを調べるメソッドってない?

58:デフォルトの名無しさん
12/02/21 14:10:48.26
Arrays.asList(test).contains("test1")

59:デフォルトの名無しさん
12/02/21 14:37:34.69
コピペの質問ばっかり

60:デフォルトの名無しさん
12/02/21 15:11:19.01
メソッドを呼び出す感覚でオブジェクトを作ることに未だ慣れない

61:デフォルトの名無しさん
12/02/21 15:21:49.77
じゃあstaticおじさんになればいいよ

62:デフォルトの名無しさん
12/02/21 15:25:09.56
またはてなネタなんか出して…

63:デフォルトの名無しさん
12/02/21 15:58:49.76
finalは固定値だと説明すればいいだけでは?w
おまけにカプセル化で他からアクセスできないってどんだけ笊セキュリティーなservletだよ。

64:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/02/21 21:24:04.62
>>64
MMがダメなんじゃね

66:デフォルトの名無しさん
12/02/21 22:14:13.95
>>64
DDがダメらしい
"2012-12-99 02:07"なら四月になる

67:デフォルトの名無しさん
12/02/21 22:18:37.65
AWTでアプレット作成しているんですが、ある時からボタンやテキストフィールドの大きさや位置を変更しても全く反映されなくなりました。

どうしたら良いのでしょうか?お願いします。

68:デフォルトの名無しさん
12/02/21 22:39:20.27
アプレットを作るのを辞める

69:デフォルトの名無しさん
12/02/21 22:44:28.35
>>68
これは解決できない問題なのでしょうか?windows以外のOSで実行しても変化がありませんでした。

70:デフォルトの名無しさん
12/02/21 22:56:38.14
これっていわれても

71:デフォルトの名無しさん
12/02/21 23:22:52.12
>>64
どこからのコピペだよ。DDはやめてddにしとけ。

72:デフォルトの名無しさん
12/02/21 23:27:13.79
ソースコードうぷれ。
どうせくだらないバグだろうから。

73:25
12/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;
}
//続きます

74:25
12/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:デフォルトの名無しさん
12/02/21 23:46:23.19
これだな。
URLリンク(groups.google.com)

第二引数の配列のサイズ知りたいな。
第一引数は new int[width * height] でいいでしょ。

76:デフォルトの名無しさん
12/02/21 23:52:02.50
あ、第三引数と第四引数の値も必要。

まとめると、
第一引数:width * height のサイズの int[] で良いか。
第二引数:byte[] のサイズ
第三引数:width の値
第四引数:height の値

77:25
12/02/22 00:06:43.70
>>75
それです。

>>76
rgb:(id=829649929216)
yuv420sp:(id=829651570624)
width:854
height:480
となっていますが、
1,2個目は凄い長い配列になっていてコピーしきれませんでした…

78:デフォルトの名無しさん
12/02/22 00:13:31.42
lengthを使ってるって話はどうなったんだ?

79:デフォルトの名無しさん
12/02/22 00:13:58.35
rgb配列とyuv420sp配列は、idじゃなくてサイズを知りたいんだ。
よろしく。

80:25
12/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:デフォルトの名無しさん
12/02/22 00:27:45.11
>>80
yuv420sp.length とやると、配列のサイズ取得できるよ。
ここが一番肝心なんだ・・・

82:25
12/02/22 00:30:36.22
>>81
すいません。すいません。
460800でした。

83:デフォルトの名無しさん
12/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バイト以降に、何か有用なデータがあるみたいですな。

84:25
12/02/22 00:49:08.49
>>83
凄い親切に有難う御座いました。
まだまだ勉強不足ですが、少しずつ理解していきたいと思います。
ちなみに、以下は正常時(エラーにならない時)のケースです。
rgb:384000
yuv420sp:115200
width:480
height:800

85:デフォルトの名無しさん
12/02/22 00:55:00.87
URLリンク(e-words.jp)
> 1ピクセル当たり12ビットのデータ量で色情報を表現する方式。
ほら、1バイト=8ビット の1.5倍の 12ビットが必要だ。

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

>yuv420sp:115200
これじゃ足りないと思うけどな。
まあいいや。

86:デフォルトの名無しさん
12/02/22 03:07:57.12
Windows環境を6u31から7u3にすると、.jarファイル名や.jarが存在するパスの一部にでも
全角文字があると起動出来なくなるようですが、これは新たな仕様?

87:デフォルトの名無しさん
12/02/22 03:20:51.88
仕様

88:デフォルトの名無しさん
12/02/22 08:02:13.18
>>72
うぷれ!うぷれ!

89:デフォルトの名無しさん
12/02/22 09:46:58.99
修飾子finalの用途がわからない
final int の用に変数につけると、一度だけ決めるリテラル。のような物


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

クラスにつけるfinal=Staticメソッドと同じような扱いと覚えればいい?

90:デフォルトの名無しさん
12/02/22 09:52:55.06
調べればすぐわかることを調べないとは

91:デフォルトの名無しさん
12/02/22 09:54:01.82
final classでググれ

92:デフォルトの名無しさん
12/02/22 09:56:31.26
調べたら文字面は出てくるけど言ってる意味が分からないということだろ

・サブクラスで変更されたくないクラスやメソッドにつける
・不変オブジェクトを作るときに使う コンカレント実行に便利 (synchronized指定が必要ない)
・あとお勧めの用途があれば

93:デフォルトの名無しさん
12/02/22 09:56:31.17
継承できない、オーバーライドできないのはしっていましたが

calss HogeMain{
p s v main(){

}

94:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/02/22 10:06:16.43
staticメソッドにするだけでそう書けるぜ

96:デフォルトの名無しさん
12/02/22 10:09:21.75
p s v main(args){

って何のことですか?

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

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

staticメソッドあたりはなんとなく分かっていたけどさ

98:デフォルトの名無しさん
12/02/22 10:16:46.73
calss

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

格納されていない場合には、hiddenなどで全画面にIDのようなものを持たせれば対応できますか?

100:デフォルトの名無しさん
12/02/22 17:55:47.30
Appletのアプリを作成しています。
SwingでHTMLのTableみたいな表を作成して枠線を引くには何のコンポーネントを使ったら良いでしょうか?
もしくは他のパッケージで良いのがありましたら教えてください。


101:デフォルトの名無しさん
12/02/22 19:18:13.69
JTable

102:デフォルトの名無しさん
12/02/22 20:27:08.44
proguardguiで、inputに入れたjarは難読化とかされるんだけど
library jarsに入れたものは難読化されない
input jarから参照されているメソッドのみにしつつ、ライブラリも難読化したいのだけど
どうしたらいいの?

103:デフォルトの名無しさん
12/02/22 20:32:06.17
知らないけど、
難読化したコードを読みやすくするツールとかもあるんじゃねーの?

104:デフォルトの名無しさん
12/02/22 21:34:07.74
JFrameを閉じるメソッドってどれっすか?

105:デフォルトの名無しさん
12/02/22 23:18:31.33
dispose

106:デフォルトの名無しさん
12/02/23 01:00:17.41
GlassFishの質問てここでいいのかな。

107:デフォルトの名無しさん
12/02/23 10:18:38.65
Consoleクラスって端末(コマンドプロンプト)から起動させないと
動作検証できないん?

javac java とか面倒なんで
Eclipse上で動作するならそれのがいいな~っと

108:デフォルトの名無しさん
12/02/23 14:03:31.82
うん

109:デフォルトの名無しさん
12/02/23 17:21:59.58
アプレットからローカルファイル保存する魔法のクラスがあったら教えてください。


110:デフォルトの名無しさん
12/02/23 19:00:32.54
>>109
署名付きでいけるがブラウザごとにやり方違うからアプレットじゃなくてJavaWebStart使うよろし

111:デフォルトの名無しさん
12/02/23 19:34:45.90
JFrerChart使ってグラフ書いてるんだけど、その相談という質問も大丈夫ですか?

112:デフォルトの名無しさん
12/02/23 20:45:38.78
JFreeChartは見たこと有るけど、一文字違いのそんなのも有るんだなあ。

113:デフォルトの名無しさん
12/02/23 20:47:07.76
ところで皆ココ使ってる?
URLリンク(www.java2s.com)

114:デフォルトの名無しさん
12/02/23 20:59:41.06
jfreechartってゴミみたいなディベロッパーズガイドを高額で売ってるよな

115:デフォルトの名無しさん
12/02/23 21:15:57.72
すいません質問させてください

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

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

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

よろしくお願いします


116:デフォルトの名無しさん
12/02/23 21:29:58.86
javaからjava以外には送れん

117:デフォルトの名無しさん
12/02/23 21:35:39.80
>>116
そうなんですね…
返信ありがとうございました

118:デフォルトの名無しさん
12/02/23 21:50:31.90
JNIで出来ないか?

119:デフォルトの名無しさん
12/02/23 22:35:20.68
ユーストリームの広告がホップアップしてきたら自動で消すスクリプトの作り方を教えてください

120:デフォルトの名無しさん
12/02/23 22:36:48.22
java.awt.Toolkit.getDefaultToolkit().createImage("ファイル名"))で得られたjava.awt.Imageインスタンスから
画像を保存するためにはどうするのが一番でしょうか?

javax.imageio.ImageIO.read()で読めというのはナシでお願いします

121:120
12/02/23 22:46:42.93
すみません、質問変えます

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

この画像を保存するために何か他に良い方法はないでしょうか?

122:デフォルトの名無しさん
12/02/23 23:02:54.80
>>121
ブラウザでも表示できないんだけど。
> 画像ファイル "URLリンク(www.tu.no)" は壊れているため、表示できませんでした。


123:デフォルトの名無しさん
12/02/23 23:28:31.04
露出少女遊戯1~6
F_72938 基本

124:デフォルトの名無しさん
12/02/23 23:28:49.96
はい、書き込むスレ間違えました
スレリンク(heaven4vip板)

125:デフォルトの名無しさん
12/02/23 23:36:49.23
オレが落としに行くかどうか試す気だな!?

126:120
12/02/24 03:17:13.05
>>122
私はsafari, firefox, chromeで表示を確認しました(内chromeでは正しく描画出来てませんでしたが)

URLリンク(regex.info)
上記ページでも分かるように、U.S. Web Coated (SWOP) v2というカラープロファイルを使っている為起こるようです
これに限らず妙なプロファイルを使っているとダメなようですね

ただのバイナリデータとしてOutputStreamとか使えばいけたので一応自己解決しましたが腑に落ちない感じです

127:デフォルトの名無しさん
12/02/24 03:57:14.02
>>19
ネトウヨを連呼しているってことはお前は朝鮮人か

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

このバカは暴力団がウヨクだと思っているようだがあれはどう見ても左翼なんだが
「しのぎでJava土方」とかって、しかもこいつJavaアンチか

128:デフォルトの名無しさん
12/02/24 03:59:09.84
>>23
まるでCが一流みたいな言い方だな
いまどきCだけで食っていける分野は組みこみくらいしかないぞ
これがJavaをなめてかかって痛い目にあった過去を忘れたバカの極みか
昔はJavaの仕事がなかったのに急にJavaの仕事が増えて
慌ててオブジェクト指向の勉強してデザインパターンって何だ?DIって何だ?とかあたふたしているレベルだろこいつw

129:デフォルトの名無しさん
12/02/24 04:00:36.78
>>30
> 煽りがいちいち突っ込みどころ満載なのはそういう様式美なの?

煽り方がかなり時代遅れだからな
あのバカは数年前の思考回路で止まっているんだよ
だから煽りが突っ込みどころ満載になるw

130:デフォルトの名無しさん
12/02/24 09:25:26.92
byte[]→Byte[]への変換は
配列の中身を1つずつbyte→Byte変換していくしかないのでしょうか?

131:デフォルトの名無しさん
12/02/24 09:35:06.31
Commons Lang の ArrayUtils.toObject(byte[]) が使える。

132:130
12/02/24 11:11:15.67
>>131
ありがとうございます。

133:デフォルトの名無しさん
12/02/24 11:17:19.96
jniでキー送るのは前に回答した憶えがあるから根性で過去ログ探せば出てくるぞ

134:デフォルトの名無しさん
12/02/24 12:27:01.14
>>45
> privateでカプセル化?
> 他のクラスからアクセスできないようにしたところで意味ないよ?
>
> あー、もー、面倒だけど説明しよう。
>
> Aさんがブラウザから値を入力するでしょ。
> その値をフィールドに格納するでしょ。
> そのあと、Bさんがブラウザから値を入力するでしょ。
> で、その値をフィールドに格納したら、Aさんの入力した値は消えてしまう。
> 値が消えていいの?
>
> いい場合もあるけど、それは少ない。

それってーそのフィールドを、ユーザー用のインスタンスに移せばいいのでは

135:デフォルトの名無しさん
12/02/24 13:09:02.48
ちょっと自分でも判らなくなってきてしまったんだけど、たとえばdoGetの中で
Aというクラスをインスタンス化すると、Aのインスタンス変数はスレッド固有メモリ領域に入るって理解で良いんだよね?
ヒープ領域に入るのはHttpServletクラスを継承したインスタンスのインスタント変数って理解で合ってますよね?


136:デフォルトの名無しさん
12/02/24 13:12:05.74
>>134
元の質問ちゃんと読んだ?

137:デフォルトの名無しさん
12/02/25 00:38:19.68
>>135
全然違う。


138:135
12/02/25 00:58:21.36
>>137
頭大丈夫ですか?

139:デフォルトの名無しさん
12/02/25 01:30:17.29
>>133
ほ ほんとですか!?

でも過去ログ読めないんですけど…
もう1度教えてくれたりなんかしたら嬉しいななんて…

140:137
12/02/25 01:31:51.77
>>138
全然理解してないキミこそ頭大丈夫?

141:デフォルトの名無しさん
12/02/25 02:48:01.61
JNI使ってもDirectXのアプリケーションにキー送れたかな?Win32APIだけじゃ無理だったような…

142:135
12/02/25 03:11:44.01
>>140
www(苦笑)

143:デフォルトの名無しさん
12/02/25 07:07:53.08
テスト

144:デフォルトの名無しさん
12/02/25 07:25:45.83
テスト

145:デフォルトの名無しさん
12/02/25 07:43:28.68
>>135
勉強しなおした方がいいな。そこだけ納得したら先に進めるってレベルじゃないだろ。

146:135
12/02/25 07:56:13.68
完璧だしwww

147:デフォルトの名無しさん
12/02/25 07:58:12.58
い、インスタント変数?

148:135
12/02/25 08:04:17.57
public void doGet(request, response) {
 A a = new A();
}

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

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

なにか間違ってる?

149:135
12/02/25 08:06:05.17
「Tomcat」は「サーブレットコンテナ」の間違い。

150:デフォルトの名無しさん
12/02/25 12:39:50.34
addWindowListenerのwindowClosedを使って
クライアント終了時にウィンドウのサイズとか保存するようにしてるんですが、
実行中にエラーがあってもウィンドウがそのまま残ることがあって、
ウィンドウを閉じるとエラーを吐いたときのクライアントの情報が保存されてしまいます。

javaがエラーを出しているかどうか実行中のプログラムから知る方法はありますか?

151:デフォルトの名無しさん
12/02/25 13:11:42.68
>>150
try catch

152:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/02/25 13:54:39.92
String s = "a:bb:ccc";
int i = s.indexOf(':') + 1;
System.out.println(s.substring(0, i));

154:135
12/02/25 14:02:55.77
>>152
正規表現のパターンを ".*?:" にすれば多分いけるよ。
やってみ?

155:デフォルトの名無しさん
12/02/25 14:13:41.19
え

156:デフォルトの名無しさん
12/02/25 14:31:40.23
>>153,154
ありがとうございます!
期待どおりに動作しました。
*と?と+の使い分けをよく理解できていませんでした。
ずっと悩んでいたので助かりました。

157:デフォルトの名無しさん
12/02/25 15:22:44.41
添字5000を持った配列を1000個消して4000にしたいのですが、
そのような関数はありますでしょうか?
Array.lengthを4000にしたいです。

158:デフォルトの名無しさん
12/02/25 15:31:22.87
javaは作法的に引数で渡されたオブジェクトのデータを変更したり無いですか?

159:デフォルトの名無しさん
12/02/25 15:52:18.33
ヨコハマ語でおk

160:135
12/02/25 15:55:46.67
>>157
java.util.Arrays.copyOfRange() か、Commons LangのArrayUtils.subarray()。
どっちもSystem.arraycopy()を使っているから高速。

161:デフォルトの名無しさん
12/02/25 16:21:47.05
>>150
どこかで握りつぶされてなければ
Thread.UncaughtExceptionHandler使って取れると思う。

162:デフォルトの名無しさん
12/02/25 19:02:18.83
>>159
Javaプログラマのトイズ

163:デフォルトの名無しさん
12/02/25 21:42:21.51
僕のプログラム中に
if((a & b) != 0)という感じの記述が沢山あるのですが
もっと簡潔な書き方はないでしょうか?

164:デフォルトの名無しさん
12/02/25 21:45:28.20
ビット演算結果で判定となるとなんとも

165:デフォルトの名無しさん
12/02/26 01:46:50.02
なんでString#subSequenceってsubstringと同じと決まってるの?
CharSequenceでいいんだから文字列の中身コピーしないでラッパー返せばいいのに

166:デフォルトの名無しさん
12/02/26 02:00:50.67
substringも実は中身のコピーはしてないよ

167:デフォルトの名無しさん
12/02/26 10:47:53.77
>>150
すべてのリスナにtrycatch監視を記述するのは結構大変な作業になるので、
自作のEventQueueでイベントディスパッチャを置き換えるのが楽。

168:デフォルトの名無しさん
12/02/26 11:04:34.04
>>163
if( ! (a == -1 && b == -1) )

169:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/02/26 20:44:01.61
どうしてそういう状況になったかわからんがclassCをパッケージの外に出せないの?
もしくはそのパッケージの中にサブパッケージを作ってclassCを移動する。
それも嫌なら
class B extends A{
funcB(){
super.funcA();
}
@Override
void funcA(){ throw new UnsupportedOperationException();}
}
とするとか


171:デフォルトの名無しさん
12/02/26 21:15:18.62
>>170
レスどうもありがとうございます。
なるほど、b.funcA()でアクセスした場合は例外を投げさせるわけですね。
そして本来ならclassCをパッケージの外に出すのが王道ということですね。勉強になります。

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

ちょっとパッケージとサブパッケージに関してぐぐって来ます。
どうもありがとうございました。

172:135
12/02/27 03:32:39.73
>>171
> 本来ならclassCをパッケージの外に出すのが王道ということですね
>>170の言っていることを真に受けるなよ。

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

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

Javaの設計がおかしいんだよ。
Javaの設計自体が邪道。
公開範囲が無駄に広い。
C#とかKotlinとか、Javaより後発の言語はprotectedの公開範囲がサブクラスのみ。
Javaを使い続けるならこの公開制限の広さは甘受しなければならない。

173:135
12/02/27 03:39:44.30
> class B のサブクラスが10個あったらすごいことになるよ?
> 発想がアホすぎる。
これ間違い。忘れて。

174:デフォルトの名無しさん
12/02/27 07:25:49.40
この世からjavaが無くなればいいのに

175:135
12/02/27 07:31:16.65
使わなきゃいいじゃん

176:デフォルトの名無しさん
12/02/27 08:33:07.10
存在するから仕事で無理やり押し付けられることもある

177:デフォルトの名無しさん
12/02/27 09:04:02.53
>Javaを使い続けるならこの公開制限の広さは甘受しなければならない
パッケージ構造を見直してプロテクトする手段があるのに、
享受しなければ「ならない」って
下っ端が頭カチコチにして鬱憤をぶちまけてるだけじゃん。何様だw


178:135
12/02/27 09:58:31.56
クラスCとクラスA、Bの役割が異なる場合はそれでいい。
でもクラスCをクラスA、Bと同じパッケージに入れるのが自然な場合はどうすんの?
例えば、クラスCがA、BのFacadeとかの場合。

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

あと、「享受」なんて一言も言ってない。
日本語通じてないのかな。

179:デフォルトの名無しさん
12/02/27 10:36:25.56
頭硬い奴はプログラマやめた方がいいよ。邪魔だ。>>135

180:135
12/02/27 10:46:18.43
>>179
お前だよwww
なんでいちいちJavaの欠陥のために不自然なパッケージ構成にしないといけないんだよwww

181:デフォルトの名無しさん
12/02/27 10:51:16.36
>こんなのでいちいちパッケージ分けてたら、パッケージだらけになる。
センスないね。

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




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

183:135
12/02/27 11:01:50.28
はぁ???

com.example.hoge パッケージだけで済むのに、
com.example.hoge.sub パッケージ作ってそこにクラスC入れるの?
こんなことがある度にいちいちパッケージ2つ作んの?
馬鹿なの?死ぬの?

184:135
12/02/27 11:03:12.67
こんなクラス構成にして他人の仕事する邪魔な奴は、
回線切って首吊った方がいいよ^^

185:デフォルトの名無しさん
12/02/27 11:15:37.11
ユーティリティパッケージ com.hoge.utilを作ったとする。
135はcom.hoge.utilパッケージ内にビジネスロジックも書いちゃうのか?
ビジネスロジックは別のパッケージに書くのが当然だろ。



186:デフォルトの名無しさん
12/02/27 11:22:31.76
>>183
これはヤバイw思わず笑っちまったぜwwどうしてくれんだw

187:135
12/02/27 11:26:56.98
>>185
その通りだ。
その場合は、protedtedの可視性とか関係なしに、分けるべき。

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

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

>>186
君は頭悪いから理解できないだろうね。

188:デフォルトの名無しさん
12/02/27 11:38:47.90
C#教信者は巣にカエレ(・∀・)シッシ

189:デフォルトの名無しさん
12/02/27 11:40:24.12
まあ信用出来ない奴とは同じパッケージ作りたくないよな。
流行りのSCM使って同じパッケージを複数人で平行開発していく連中の手法には
正直オジサンついて行けないんだぜ…

190:デフォルトの名無しさん
12/02/27 11:58:53.22
C++friend愛好家の救済策に過ぎないprotectedスコープに
なぜそこまで熱くなれるんだおまいら

191:デフォルトの名無しさん
12/02/27 20:03:09.53
これからjavaとc++を勉強しようと思ってます
そこで質問なんですが、javaとc++ってどのあたりが違うのでしょうか?
注意点等あれば教えて下さい

また、どちらを先に勉強したほうがいい等のアドバイスもあれば
よろしくお願いします

192: ◆QZaw55cn4c
12/02/27 20:22:44.78
>>191
C++ は前身のCと同じくメモリ管理をきっちり行わなければならない。Java にはそれはない。
C の経験がある程度ある(malloc()/free()を自由に使いこなせる)のであれば、C++ も悪くはない。
そうでなければ Java で先にOOの概念を把握するのが(C++, Java の両方をマスターする希望をお持ちだったとしても)、近道だと思う。

193:デフォルトの名無しさん
12/02/27 23:20:14.68
>>192

ありがとうございます
cは触ったことがあるくらいなので
javaを学んだ後に、c++を勉強します

194:デフォルトの名無しさん
12/02/28 01:04:57.62
C言語はある程度わかるとして
JAVAを勉強しようと思うんだけど、Androidのアプリを作ることを目標としたときに
アプリを作りながらJAVAを覚えるか、JAVAをある程度勉強してアプリを制作するか
どちらのほうが効率が良いでしょうか。
一応、JAVAも継承・抽象クラスまでなんとか理解しているつもりです。

195:デフォルトの名無しさん
12/02/28 01:05:08.31
Javaって実行時にも何行目でエラーおきましたって教えてくれるの親切ですよね
CやC++ってSegmentation Faylt とかCore Dumpedしかいってくれないんだもん…

まだプログラムはじめて3ヶ月の初心者コメですいません><

196:デフォルトの名無しさん
12/02/28 10:27:10.41
男は黙ってアセンブラ

197:デフォルトの名無しさん
12/02/28 13:32:04.28
>>195
うにくすで開発してますな。VC++とかBorland C++だと行番号教えてくれるよ。

198:デフォルトの名無しさん
12/02/28 23:25:00.70
ByteArrayOutputStream()を使って書きだした情報を、

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

.toByteArray()を使わずに ByteArrayOutputStream から直接 ByteArrayInputSreamなどに変換して
そこから読み込む事はできますか?

199:デフォルトの名無しさん
12/02/28 23:45:19.25
なぜその質問をしたんですか?

200:デフォルトの名無しさん
12/02/28 23:57:09.18
メモリが節約できるかなと思いまして

201:デフォルトの名無しさん
12/02/28 23:58:44.83
思っただけですか?

202:デフォルトの名無しさん
12/02/29 00:17:24.19
意味ない質問すんなよ

203:デフォルトの名無しさん
12/02/29 00:18:41.80
>>195
gcc foo.c -Wall -g
gdb ./a.out
run
b main
c
bt
f #n

204:デフォルトの名無しさん
12/02/29 00:37:05.45
>>198
そこで PipedInputStream と PipedOutputStream の連結ですよ
スレッド2ついるが、パイプサイズ意識しながら注意深くやればシングルでもブロックしないはず

205:デフォルトの名無しさん
12/02/29 02:15:00.98
ByteArrayOutputStream(writeTo)
PipedOutputStream
PipedInputStream
ByteArrayInputStream
の順番でストリームが構成できるな。

206:デフォルトの名無しさん
12/02/29 07:17:40.83
ロングタームのプロジェクトを開始する予定なのですが、
Javaは将来性まだありますか?
何かJavaの存在をおびやかすような言語ってありますか?

207:デフォルトの名無しさん
12/02/29 08:25:03.47
>>206
どのくらい長いか知らんけど、
消えてしまう心配をするほど長いなら、Cにしとけばいいんじゃないの?
なんだかんだで、Cは生き残ると思うよ。

208:デフォルトの名無しさん
12/02/29 10:43:49.44
>>206
まー、APIドキュメントその他の重要資料が永遠に公式邦訳されない覚悟は必要かもな。

Oracleは何考えてるのか知らんが、日本でだけJavaが廃れるシナリオはありうる。
若い世代の英語スキル次第だが。

209:デフォルトの名無しさん
12/02/29 12:21:23.42
今時英語読めないプログラマーの男の人って…

210:デフォルトの名無しさん
12/02/29 12:28:42.10
サンプルみりゃわかんでしょ。日本語どころか英語すら読まなくても

211:デフォルトの名無しさん
12/02/29 13:12:27.36
>>206
ロングタームってどんくらいよ?100年だったら多分終わっている

212:デフォルトの名無しさん
12/02/29 13:14:25.48
英語っつーても使ってる単語とか言いまわしなんか決まりきってるものが多いから日常会話に比べりゃ楽でしょうに

213:デフォルトの名無しさん
12/02/29 14:27:52.10
チャレンジレスポンス認証というものに挑戦しようと思っているのですが
サーバ側で生成したチャレンジコードはセッション変数に保持するのが一般的ですか?

214:デフォルトの名無しさん
12/02/29 14:34:14.45
百人単位でIT土方が出動するようなプロジェクトだと、
公式日本語ドキュメントの有無にこだわる立場の人も出てくると思う。
「日本語ドキュメント出るまでJDK7移行は見送り」
な判断がマネジャーから降りてくるのも普通にありえそうなんだが

「半年後にEOL迎えるJDK6も禁止」な現場も出てくるんだろうな。
どうすんだよこれ

215:デフォルトの名無しさん
12/02/29 14:41:17.46
実際英語レベルってどれくらい必要なんだろうね?
どれくらい必要ですよって示されたことは未だかつて一度もないような気がする

216:デフォルトの名無しさん
12/02/29 14:44:51.94
>>213 一般的というか常識的に考えてそうだろ。

217:デフォルトの名無しさん
12/02/29 14:46:50.57
日本人の乞食が新聞読んでいて欧米人がビックリしたという逸話があるが。
今時英語も読めないドカタとか居るのかよ。

218:デフォルトの名無しさん
12/02/29 14:56:34.22
読めないわけではない
読まないのだ
空気と同じである

219:デフォルトの名無しさん
12/02/29 15:02:49.93
その逸話自体一種の識字率幻想だろ。
文科省は20年も調査してないのに識字率99%とかいまだにのたまってるんだから。

220:デフォルトの名無しさん
12/02/29 15:02:57.25
日本の場合、プログラマって小学生並みの知能しか持ってない高卒だらけだろ?

英語読めませーんってなるんじゃないか?
いつまでStrutsの1系を使うの?っていう現状もあるし

221:デフォルトの名無しさん
12/02/29 15:10:26.51
>>220
涸れた技術に固執しているのはむしろ上役だろ。

222:デフォルトの名無しさん
12/02/29 15:44:45.58
どうせ技術用語は分かったような分からないような和訳になるか
カタカナ英語になるんだから、日本語だろうが英語だろうが大差ないw

223:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/02/29 16:30:17.67
>>223
やりたいことはURLからjson文字列を取得してパースしたいです。
ネットで調べてもパーサーが沢山あってどれを使えば良いかわからないので
以前に使ったことのあるorg.apacheパッケージを使おうかと思っています。
デフォルトのパッケージで可能でしたらクラス名を教えてください。


225:デフォルトの名無しさん
12/02/29 17:42:06.82
>>223
URLリンク(hc.apache.org)

226:デフォルトの名無しさん
12/02/29 19:00:54.74
private で static で final な int はどう定義すればいいですか?

private static final int hoge;
ですか?それとも
private final static int hoge;
でしょうか

227:デフォルトの名無しさん
12/02/29 19:09:41.46
コンパイルエラーにならないからどっちでもいいんだろう。
掛け算の順序問題思い出したよ。

228:デフォルトの名無しさん
12/02/29 20:25:42.80
後者が多い気がする。

229:デフォルトの名無しさん
12/02/29 20:28:53.06
前者じゃないか?

230:デフォルトの名無しさん
12/02/29 20:48:04.43
ホントどうでも良い

231:デフォルトの名無しさん
12/02/29 21:19:24.32
>>226
Checkstyle導入している職場に放り込まれた時に備えて
static final の癖つけといたほうがいい。

232:デフォルトの名無しさん
12/02/29 21:19:29.92
final staic だな

233:デフォルトの名無しさん
12/02/29 22:07:21.69
推奨は private static final int hoge;

234: 忍法帖【Lv=2,xxxP】
12/02/29 22:08:39.04
コンストラクタのオーバーロードって意味あるのか分からん

235:デフォルトの名無しさん
12/02/29 22:18:45.06
なぜ意味がないと思うのかわからん
コンストラクタは他のメソッドよりもむしろオーバーロードしたくなることが多いと思うんだけど

236:長すぎるのでAA切っています(1/2)
12/02/29 23:00:20.90
仕事でずっとVB.netやってましたが、私の職場では1ファイルにクラスは1つでその中にメソッド(プロシージャ)を5~7個書くという構成が常で
構造化プログラミングに近かったのではないか?という不安がありました。継承とかもしたことありません。

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


┌──────────────────┐
│class (500~1000行)                                       │
│                                                   │
│メンバ変数                                            │
│アクセサ                                              │                                                   │
│┌─────────────────┐│
││ main()メソッド                                       ││
││                                                ││
││                                                ││
││                                                ││ 
│└─────────────────┘│
│┌─────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────┘│ 

237:デフォルトの名無しさん
12/02/29 23:00:43.80
│┌─────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────┘│ 
│┌─────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────┘│ 
│┌─────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────┘│ 
│┌─────────────────┐│
││ 関数                                             ││
││                                                ││
│└─────────────────┘│
│┌─────────────────┐│ 
││ 関数                                             ││
││                                                ││ 
│└─────────────────┘│  
└──────────────────┘

238:デフォルトの名無しさん
12/02/29 23:08:45.98
釣られないぞ

239:デフォルトの名無しさん
12/02/29 23:34:56.83
半年前の俺のソースソノモノ


240:デフォルトの名無しさん
12/02/29 23:35:51.17
そーっす

241:236、237
12/02/29 23:39:16.90
すいません

釣りではないですが、Javaでオブジェクト指向をする場合、.javaファイルにクラスは基本1つでも
それでもメソッドの個数を少なくして、再利用などしやすくするのが普通なんでしょうか?


242:デフォルトの名無しさん
12/02/29 23:41:58.16
図書館でもネットでもいいから
1時間x3日。計3時間ぐらい調べてから

ある程度下調べしてから質問・相談しような

243:デフォルトの名無しさん
12/02/29 23:46:40.16
ある程度調べてきました
それで結局どのようなのが普通なのでしょうか?

244:デフォルトの名無しさん
12/02/29 23:48:16.25
>>243は私ではありませんが、ただVB.net(とC#)でコード数年書いてきたのですが
実務でのオブジェクト指向で書かれたコーディングは見たことないのでできれば教えていただきたいです


245:デフォルトの名無しさん
12/02/29 23:50:07.31
Javaでもそんなもんです
オープンソースプロジェクトの成果物でも読んでろ

246:デフォルトの名無しさん
12/02/29 23:53:55.37
自分がわからない質問されるとすぐこれだ

247:デフォルトの名無しさん
12/02/29 23:56:16.55
Javaも所詮ドカタ言語ですから

248:デフォルトの名無しさん
12/03/01 00:01:22.75
>>241
すまんね、レスを跨って大胆にこられてたんで釣りかと思ったよ。

249:デフォルトの名無しさん
12/03/01 00:11:28.02
>>245
>>248
ありがとうございました。

実務においては、再利用やカプセル化などは、クラスなどのオブジェクト指向の機能でやるより
関数化などで行うんですね


250:デフォルトの名無しさん
12/03/01 00:13:09.40
はぁ?

251:デフォルトの名無しさん
12/03/01 00:19:12.02
様式なんか気にすることはない実際にやってみれば自ずと解る。
VBができるからjavaも余裕綽々でできますと言っちゃった手前、
何か不安があるのかな?と勝手に想像してみた。

252:デフォルトの名無しさん
12/03/01 01:10:15.20
質問に対して質問で返すとテスト0点なの知ってるか?マヌケ

253:デフォルトの名無しさん
12/03/01 01:17:52.19
やっぱ釣りでしたかw

254:デフォルトの名無しさん
12/03/01 02:32:13.26
>>252-253
自演乙

255:デフォルトの名無しさん
12/03/01 07:26:51.65
そういう構造になるクラスもあればそうじゃないクラスになることもある
業務内容とクラスデザインによるし、職場での規約にもよる
でも一応デザインパターンくらいは知っといたほうがいいと思う

256:デフォルトの名無しさん
12/03/01 12:17:00.86
メソッドを少なくするってのがわからんな。

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

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

OSSのライブラリだと、1ファイルに3000行とか
1メソッドにスパゲッティみたいな汚い書き方したものもある。

257:デフォルトの名無しさん
12/03/01 12:21:59.33
とりあえず外部から見えるpublic classには
javadoc書いて長くなることを考慮して
委譲を頻繁に使ってみるのが良かろう。

258:デフォルトの名無しさん
12/03/01 12:38:24.02
Commonsはソースコードが汚かったりするね。
なぜかというと、速度を追求しているから。

259:デフォルトの名無しさん
12/03/01 14:05:12.00
そうなんだ

260:デフォルトの名無しさん
12/03/01 21:38:08.48
下記のようなソースがあった場合、スレッドのインスタンス変数である「t.test01」は
スレッドセーフではないと考えて良いでしょうか?
URLリンク(itpro.nikkeibp.co.jp)」の記事を見ると
インスタンス変数はヒープ領域に格納されてスレッドセーフではないと書かれていますが、
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:デフォルトの名無しさん
12/03/01 21:42:27.40
読んでるだけだから全く問題ない
スレッドセーフなんていうのはあくまでプログラマの意図通りに動作するかどうかという話で
これがスレッドセーフでなくてこうしたらスレッドセーフになるとかいうのは機械的に決まるもんじゃないよ
どういう動作を期待してるかによる

262:デフォルトの名無しさん
12/03/01 21:45:28.42
せめてコンパイル通してから質問しに来てくれな

263:デフォルトの名無しさん
12/03/01 21:50:56.05
ドキュメントに「このメソッドは○を×します」と書いてあって、それをマルチスレッドで同時に読んだら
正しくその通りに動作しない可能性があるなら、マルチスレッドでは正しく仕様を満たさないという意味で
「このメソッドはスレッドセーフではない」と言うんだよ
別にJVMがぶっ壊れたりするわけじゃなくて使い方の問題

264:デフォルトの名無しさん
12/03/01 22:00:17.32
>>262
見辛くてすみません。

>>261
サーブレット開発怖いですねぇ。


265:デフォルトの名無しさん
12/03/01 22:01:47.59
マジでThread関連はわけわからん

なんとなく理解できているけど、実際にSynchronizedの使い方とか
イミフすぎる

266:デフォルトの名無しさん
12/03/01 22:16:09.68
馬鹿には無理

267:デフォルトの名無しさん
12/03/01 22:20:08.45
馬鹿には無理さん久々に見たな

268:デフォルトの名無しさん
12/03/01 22:20:55.33
>>260
>クラス変数とインスタンス変数は複数のスレッドに共有されているのでスレッドセーフではない
これ言葉がおかしいと思う
変数そのものにスレッドセーフもクソもないわ

269:デフォルトの名無しさん
12/03/01 22:52:42.63
スレッドセーフとステートレス・ステートフルを混同してそうな気がする

270:デフォルトの名無しさん
12/03/01 22:55:30.34
参照だけなら何も考えずに渡せる
更新するならロックかける

271:デフォルトの名無しさん
12/03/01 23:00:00.15
スレッドセーフ:Synchronizedとかで同期処理(順番待ち)されている
ステートレス:ReadOnly(getterあるけどsetterがない)で同期処理なし。

272:デフォルトの名無しさん
12/03/01 23:02:07.53
同期処理してなくてもスレッドセーフな場合は多いぞ

273:デフォルトの名無しさん
12/03/02 00:52:03.26
別のところで取り入れたjarライブラリはどういったディレクトリ構成で配置すればいいのだろう
やはりMavenでinstallしてから配備?

274:デフォルトの名無しさん
12/03/02 03:50:40.90
Javaで大量の文字列置換をしたいんですが、最も早い方法ってなんなんでしょうか?
扱う文字列や状況などにもよると思いますが、
そういった情報を公開しているサイトなどあればご教示下さい。

275:デフォルトの名無しさん
12/03/02 03:52:58.26
>>1
java.util.regex

276:デフォルトの名無しさん
12/03/02 04:01:45.80
最も早いのは正規表現を使うやり方。
最も速いのは正規表現を使わないやり方。

277:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/03/02 08:17:53.02
>>268
スレッド毎にスタックが分かれてるから

279:デフォルトの名無しさん
12/03/02 09:50:55.82
>>278
クラス変数やインスタンス変数を使って、結果的にスレッドセーフでないコードが書けるだけ
変数がスレッドセーフってどういうことだよ

280:デフォルトの名無しさん
12/03/02 10:23:31.24
>>279
お前は自分で考えることもできないのか

281:280
12/03/02 10:24:37.73
ウソデス…

282:デフォルトの名無しさん
12/03/02 10:32:08.70
>>279
スレッドごとに作成されて共有されていない変数はすなわち排他されているから。


283:デフォルトの名無しさん
12/03/02 11:52:54.28
>>273
Maven使えるんならShadeで単一JARにまとめちまえよ。
同梱が許されるかどうかはライセンス次第だが

284:デフォルトの名無しさん
12/03/02 12:31:17.37
>>277
setPrferredSize()の高さ指示に不満があるなら、
revalidate()しとけばいつかまたgetPreferredSize()で聞いてくるから
その時に希望サイズを伝えればいいよ。

285:デフォルトの名無しさん
12/03/02 20:05:30.89
すみません。
プログラムのアルゴリズムの質問していいですか?


286:デフォルトの名無しさん
12/03/02 20:19:41.88
質問していいかどうかという質問は Java に関する質問ではないと思うの

287:デフォルトの名無しさん
12/03/02 21:45:35.46
org.apache.tools.zip.ZipOutputStream; を使ってエロ画像をZIPにしてみたのですが、
susileのzip解凍プラグインから開くことができません。

URLリンク(twitter.4mydomain.com)

このZIPファイルは壊れているのでしょうか?
LhaForgeからは解凍できましたので、壊れていないかJavaのZIPの仕様がおかしいのかなと
思ってるのですがどうなんでしょう?


288:デフォルトの名無しさん
12/03/02 21:52:01.99
>>287
ちなみに中身は2次ブルマのエロ画像集です。
あとsusieのスペル間違えてました。


289:デフォルトの名無しさん
12/03/02 22:37:51.42
>>285です。
自己解決しました。

>>287
テキストファイルをjavaから圧縮したものと
普通に圧縮したものをバイナリで比較したらいいんじゃないかな。


290:デフォルトの名無しさん
12/03/03 00:42:04.10
>>236
>>237
関数を増やす感覚でクラスを切ったほうがいいと思う
一つの意味単位が1クラスになるって教えられた。
それだけ関数が多いのはやってることが多すぎると思うんだ

291:デフォルトの名無しさん
12/03/03 00:45:07.45
1000行で関数6つって別に大きくはないだろ

292:デフォルトの名無しさん
12/03/03 00:51:04.08
一つの意味単位が1クラスになるってどういうことですか?

293:デフォルトの名無しさん
12/03/03 01:00:57.61
例えば「ソケット通信でネットから情報取ってくる、XMLから情報取り出す、情報をSQLiteに詰める」という処理があったとき

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

みたいに分けることだと考えてる(もっと細かく分けたほうが再利用が可能になる…と思う)。
上の処理を全部同じクラスでやったりとかいうのはJavaプログラマはしない・・・しないはずッ

294:デフォルトの名無しさん
12/03/03 01:12:33.90
それはわかったが、>>236が多すぎるという根拠は?
>>293の挙げた各機能を実現するJavaの標準ライブラリのクラスが
どんだけのサイズで何個メソッド持ってると思ってんの?w

295:デフォルトの名無しさん
12/03/03 01:22:51.33
>>294
あ?てか煽りみたいなレスやめろクソが死ね
まあ確かに500-1000行だとそこまで多くないか

296:デフォルトの名無しさん
12/03/03 01:41:34.78
細かく分けたほうが再利用が可能になるというのは、5年程度の経験しかない者が設計したクラス・モジュールの場合どういった場面だと有用になるんですか?

297:デフォルトの名無しさん
12/03/03 02:07:48.29
再利用が可能になる場面で有用になるんですよ

298:デフォルトの名無しさん
12/03/03 03:09:54.70
おばあちゃんが包装紙とか一杯大事に保管してたりするだろ?あの感じ。

299:デフォルトの名無しさん
12/03/03 05:15:49.77
配列内のデータ検索はbinarySearch()とわかったんですが
何番目から検索をはじめるというような命令はないでしょうか?

300:デフォルトの名無しさん
12/03/03 09:14:30.99
>>299
ふつーにあるだろ?
Arrays#binarySearch(T array, int from, int to, T key)

301:デフォルトの名無しさん
12/03/03 09:59:11.45
ああそれでいいですか、どうもです。

302:デフォルトの名無しさん
12/03/03 13:54:50.94
>>287
zipのローカルファイルヘッダにCRC32、
圧縮サイズ、非圧縮サイズが設定されてる事を決めうちしてるとかじゃね?
仕様的にはそれらに全部ゼロを出力しておいて、
フッタ(データディスクリプタ)に記述してもOKなんだが、
レアケースなので対応してないソフトもたまにある。

susie使ってないから外してるかもしれんけど。

303:デフォルトの名無しさん
12/03/03 14:19:45.78
iTextの日本語版のjavadocってないんですかね?

304:デフォルトの名無しさん
12/03/03 16:11:37.06
>>303
多分ない。
iText使うつもりなら、いつの間にかライセンスがAGPLに変わってるから注意しろよー。

305:デフォルトの名無しさん
12/03/03 17:14:41.42
設定用ファイルからパス情報を読み込ませたいのですが、
例えば、設定ファイルで
ProgramPath=C:\Prog\foo
という情報を java.util.Properties や FileReader#readLine を使った自作クラスで読み込ませると
\ がエスケープ文字として扱われて読み込まれるため、
「C:Progfoo」 として読み込まれてしまいます。

自作クラスで一文字ずつ読み取ってエスケープしないように取り込むものを作れば可能だとは思うのですが、
その方法以外に、エスケープしないように読み込ませるクラスがすでにあるとか、もっと簡単な方法はありますでしょうか。


306:280
12/03/03 18:12:48.48
>>305
org.apache.commons.lang3.StringEscapeUtils.escapeJava(String)

307:デフォルトの名無しさん
12/03/03 18:13:13.45
test

308:デフォルトの名無しさん
12/03/03 18:17:01.39
大変だね

309:305
12/03/03 18:33:26.43
>>306
ありがとうございます。

ただ、これだとString 型になっている文字列に対する escapeと unescape処理はできそうですが、
設定ファイルから読み込んで文字列に入れるときに \ が処理されてしまうのは対応できなそうです。

310:デフォルトの名無しさん
12/03/03 18:39:09.86
>>309
String programPath = StringEscapeUtils.escapeJava(props.getProperty("ProgramPath"));
これじゃ駄目なの?

311:デフォルトの名無しさん
12/03/03 18:43:26.16
ああ、\P が P になってるのか。

312:デフォルトの名無しさん
12/03/03 18:58:52.33
そんくらい自作しろ。全部他人まかせだと知能が低くなるぞ。

313:デフォルトの名無しさん
12/03/03 19:06:29.28
>>312
自作はできますけど、ファイルからパスのように\文字を含む文字列をエスケープなしで読み込むのって
そんなにレアな状況じゃないと思うので
もし自分のしらない一般的な方法があるなら知りたいなと思いまして。

314:デフォルトの名無しさん
12/03/03 19:13:50.29
よくわからんけど replaceAll("\\","\\\\");でいいんじゃね?


315:デフォルトの名無しさん
12/03/03 19:26:26.68
>>314
読み込むファイルに \Prog と書いてあると、
FileReaderやFileInputStream とProperties クラスで、その文字列を読み込んだ時には、
\マークなしの Prog という文字列になってしまうので、
その方法だと何も行われずに終わっちゃうんです。

\n みたいに文字列中で改行文字になっているとかなら、まだ置換でやりようがあるんですけれど

316:デフォルトの名無しさん
12/03/03 19:32:32.99
プロパティファイルじゃないものをPropertiesクラスを使って読みたい
ってことだよいわせんなはずかしい

317:デフォルトの名無しさん
12/03/03 19:35:01.48
何言ってるかさっぱりわからん。なぜ皆わかる?

318:デフォルトの名無しさん
12/03/03 19:37:05.68
Properties クラスに食わせる InputStreamに、
\ を \\ に変換する独自の FilterInputStream を一段噛ませてやる

319:デフォルトの名無しさん
12/03/03 20:10:05.62
>>317
いや、分かるだろ

320:デフォルトの名無しさん
12/03/03 20:48:06.12
>>319
それでいけました。ありがとうございます。

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

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

出来合いのクラスは無いものか・・・

321:320
12/03/03 20:49:16.29
アンカミスった・・・318 さん宛にしたかった

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

322:デフォルトの名無しさん
12/03/03 21:07:48.52
えっ
ネタのつもりだったのにマジでそれ採用したのか
自前で読み込む方が簡単なんじゃ・・・まぁもう出来たんならいいか

323:デフォルトの名無しさん
12/03/03 21:09:18.87
>>317
Properties とか使って楽しようとしたら、
\ を適当に処理をしちゃう仕様なのでどうすればいい?
って質問だろ。

\ を含む文字列を普通に FileReader とかで読みこんでやって、
プロパティ名と値を Map かなにかに入れていけいくって方法もあると思うけど、
Properties の storeToXML とか loadFromXMLとか、ちょっぴり便利だしな

324:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/03/03 23:11:01.14
URLリンク(www.oracle.com)
ここへ行ってJRE 1.6.0_12取ってきて再度インストール。
その後アンインストール。
まずはそれやってみ。

326:デフォルトの名無しさん
12/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");
・・・
}

327:324
12/03/04 00:35:34.81
>>325
無事に解決しました!
もう一度ちゃんとしたのをインストールし直したら良かったんですね…

実はこの方法は、2753のエラーが出る前の最初のエラーが出る前に一度試していたのですが、その時はうまくいきませんでした…
多分ご指摘頂かなければやり直してなかったです。
本当にありがとうございました。

328:デフォルトの名無しさん
12/03/04 07:44:26.61
>>326
> ThreadにresultSetを渡して、同時にResultSet回すとカーソルとかどうなるんだろ?←ここ基礎がよく分かってない
> 参照形とか恐いので
分かってるじゃないか。
恐ろしいことになるよ。
カーソルは状態を持っているからね。

1回のSQLの実行結果を複数のスレッドで扱いたいなら、
メモリ上に展開するのが一番簡単だね。
データ量が膨大な場合はできないけど。

329:デフォルトの名無しさん
12/03/04 07:57:38.47
あまり関係無いが、ResultSetはConnectionへの参照も保持しているから、
スレッド内でちゃんとResultSetを解放しないとコネクションが溜まりつづける。



330:303
12/03/04 10:49:10.50
>>304
ありがとうございます
不勉強なの棚に上げるようだけど英語圏の人はその辺いいよなぁ

331:デフォルトの名無しさん
12/03/04 11:41:48.55
トランザクションを開始したスレッド以外でコネクションいじくると
トランザクションが不正な状態になるかも。

332:デフォルトの名無しさん
12/03/04 11:51:51.65
>>328
ありがとう
うーん100万件以上ありそうだから、どうしたものか
ArrayListに入れるなら、resultSet回さないとダメだよね
Threadの数分SQL叩くのもなー

while(resultSet.next()){
ArrayList.add(resultSet.getString("ID"));
・・・
}

333:デフォルトの名無しさん
12/03/04 12:35:15.96
質問:O/Rマッパーで彼の抱えている問題を緩和できますか?

334:デフォルトの名無しさん
12/03/04 14:04:26.13
DB内の大量データをスレッド使ってメモリに展開する書き方は見たことある

335:デフォルトの名無しさん
12/03/04 14:24:17.18
ここの住民ってなんで初心者の質問はスルーしちゃうんですか

336:デフォルトの名無しさん
12/03/04 14:38:41.16
初心者なら初心者なほど、何を言っているか分からないから?

337:デフォルトの名無しさん
12/03/04 14:39:08.52
>>335

自分で解決する気がない奴にアドバイスしてもしょうがないだろ?

338:デフォルトの名無しさん
12/03/04 14:43:16.62
通信待ちの非同期がしたいだけならResultSetを取得するもっと前、
JDBCの操作まるごとで1別スレッドにすればよいだけの話じゃないの?

マルチコアによる配列の高速化がしたいとかバカな話ならやめたほうがいい。
GUIやファイル、JDBCのカーソルなどメモリ以外のリソースは
シングルスレッドで扱うのが基本。

339:デフォルトの名無しさん
12/03/04 15:16:57.15
>>335
答えの無い質問には答えようがないからじゃね

340:デフォルトの名無しさん
12/03/04 17:16:51.60
質問です(´;ω;`)
デプロイファイルを作成すると、connection.xmlが出来ちゃうのですが、
どうすればいいでしょうか?

341:デフォルトの名無しさん
12/03/04 17:39:49.97
StringBufferとBuilder
バッファーはスレッドセーフだけど
ビルダーはスレッドセーフじゃないよね?

342:デフォルトの名無しさん
12/03/04 17:40:40.24
うん

343:デフォルトの名無しさん
12/03/04 20:08:56.61
JavaWebStartでフリーソフト作って配布しようとしたらセキュリティの警告画面がでます。

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

オレオレ証明書なるもので署名は行っているのですが、この警告をでないようにしてアプリケーションを配布するには
どうしたらよいでしょうか?

344:デフォルトの名無しさん
12/03/04 20:19:42.80
ムリ
オレオレ証明書はオレオレ詐欺と同じで、それが安全だということを何ら証明できない
警告が出るのはセキュリティ上の観点からみて妥当

345:デフォルトの名無しさん
12/03/04 20:27:00.02
>>343のメッセージは正規の証明書で署名すれば出なくなるのでしょうか?

また正規の証明書で署名するのに、無料や一番安く入手可能な場所を知ってましたら教えてください。


346:デフォルトの名無しさん
12/03/04 20:53:02.86
ぐぐ

347:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/03/04 21:51:13.88
BufferedReader.readLine()!=nullとReader.ready()はループの終了判定で頻出ですがready()の使い道がよくわかりません。
どういうときに使うと違いがよくわかるんでしょうか?

349:デフォルトの名無しさん
12/03/04 21:56:59.29
readyはネットワークでまだデータが来てないとか
コンソールでまだ文字が入力されてないとか
そういう使い道

350:デフォルトの名無しさん
12/03/04 21:58:13.39
InputStream#available()に対応するのがReader#ready()
public boolean ready() { return 0 < in.available(); }
みたいな実装になってる。

ready() はチャットプログラムとかで文字列が読み込み可能状態になったかどうかの確認に使ったりする。
ready() は文字列ストリームの汎用の終了検出としては使えない。

351:デフォルトの名無しさん
12/03/04 22:01:21.77
>>345
ちゃんとした証明書でも確認画面が表示されたように思う
Sunの署名の付いたデモがどっかにあった気がするので探して試してみるとか
格安の証明書とかは知らん

352:デフォルトの名無しさん
12/03/04 22:19:31.64
while (r.ready()){ とすると運が悪いとブロックせずに処理をすぐ抜けちゃうんですよね。
非同期readのときの他スレッドへの確認用かなと思うんですが、あまり使ったことはありませんでした。
ready()をループ終了条件で使えないとすると、Readerの終了条件式は r.read()!=-1 or r.readLine()!=null だけしかないなんでしょうか。

353:デフォルトの名無しさん
12/03/04 22:20:19.42
>>351
SUNに署名されたメモ帳などのデモがありましたが、確認画面なしで実行されました。

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

URLリンク(jp.globalsign.com)

このページをみると「全てのJarファイルに署名をすることで、警告を出ないようにすることができます。」と
書かれているのですが、オレオレ証明書での署名じゃ駄目なのでしょうか?
たかが趣味で作ったフリーソフトに数万円もだして署名する価値があるとも思えませんし、
安く回避できるなら方法を知りたいです。
年1万円程度で署名できる業者とかないでしょうか?グーグルで探した最安は5万くらいでしたので・・・


354:デフォルトの名無しさん
12/03/04 22:27:45.03
セキュリティーはノルかソルかを自覚させることが目的なので、そういう中途半端なのは確かないはずですよ。

355:デフォルトの名無しさん
12/03/04 23:04:33.02
たかが趣味で作ったフリーソフトなら「自己責任でお使いください」なんだから
警告が出るのが正しいんじゃないの
それが嫌なら Java Web Start じゃなくて直接 JAR 配布すればいい

356:デフォルトの名無しさん
12/03/05 01:14:40.45
>>347って何が問題なの?
String head = line.substring(0, 2);
のままでも問題なく動くんだけど。

357:デフォルトの名無しさん
12/03/05 01:14:49.02
JWSの問題は1.6.0_30以降で解決済みだろ?


358:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/03/05 01:44:47.68
>>358
そのまま使うと何か問題なんでしょうか?
メモリの節約で大変いいことかと。

String(int, int, char[]) は public/protected ではないので、
char[] を外側から変更できなくて、問題ないと思うんですが。

360:デフォルトの名無しさん
12/03/05 01:50:33.05
そうかそうか。
節約になってないのか。
とっとと3文字目以降はメモリから除去したいのに、いつまでも残っていると。
出力の正しさにばっかり気を取られてた。
ありがとう。

361:デフォルトの名無しさん
12/03/05 03:00:53.07
>>347
new Stringでラップするのってスマートじゃん?
javaプログラマは10数文字余計なものが増えたくらいでヘコタレナイぞ。


362:デフォルトの名無しさん
12/03/05 03:11:38.12
internでもしとけば?

363:デフォルトの名無しさん
12/03/05 06:00:03.45
JFaceでTableViewerの勉強しているのですが
特定のカラムだけ非表示にする実装方法はありますか?

364:デフォルトの名無しさん
12/03/05 06:36:22.98
ありません

365:デフォルトの名無しさん
12/03/05 08:17:19.11

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

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

URLリンク(d.hatena.ne.jp)

366:デフォルトの名無しさん
12/03/05 08:42:37.35
JavaのStringって内部はchar[]なのですか。
Java内部ではUTF16BEだったと思うのですが、
UTF8のサロゲートペアの処理は問題ないのでしょうか。
上にあったsubstringの実装ではダメそうな匂いがします。

367:デフォルトの名無しさん
12/03/05 08:58:35.77
国家公務員vs.会社員 給与差は?
R25 2012年3月4日(日)11:30
じつは公務員というのは「職業」ではなく「身分」で、法律によってさまざまな面で守られている。民間企業の社員のように、業績によって給与が大きく変動するわけではなく、リストラや解雇されることもほとんどない。
不況であろうと、つねにその身分が保障されているのが公務員というわけだ。そうした公務員の「身分」を「職業」にするのが公務員制度改革で、今回の国家公務員の給与引き下げはその第一歩。

URLリンク(news.goo.ne.jp)

368:デフォルトの名無しさん
12/03/05 09:42:39.78
>>366
UTF8のサロゲートペアって何

369:デフォルトの名無しさん
12/03/05 09:46:23.44
>>366
Javaのcharは16ビット。
UTF8にサロゲートペアはない。


370:デフォルトの名無しさん
12/03/05 10:14:35.60
Javaのバイトコードで使われる改変UTF8はUTF16のサロゲートペアそのままUTF8に変換するよな。

たぶん>>366の言ってるのとは関係ないけど。

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



372:デフォルトの名無しさん
12/03/05 10:29:52.51
>>371
Yes
「Java サロゲートペア」でぐぐれ。

373:デフォルトの名無しさん
12/03/05 13:58:44.37
上位・下位サロゲートも無視して分断するし、結合文字も分断しやがる。
追加面とか結合文字はcharじゃ表現できないから、まあしょうがないんだが。

「��野家コピペ」

見えっかな。これとかJavaだとまともに扱えない。

374:デフォルトの名無しさん
12/03/05 14:10:43.52
フォントレンダラの話までごっちゃにすんのはどうかと思うが。

375:デフォルトの名無しさん
12/03/05 14:27:51.94
それをまともに扱える言語にどういったものがあるのか興味はあるが、スレ違いになってしまうだろうか

376:デフォルトの名無しさん
12/03/05 14:59:10.18
結合文字をどう表示するかはフォントとレンダラの話かもしれんが、
「結合文字は単独の文字ではないよ、前の文字にくっつくよ」
というのは文字コードの話だろ。

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

と、一瞬Rubyが浮かんだが、あれは1文字1byteだったわ

377:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/03/05 16:10:07.89
たぶん Grapheme cluster を 1 文字として扱いたいんだろうな
そういうライブラリを作るのも不可能ではないと思うけれど

379:デフォルトの名無しさん
12/03/05 16:24:17.82
>>364
そうですか
自力でテーブルを構築し直すしかないということですね

380:デフォルトの名無しさん
12/03/05 17:20:46.99
>>378
日本語の場合、濁点半濁点は正規化すりゃ済むし、
サロゲートペアは標準ライブラリのサポートで十分じゃね?

381:366
12/03/05 18:47:32.32
サロゲートペアの件については
java.text.BreakIteratorでどうにかできないかなーと思ってます。
見た目上1文字であるものを1として数える目的では使えそう?

StringUtil的なものにStringを戻すcharAtとかlengthとかsubstringを一度作れば
次からは使いまわし効くしと思うものの、正しい実装方法がわからなくて模索中です。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch