★★Java質問・相談スレッド155★★at TECH
★★Java質問・相談スレッド155★★ - 暇つぶし2ch92:デフォルトの名無しさん
12/07/03 06:33:03.42
>>90
俺だが何か?

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

94:デフォルトの名無しさん
12/07/03 07:10:59.98
>>93
エラーメッセージぐらい書きなさいよ

ArrayListはObject型しか使えない
ArrayList<Integer>で変数宣言してるのに
なぜプリミティブ型のintに戻すのかよくわからない
intって書いてるとこをIntegerにすれば動くが
このプログラムでArrayListを使う意味もよくわからないな

95:デフォルトの名無しさん
12/07/03 07:47:07.97
>>90
それLinuxの問題。

96:デフォルトの名無しさん
12/07/03 08:35:45.43
>>87
>>88
ありがとうございます。


ただ、自分が作りたいものはデータ登録用のクラスなんですけれど、
全てのメンバーが、入力必須項目で空白(null)は弾くようにしているか、自動的に他のメンバーから計算される類のもので
よく考えれば、コンストラクタ呼び出し方に複数のバリエーションはありえないかもしれません・・

97:デフォルトの名無しさん
12/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でも結果は同じです.
教えていただけませんか.
URLリンク(ideone.com)

98:デフォルトの名無しさん
12/07/03 12:27:23.88
計算機イプシロンでぐぐれ

99:デフォルトの名無しさん
12/07/03 12:51:58.17
ググって計算機イプシロンの意味はなんとなくわかりました。
しかし、0.12000000000000001において
0.00000000000000001が計算機イプシロンだとおもうのですが、何故それが計算されて、足されたのか分かりません。
また、プログラムをどのように修正すれば
得たい結果が得られるでしょうか。



100:デフォルトの名無しさん
12/07/03 13:14:30.90
0.12を2進数に変換してみようか

101:デフォルトの名無しさん
12/07/03 14:35:49.46
十進数ならキリの良い小数でも、二進数だと循環小数だったりするから。
java.math.BigDecimalなら十進数で計算できて、有効桁数や丸めルールも
好きに設定できるから、使うといいよ。


102:デフォルトの名無しさん
12/07/03 15:51:09.10
Javaのdoubleは
0.11999999999999999555910790149937383830547332763671875

0.12000000000000000943689570931383059360086917877197265625
の間の数が用意されていない。
ソースに「0.12」と書くとJavaコンパイラは勝手に前者に書き換えてしまう。
そして後者が君の答えに一番近かったと判断されたのだろうね。

どうしても100等分した12にきっちりこだわるのなら、
double使ったプログラムごと捨てて作り直した方がいい。

103:デフォルトの名無しさん
12/07/04 00:42:42.59
>>102
double使って金がらみの計算するなんて自殺行為だよね。
何でdoubleなんかつかうんだろ。

104:デフォルトの名無しさん
12/07/04 01:14:46.34
金がらみの計算なんて何処にも書いてないが

105:デフォルトの名無しさん
12/07/04 02:05:02.20
>>104
別に書いてなくてもいいでしょ。

106:デフォルトの名無しさん
12/07/04 04:53:01.75
これはひどいw

107:デフォルトの名無しさん
12/07/04 05:06:07.83
URLリンク(ideone.com)
小町算なんだが、見てもさっぱりわからん。
どなたか解説して頂けませんか?

108:デフォルトの名無しさん
12/07/04 05:32:50.62
何が分からないのかによる
日本語が分からないのかJavaが分からないのか、
分かるところから書いてけ

109:デフォルトの名無しさん
12/07/04 09:59:32.26
TomcatでWebアプリを作っている場合で
セッション情報の一覧みたいなものは取得できるものでしょうか?
セッション情報のログイン情報を見てログインユーザー一覧などの
取得を想定しています。

110:デフォルトの名無しさん
12/07/04 10:15:37.42
>>109
自分のAPのサーブレットが入り口なのだからメモリかDBにでも必要な情報を書き込めば

111:デフォルトの名無しさん
12/07/04 10:18:13.52
>>110
やはり自分で管理するしかないですか・・・


112:デフォルトの名無しさん
12/07/04 15:09:56.98
あーあ…


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