SSブログ

『Effective Java 第3版』と『Java Puzzlers』ー パズル 2 ー [Effective Java 第3版]

『Effective Java 第3版』で2番目に言及されているのはパズル2です。

パズル2 変革の時(Time for a Change)

次の文章問題を考えてみてください。
トムは、$1.10するスパークプラグを購入するために自動車部品店に行きますが、財布の中にあるのは2ドル紙幣ばかりです。2ドル紙幣でスパークプラグの代金を支払ったとしたら、彼は、お釣りをいくら貰うでしょうか。
この文章問題を解こうとしているのが、次のプログラムです。このプログラムは、何を表示しますか?
public class Change {
    public static void main(String args[]) {
        System.out.println(2.00 - 1.10);
    }
}
このパズルが言及されているのは『Effective Java 第3版』の「項目60 正確な答えが必要ならば、floatdoubleを避ける」です。

私自身は、金銭計算にfloatdoubleを使うべきではないことをいつ、どこで学んだのか覚えていません。しかし、このパズルのようにfloatdoubleを使ったコードを見かけることがたまにあります。昨年は1回だけ見かけたので、その時は『Effective Java 第2版』の該当項目を教えてあげました。

Effective Java 第3版

Effective Java 第3版

  • 作者: Joshua Bloch
  • 出版社/メーカー: 丸善出版
  • 発売日: 2018/10/30
  • メディア: 単行本(ソフトカバー)

Java Puzzlers 罠、落とし穴、コーナーケース

Java Puzzlers 罠、落とし穴、コーナーケース

  • 作者: ジョシュア・ブロック
  • 出版社/メーカー: ピアソン・エデュケーション
  • 発売日: 2005/11/14
  • メディア: 大型本

英語版ならKindle版が購入可能です(紙の本も買えるようです)。Kindle版は見たことがないのですが、錯視図はどうなっているのでしょうか(誰か教えてください)。



コメント(0) 

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント