陈旺


私信TA

用户名:cw0824ly

访问量:10938

签 名:

等  级
排  名 127
经  验 7715
参赛次数 2
文章发表 61
年  龄 18
在职情况 学生
学  校 湖北生物科技职业学院
专  业

  自我简介:

解题思路:本息计算公式为:

               本息=本金+本金*利息
               因为我们每月都要往银行里存k的钱

               本息=本金+本金*利息+k


注意事项:注意题目打印时结果保留小数点后两位小数,而之后的所有位数都直接抹除,所有这里我们要用到拼接字符串,若直接保留两位小数会出现第三位小数四舍五入情况出现。

参考代码:

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		/*
		 * 银行近期推出了一款新的理财计划“重复计息储蓄”。储户只需在每个月月初存入固定金额的现金,
		 * 银行就会在每个月月底根据储户账户内的金额算出该月的利息并将利息存入用户账号
		 * 。现在如果某人每月存入k元,请你帮他计算一下,n月后,他可以获得多少收益。 输入数据仅一行,包括两个整数k(100< =k<
		 * =10000)、n(1< =n< =48)和一个小数p(0.001< =p< =0.01),分别表示每月存入的金额、存款时长、存款利息
		 */
         Scanner scanner=new Scanner(System.in);
         int k=scanner.nextInt();//钱
         int n=scanner.nextInt();//月
         double p=scanner.nextDouble();//息
         double money=k;
         for (int i = 0; i < n; i++) {
        	money=money+money*p+k;
        
		}
        String [] arr=String.valueOf(money-(n+1)*k).split("\\.");
        
        System.out.println(arr[0]+"."+arr[1].charAt(0)+arr[1].charAt(1));
	}

}


 

0.0分

2 人评分

  评论区

补充一下,最好判断一下长度,如果小数点后面小于两位可能会报错,也就是说charAt(1)没有。这个系统检测不出来。
2021-03-03 15:33:35
  • «
  • 1
  • »