Java经典算法40例(三十九)

题目:编写一个函数,输入n为偶数时,调用函数求1/2+1/4+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n。

代码:

import java.util.Scanner;

/**
 * 奇偶
 * @author cheng
 *
 */
public class ThirtyNine {
    public float jishu(int x){
        float sum=0;
        for(int i=1;i<=x;i=i+2){
            sum=sum+1/(float)i;
        }
        return sum;
    }
    public float oushu(int x){
        float sum=0;
        for(int i=2;i<=x;i=i+2){
            sum=sum+1/(float)i;
        }
        return sum;
    }
    public static void main(String[] args) {
        System.out.print("请输入一个正整数:");
        Scanner scanner=new Scanner(System.in);
        int x=scanner.nextInt();
        ThirtyNine thirtyNine=new ThirtyNine();
        if(x<1){
            System.out.println("请输入正整数!");
        }else if(x%2!=0){
            float sum=thirtyNine.jishu(x);
            System.out.println(sum);
        }else if(x%2==0){
            float sum=thirtyNine.oushu(x);
            System.out.println(sum);
        }
        scanner.close();
    }
}

输出结果:

请输入一个正整数:6
0.9166667

你可能感兴趣的:(java)