计算1/1-1/2+1/3-1/4…的结果
import java.util.Scanner;
public class TestDemo {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入:");
int n= scanner.nextInt();
double sum = 0;
int flag = 1;
for (int i = 1;i<n;i++){
sum = sum +(1.0/i)*flag;
flag*=-1;
}
System.out.println(sum);
}
}
本题重点在:
1、因为涉及小数部分,数据类型不能使用int,在与int类型相除时,可以使用高精度的被除数,或者使用类型强转方式。
2、对于正负号的转换问题,除了使用(-1)的n次方,使用flag变量并在每次循环后乘以(-1)使其变号更为简单。