我需要创建Java程序来查找序列S = 1 + 1!/x + 2!/x2 + ... + N!/xN的总和。
我的代码在总和上工作正常,但他们希望我的结果输出是小数点后五位(结果 - 2.75 是 2.75000(。我正在使用DecimalFormat对于超过小数点五位的结果,它可以工作。但是如何用两位小数打印结果 - 用五位打印?
import java.text.DecimalFormat;
import java.util.Scanner;
public class Calculate {
public static void main(String[] args) {
DecimalFormat df = new DecimalFormat("#.#####");
Scanner scanner = new Scanner(System.in);
double n = scanner.nextDouble();
double x = scanner.nextDouble();
double factorial = 1;
double pow = 1;
double S = 0;
double result;
for (int i = 1; i <= n; i++) {
factorial *= i;
pow *= x;
result = (factorial / pow);
S += result;
}
double finalResult = (S + 1);
String formatted = df.format(finalResult);
System.out.println(formatted);
}
}
只需使用此格式:
DecimalFormat df = new DecimalFormat("0.00000");