トップページ⇒tech
1001コメント281KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/06/29(金) 22:35:13.65
プログラミング言語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質問・相談スレッド154★★
http://toro.2ch.net/test/read.cgi/tech/1337684981/
0083デフォルトの名無しさん2012/07/02(月) 22:54:31.89
>>79
>>80
ありがとうございました
0084デフォルトの名無しさん2012/07/02(月) 23:11:58.99
いえいえ
0085742012/07/02(月) 23:38:04.79
>>81
ありがとうございます。
ただ、getImageableは環境によってまちまちになるのと、あくまで描写エリアという考え方なので違うかなと。
1/72インチを単位として〜という部分から、72ppiと仮定して実装してみたものの、印刷時に数ミリずれたりなど違うようです。

そもそも、RectangleのWidthやLine座標の1の違いが、1ピクセルなのかすら判断できず困っています。
難しいです。。
0086デフォルトの名無しさん2012/07/02(月) 23:39:33.56
>>85
そんなあなたにJNI
0087デフォルトの名無しさん2012/07/03(火) 00:07:40.50
>>77
ビルダーがぴったりと思われ
Effective Java 2nd ed. の Item 2
英語でいいなら書籍でググれば出てくる

デザインパターンというよりは、
名前付き引数やその省略時のデフォルトの値を付けられないJavaのイデオムとして使われる
欠点は、コード量が多くなること。それが許容できないなら、そのままで
0088872012/07/03(火) 00:14:21.84
すまんが
>英語でいいなら書籍でググれば出てくる
と言ったが、大事な2ページが飛ばされてるなw
名著だから買っとけ
0089デフォルトの名無しさん2012/07/03(火) 00:35:46.03
>>82
よろしく
0090デフォルトの名無しさん2012/07/03(火) 00:47:18.76
Jenkinsその他、Java系サーバがことごとくうるう秒で狂った話、
技術上の詳細まだ上がってないみたいだけど誰か知らない?

前スレでJavaにうるう秒は関係ないって言ってた奴出てこいよー。
0091742012/07/03(火) 01:04:00.25
>>86
JAVA単体では実現できないってことですか…

他の言語を覚えるのはともかく、いまからネイティブでのアクセスの仕方を学んだりするのは、かなりハードル高いですね。
0092デフォルトの名無しさん2012/07/03(火) 06:33:03.42
>>90
俺だが何か?
0093デフォルトの名無しさん2012/07/03(火) 06:47:02.43
Eclipse で以下のコードがコンパイルできないのですが、何が間違っているのでしょうか?



import java.util.ArrayList;


public class Hoge {
public static void main(String[] args) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
arrayList.add(42);
arrayList.add(123456);
int[] as = (int[])arrayList.toArray(new int[0]); // ここでビルドエラー
System.out.println(as[0]);
System.out.println(as[1]);
}
}
0094デフォルトの名無しさん2012/07/03(火) 07:10:59.98
>>93
エラーメッセージぐらい書きなさいよ

ArrayListはObject型しか使えない
ArrayList<Integer>で変数宣言してるのに
なぜプリミティブ型のintに戻すのかよくわからない
intって書いてるとこをIntegerにすれば動くが
このプログラムでArrayListを使う意味もよくわからないな
0095デフォルトの名無しさん2012/07/03(火) 07:47:07.97
>>90
それLinuxの問題。
0096デフォルトの名無しさん2012/07/03(火) 08:35:45.43
>>87
>>88
ありがとうございます。


ただ、自分が作りたいものはデータ登録用のクラスなんですけれど、
全てのメンバーが、入力必須項目で空白(null)は弾くようにしているか、自動的に他のメンバーから計算される類のもので
よく考えれば、コンストラクタ呼び出し方に複数のバリエーションはありえないかもしれません・・
0097デフォルトの名無しさん2012/07/03(火) 12:11:21.71
初めまして.
とあるプログラムを作っています.
出力が
1.0
1.0
1.0
0.5
0.2
0.14
0.07
0.049
0.035

