1
私はベンフォードの法則が実際に真であるかどうかを調べるためにJavaでプログラムを作っています。 BigDecimalを使用していますが、実装して以来エラーが発生しました。ベンフォードの法則プログラム(Java)
import java.lang.*;
import java.math.BigDecimal;
public class BenfordLaw {
public static int oneornot(BigDecimal number) {
String str2num = number.toString();
if(str2num.startsWith("1")) {
return 1;
} else {
return 0;
}
}
public static void main(String[] args) {
int n = 0;
long sum = 0;
for (int i = 0; i < 10000; i++) {
BigDecimal number = BigDecimal.valueOf(Math.pow(2,n));
System.out.println(number);
double newnum = oneornot(number);
sum += newnum;
n+=1;
}
System.out.println(sum);
System.out.println(sum*0.0001);
}
}
このプログラムを実行すると、エラーが発生します。 エラーは下のリンクにあります。 https://pastebin.com/ShJmGjdJ
は、あなたの答えをいただき、ありがとうございます。 –
@Jaden Leeあなたの問題を解決した場合は、私の答えを受け入れてください。 –
私はあなたの答えを受け入れました。 @ Jakub Ch。 –