我試圖弄清楚這一點:雙和整數轉換
double chiSquare = ((double)(hashtable.get(key).intValue()/noWords))/* * Math.log10((NO_DOCUMENTS/all.get(key)))*/;
if (key.equals("love")){
System.out.println(hashtable.get(key));
System.out.println(all.get(key));
System.out.println(noWords);
System.out.println(chiSquare);
System.out.println((double)1/841);
System.exit(0);
}
爲什麼打印卡方,打印爲零,而打印八百四十一分之一給人的雙重價值? 哈希表是<String, Integer>
(雙)(841分之1)== 0,但(雙)841分之1== 1.0/841。你可以找出原因。 – 2011-03-10 01:17:51