大家好,又见面了,我是你们的朋友全栈君。
package com.algorithms;
import java.math.BigDecimal;
import java.util.Scanner;
/**
* 调和级数求和
* @author LYY
*
*/
public class TiaoHeJiShuTest {
public static void main(String[] args) {
System.out.println("请输入一个正整数:");
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
double sum = 0.0;
for(int i=1;i<=num;i++){
sum += 1.0/i;
}
BigDecimal bigDecimal = new BigDecimal(sum);
System.out.println("调和级数的和为 : " + sum);
//保留两位小数,四舍五入 四舍五入模式到正无穷
System.out.println("调和级数的和为 : " + bigDecimal.setScale(2, BigDecimal.ROUND_HALF_UP));
//保留两位小数,四舍五入 ROUND_CEILING 四舍五入到正无穷
System.out.println("调和级数的和为 : " + bigDecimal.setScale(2, BigDecimal.ROUND_CEILING));
//保留两位小数,四舍五入 ROUND_DOWN 向0的方向进行四舍五入
System.out.println("调和级数的和为 : " + bigDecimal.setScale(2, BigDecimal.ROUND_DOWN));
//保留两位小数,四舍五入 ROUND_FLOOR 向负无穷的方向进行四舍五入
System.out.println("调和级数的和为 : " + bigDecimal.setScale(2, BigDecimal.ROUND_FLOOR));
//ROUND_HALF_DOWN 保留两位小数,四舍五入 向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入
System.out.println("调和级数的和为 : " + bigDecimal.setScale(2, BigDecimal.ROUND_HALF_DOWN));
//ROUND_HALF_EVEN 保留两位小数,向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN
System.out.println("调和级数的和为 : " + bigDecimal.setScale(2, BigDecimal.ROUND_HALF_EVEN));
//ROUND_HALF_DOWN 保留两位小数,向远离0的方向进行四舍五入
System.out.println("调和级数的和为 : " + bigDecimal.setScale(2, BigDecimal.ROUND_UP));
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/192716.html原文链接:https://javaforall.cn