1.0
1.0
1.0
0.5
0.2
0.12
0.12
0.036
0.048
となるようにプログラムを作ったはずなのですが,
最後4行が,
0.12000000000000001
0.12000000000000001
0.036000000000000004
0.04800000000000001
となってしまいます.
何度見直しても原因がわかりません.eclipseでもideoneでも結果は同じです.
教えていただけませんか.
http://ideone.com/8aCbd
0098デフォルトの名無しさん2012/07/03(火) 12:27:23.88
計算機イプシロンでぐぐれ
0099デフォルトの名無しさん2012/07/03(火) 12:51:58.17
ググって計算機イプシロンの意味はなんとなくわかりました。
しかし、0.12000000000000001において
0.00000000000000001が計算機イプシロンだとおもうのですが、何故それが計算されて、足されたのか分かりません。
また、プログラムをどのように修正すれば
得たい結果が得られるでしょうか。

0100デフォルトの名無しさん2012/07/03(火) 13:14:30.90
0.12を2進数に変換してみようか
0101デフォルトの名無しさん2012/07/03(火) 14:35:49.46
十進数ならキリの良い小数でも、二進数だと循環小数だったりするから。
java.math.BigDecimalなら十進数で計算できて、有効桁数や丸めルールも
好きに設定できるから、使うといいよ。
0102デフォルトの名無しさん2012/07/03(火) 15:51:09.10
Javaのdoubleは
0.11999999999999999555910790149937383830547332763671875
と
0.12000000000000000943689570931383059360086917877197265625
の間の数が用意されていない。
ソースに「0.12」と書くとJavaコンパイラは勝手に前者に書き換えてしまう。
そして後者が君の答えに一番近かったと判断されたのだろうね。

どうしても100等分した12にきっちりこだわるのなら、
double使ったプログラムごと捨てて作り直した方がいい。
0103デフォルトの名無しさん2012/07/04(水) 00:42:42.59
>>102
double使って金がらみの計算するなんて自殺行為だよね。
何でdoubleなんかつかうんだろ。
0104デフォルトの名無しさん2012/07/04(水) 01:14:46.34
金がらみの計算なんて何処にも書いてないが
0105デフォルトの名無しさん2012/07/04(水) 02:05:02.20
>>104
別に書いてなくてもいいでしょ。
0106デフォルトの名無しさん2012/07/04(水) 04:53:01.75
これはひどいw
0107デフォルトの名無しさん2012/07/04(水) 05:06:07.83
ttp://ideone.com/2HYH9
小町算なんだが、見てもさっぱりわからん。
どなたか解説して頂けませんか?
0108デフォルトの名無しさん2012/07/04(水) 05:32:50.62
何が分からないのかによる
日本語が分からないのかJavaが分からないのか、
分かるところから書いてけ
0109デフォルトの名無しさん2012/07/04(水) 09:59:32.26
TomcatでWebアプリを作っている場合で
セッション情報の一覧みたいなものは取得できるものでしょうか?
セッション情報のログイン情報を見てログインユーザー一覧などの
取得を想定しています。
0110デフォルトの名無しさん2012/07/04(水) 10:15:37.42
>>109
自分のAPのサーブレットが入り口なのだからメモリかDBにでも必要な情報を書き込めば
0111デフォルトの名無しさん2012/07/04(水) 10:18:13.52
>>110
やはり自分で管理するしかないですか・・・
0112デフォルトの名無しさん2012/07/04(水) 15:09:56.98
あーあ…
0113デフォルトの名無しさん2012/07/04(水) 18:58:31.98
入力された文字列を一字ずつ拾っていくループを書きたいんですが、
↓のように書くとforの第二引数に問題があるようでStringIndexOutOfBoundsExceptionが発生します
入力の終わりを見つけたいのですが、この場合第二引数は何と比較すれば良いでしょうか?

