0

任务是编写一个名为 fractionSum 的方法,该方法接受一个整数参数 n 并返回序列前 n 项之和的两倍:1 + (1/2) + (1/3) + (1/4) + (1/5) + ...+(1/n) 你可以假设参数 n 是非负的。

import java.util.Scanner;

public class Fraction { 
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in); 
        System.out.println("Enter an integer");
        int a = console.nextInt();

        fractionSum(a);
    }

    public static void fractionSum (int a) {
        for(int i = 1; i<=a; i++) { 
        double sum = (1/i);
        System.out.println(sum);
        } 
    }
}

它现在所做的只是计算实际值

我如何让它打印出“1 + 1/2 + 1/3 + 1/4 + ... + 1/n”

4

2 回答 2

0
public static void fractionSum (int a) {
        System.out.print("1");
        double sum = 1;
        for(int i = 1; i<=a; i++) { 
            System.out.print(" + 1/" + i);
            sum += (1/(double)i);
        } 
        System.out.print("/n" + sum);
    }
于 2013-11-07T00:53:34.923 回答
0

测试和工作:

public static void fractionSum (int a) 
{
    for (int i = 1; i <= a; i++) 
    {
        if (i != 1)
            System.out.print(" + 1/" + i);
        else 
            System.out.print("1");
    } 
}
于 2013-11-07T00:54:12.047 回答