Javaを学びはじめのものです。
テキストのfor構文の章の例題に、「1/11/10、また1/11/100の総和を求めるプログラムを組みなさい」というものがあり、その前にあった「1~100の総和を求めなさい」を改変したところ、結果が0.0および1.0と出てしまいました。(コースは後述)
その際に、
Java
1public class test4 { 2 public static void main(String[] args){ 3 4 double n = 1 / 3; 5 System.out.print(n); 6 7 } 8
というだけのソースコードを作り、実行したところ、やはりこれも結果は0.0、1/3を4/3に変えると1.0…というように切り捨ての数値しか出てきません。
double型の小数点以下は誤差の影響を受けやすいなど調べて出てきたのですが、これが実際そのせいなのかはたまた実行環境などのせいなのかわかりません。
ご教授いただけませんでしょうか。
追記
小数点以下の表記の質問なので、簡略化のため1/n総和のコードを省きましたが、その際に使用したのは
Java
1 2public class gyakusu{ 3 public static void main(String[] args){ 4 5 double sum = 0; 6 7 for(int i = 1;i <= 100; i++){ 8 sum += (1 / i); 9 } 10 11 } 12} 13
です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/16 10:41