String line = reader.readLine();
char chr;
for(int i = 0; (chr = line.charAt(i)) != '\0'; i++ ){
(中略)
}
0114デフォルトの名無しさん2012/07/04(水) 19:18:04.43
i < line.length()
0115デフォルトの名無しさん2012/07/04(水) 19:24:25.57
>>114
charAt()だと入力の終わりは検出できないんでしょうか?
0116デフォルトの名無しさん2012/07/04(水) 20:33:03.16
>>115
Cと違って長さを保持してるから終端文字を持つ必要ないし。
0117デフォルトの名無しさん2012/07/04(水) 20:46:51.95
文字列の終端を表すのに文字の一つを使う
なんてクレイジーな発想を捨てることだ
0118デフォルトの名無しさん2012/07/04(水) 20:47:43.16
必要ないというよりString自体には終端文字という概念がない。
0119デフォルトの名無しさん2012/07/04(水) 20:55:29.39
>>116-118
なるほど、勉強になりました
ありがとうございました
0120デフォルトの名無しさん2012/07/04(水) 21:00:04.50
Stringの要素を一つずつ取り出して何がしたかったのか。
サロゲートペアとか結合とか合成とか知らぬ訳ではあるまい
0121デフォルトの名無しさん2012/07/04(水) 21:07:25.04
CharacterIteratorその他、java.textがU+FFFFを
C言語の\0みたいに終端文字として特別扱いするのがすんげー嫌。
0122デフォルトの名無しさん2012/07/04(水) 21:17:00.99
文字と文字でないものを一つのchar型に入れよう
という発想がKUSO

C++のイテレーターを真似したけど
不完全な劣化版仕様になりました的に酷い
0123デフォルトの名無しさん2012/07/05(木) 00:37:58.41
有識者に質問がございます。
サーバー側のjavaでFileInputStream(File file)をnew宣言すると、一回目はcheckRead でひっかからないのですが、二回目のFileInputStream(File file)のnew宣言でcheckReadでひっかかります。
SecurityManagerって同じクラスの権限(ここではread)って時間置かないと復活しないのでしょうか?
一回目は読み取れているのでread権限があると思われるのですが・・・。二回目が何故かだめです。
0124デフォルトの名無しさん2012/07/05(木) 00:40:40.66
ここのサイトを見ると
ttp://d.hatena.ne.jp/seraphy/20070106

引用:
クラスがすでにロードされている場合、そのプロテクションドメインは不変である。もはやパーミッションを変更することはできない。

と書かれているので、パーミッション(ここでのread権限?)の変更、追加が出来ないので、別クラスに分けてFileInputStream(File file)のnew宣言しようかと検討しています・・・。
0125デフォルトの名無しさん2012/07/05(木) 04:43:51.02
JDKがダウンロードできません
ミラーとかありませんか
0126デフォルトの名無しさん2012/07/05(木) 18:49:36.47
よく探せよ
0127デフォルトの名無しさん2012/07/05(木) 21:16:37.32
グーグルの検索結果をhtmlで直接受け取って利用しようとしてるんですが
接続成功してeadlineで読み込む段階でReader.redey()の値がいつまでたってもfalaseの状態で先に進みません
他のサイトは同じ方法で普通に動作しているんですが
googleはAPIからじゃないと検索結果のデータ使えないとかあるんですか?
0128デフォルトの名無しさん2012/07/05(木) 21:23:35.60
読む気のない奴に送るデータはねぇ!ということかな。相手Googleだし。
ready()なんざ無視してがんがんreadLine()で意思表示すればよろしい。
0129デフォルトの名無しさん2012/07/05(木) 22:27:47.82
>>127
そんなことはないが、
少なくともバカには読めない
0130デフォルトの名無しさん2012/07/06(金) 05:27:27.58
Java SE Development Kit with JavaFX (JDK 6u25 / FX 1.3.1)
をダウンロードしようとしているのですがリンク切れしています。
これはJDKではないんでしょうか
0131デフォルトの名無しさん2012/07/06(金) 07:15:09.14
英語が読めねーのか、そりゃ大変
0132デフォルトの名無しさん2012/07/06(金) 08:07:18.61
ぐぐったら普通にDLできた件
0133デフォルトの名無しさん2012/07/06(金) 15:26:37.01

初歩的な質問で恐縮ですが以下の質問についてご教授頂ければ幸いです。
このソースの80行目のところでラベルのクリックイベントを拾って背景色を取得してパネルに設定したいのですが、
どのようにすれば良いでしょうか?
http://ideone.com/XGmbU

