guozhchun
import java.util.Scanner;
public class Test
{
private void calSum()
{
double sum = 0.0; // 数列的和
double factor = 1.0; // 数列每一项,后面循环会逐渐改变其值
StringBuilder expression = new StringBuilder(); // 表达式
int n; // 读取的整数
Scanner scanner = new Scanner(System.in);
System.out.println("请输入整数:(例如10):");
n = scanner.nextInt(); // 读取整数,这里假设读取的数合法,不进行异常处理
// 数列求和过程
// 这里为方便表达式的存储,把第一项列到循环外
expression.append(1); // 把第一项加进表达式中
sum = factor; // 前一项的和
for (int i = 2; i <= n; i++)
{
// 根据数列的前一项计算当前项的值, 这里用 1 * 1.0 来将结果转换成double,
// 也可以使用强制转换
factor = (1 * 1.0) / i;
sum += factor; // 更新数量前 i 项的值
// 更新表达式
expression.append("+");
expression.append("1/" + i);
}
System.out.println(expression + "=" + sum);
}
public static void main(String[] args)
{
new Test().calSum();
}
}