e.getSource()を使ってどうにかできないかと思ったのですが良くわからず・・・・。
恐れ入りますが宜しくお願い致します。
0134デフォルトの名無しさん2012/07/06(金) 20:11:57.48
JRE6u33でサクサク動くのに、JRE7だと
えらい重たいアプリが有ります。
BeansBindingを使っています。
ヒープチューニングを試しましたが
改善しないのです
どこから手をつければよいでしょうか?
0135デフォルトの名無しさん2012/07/06(金) 20:52:01.56
>>134
まずチューニングしたヒープを元に戻す。
次にどのクラス、どのメソッドで時間がかかっているのかを絞り込む。
処理のかたまり単位で時間取れば所要時間がわかる。

原因となったクラスがサードパーティ製品なら開発元に問い合わせる。
Java本体が原因だったら実装晒せば誰か答えてくれるかもな。
0136デフォルトの名無しさん2012/07/06(金) 21:46:01.89
>>134
> JRE6u33でサクサク動くのに、JRE7
データをまずとれよ
0137デフォルトの名無しさん2012/07/06(金) 21:55:54.55
切り分けせずにいきなりヒープチューニングしたの?
理解できない
0138デフォルトの名無しさん2012/07/07(土) 01:06:37.76
自己解決しました
0139デフォルトの名無しさん2012/07/07(土) 01:07:02.27
お前誰や
0140デフォルトの名無しさん2012/07/07(土) 01:14:10.29
現状が6なのに7にするってちょっと気が早いな
5を6にするってんならまだわかるけど。

せっかく対応できたなら何が問題で遅くなったのか教えてくれよ
0141デフォルトの名無しさん2012/07/07(土) 01:25:09.58
java6のアップデートやセキュリティ・サポートは今年中で終了になるんでしょ?
01421332012/07/07(土) 10:38:54.94
別のところで質問してみようと思いますのでスルーして頂いてかまいません。
マルチになるので念のため、すみません。
0143デフォルトの名無しさん2012/07/07(土) 11:06:34.96
こんなアホスレで質問して時間を無駄にしてはいけません
0144デフォルトの名無しさん2012/07/07(土) 11:32:09.51
>>143
と書いてるお前も大差ないだろ
0145デフォルトの名無しさん2012/07/07(土) 12:39:29.03
スルーしろ
雑魚www
0146デフォルトの名無しさん2012/07/07(土) 13:26:15.54
Java自体がオワコンですからね
0147デフォルトの名無しさん2012/07/07(土) 13:29:56.29
雑魚www涙目wwwwwwwwwwwwwwwwwwwwwwwww
0148デフォルトの名無しさん2012/07/07(土) 13:42:42.69
もうJavaなんて使ってるの雑魚だけですからね
0149デフォルトの名無しさん2012/07/07(土) 14:05:25.96
>>143
このスレにかきこして無駄な資源と時間を使ってはいけません
0150デフォルトの名無しさん2012/07/07(土) 14:14:58.63
バカにはムリw
0151デフォルトの名無しさん2012/07/07(土) 17:08:01.02
Javaプログラミングスキルをアピールして求職活動する場合、成果物としつ何をしめすのが有効なのでしょう?
答えが幅広くなりすぎるとは思いますが、現在実務について居られる皆様がそれぞれ思いついた、提示されたら少しは考慮にいれてやるかも、程度のものを上げていただけると嬉しいですm(_ _)m
0152デフォルトの名無しさん2012/07/07(土) 17:10:37.19
金くれんの?
0153デフォルトの名無しさん2012/07/07(土) 17:35:44.81
「この人気のアンドロイドアプリ俺の作です」とかどう
まぁアプリの人気はスキルより企画力のような気がするけど
0154デフォルトの名無しさん2012/07/07(土) 18:26:10.20
仕様書見せてくれといいたいな。
エラー、多重度、使い勝手、・・・どう考えて、どこまで詰めて設計してるか見たい。
0155デフォルトの名無しさん2012/07/07(土) 19:26:49.26
>>151
そんなことどうでもいいから金くれよ。な?
0156デフォルトの名無しさん2012/07/07(土) 20:51:36.76
>>151
Checkstyleでコーディングチェックし、JUnitでテストし、
Coberturaでカバレッジテストを行い、Mavenでビルドされ、
GitHubリポジトリに納められ、Jenkinsで継続管理してる
オープンソースプロジェクトをはてなダイアリーで披露すればいい。
0157デフォルトの名無しさん2012/07/07(土) 20:57:15.98
>>156
FireBugsも追加で。
0158デフォルトの名無しさん2012/07/07(土) 21:11:46.00
>>151
100万ステップをがーとレビューできます

一日で一万ステップコーディングできます
0159デフォルトの名無しさん2012/07/07(土) 21:14:44.64
Javaハウスで高木先生に論戦を挑み、
国会議員も巻き込んで一方的に勝利宣言するのが
手っ取り早く技術力をアッピールする方法だな。
0160デフォルトの名無しさん2012/07/07(土) 23:16:16.96
馬鹿には無理w
0161デフォルトの名無しさん2012/07/07(土) 23:21:39.40
>>159
> Javaハウス
しんでんのとちゃうの

> 高木先生
悪名高き政府機関の人か
0162デフォルトの名無しさん2012/07/07(土) 23:30:19.59
実態は不正アクセス禁止法違反のソフトを堂々と作って公開してる人だっけ?
著作権保護とかwinny撲滅とか称してるようだけど、法令違反ソフト作成公開とそういう詭弁が日本でどこまで通用するんだか見ものだわ
0163デフォルトの名無しさん2012/07/08(日) 11:08:37.38
>>151
Cコンパイラを作るとか
01641512012/07/08(日) 15:47:25.37
皆さん色んなご意見ありがとうございましたm(_ _)m
マ板と迷いましたが、こっちで質問して良かったですw
0165デフォルトの名無しさん2012/07/08(日) 15:59:49.58
>>164
請求書

金 給与一ヶ月分

振込日 翌月末日
0166デフォルトの名無しさん2012/07/08(日) 16:40:43.52
64bitのwindowsでJAVAプログラミングをしているのですが、Tomcatを使用する為に(x86)の方のjavaのPATHを設定してからアプレット等の他のJAVAプログラムがプラグインで見れなくなりました
最適の設定を教えてほしいです
01671662012/07/08(日) 16:52:32.28
コマンドプロンプトでjavacが使用できなくなりました
64ビット版Windowsでjavaのpathを「(x86)」にしてjavaSEを使用することは出来ないんですか?
0168167 2012/07/08(日) 17:01:57.85
すいません自己解決しました
01691672012/07/08(日) 17:04:04.49
あれ
01701672012/07/08(日) 17:11:07.09
PATHを変えたらTomcatが起動できなくなるんですけど
0171デフォルトの名無しさん2012/07/08(日) 17:11:55.99
何がしたい
0172デフォルトの名無しさん2012/07/08(日) 17:22:08.31
ヒント ここは君の雑記帳ではない
0173デフォルトの名無しさん2012/07/08(日) 17:54:38.93
prepareStatementを使うと、JDBCドライバは同じSQL文かどうかを判断し、
同じならキャッシュを利用します。
そのとき、SQL文は大文字、小文字が意識されるのでしょうか?
0174デフォルトの名無しさん2012/07/08(日) 18:00:12.40
>>173
ドライバ(RDB)次第かと
0175デフォルトの名無しさん2012/07/08(日) 18:45:50.35
>>170
正常です
0176デフォルトの名無しさん2012/07/08(日) 23:24:59.75
javaの勉強始めようかと思います
おすすめの本おしえてください
一応、Cは初歩的なことだけできるレベルです
0177デフォルトの名無しさん2012/07/08(日) 23:29:02.74
>>176
独習Java
0178デフォルトの名無しさん2012/07/08(日) 23:36:29.98
独習って練習問題とかありますか?
あとみんながお世話になったサイトとかあったらそれも教えてほしいです
0179デフォルトの名無しさん2012/07/08(日) 23:44:15.09
>>178
ついてるよ
0180デフォルトの名無しさん2012/07/08(日) 23:50:12.50
ありがとうございます
余裕ができたら買に行ってみます
0181デフォルトの名無しさん2012/07/08(日) 23:56:52.16
その程度か
0182デフォルトの名無しさん2012/07/09(月) 00:04:19.66
ごめんなさい明日買に行きます
■ このスレッドは過去ログ倉庫に格納されています