我需要有这样的结果:
例如,用户输入为principal = 2000,term = 6,rate = 2%
Period Interest Total Interest Total Balanced<br>
1 6.66 6.66 2006.60
2 6.69 13.35 2013.35
3 6.71 20.06 2020.06
4 6.74 26.80 2026.80
5 6.75 33.55 2033.55
6 6.78 40.33 2040.33
我的代码是:
import java.io.*;
public class interest
{
public static void main(String[] args)throws Exception
{
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(System.in));
float p, t, r, total;
int a = 1;
System.out.println("Enter the amount deposited: ");
p = Integer.parseInt(bufferedreader.readLine());
System.out.println("Enter the number of term: ");
t = Integer.parseInt(bufferedreader.readLine());
System.out.println("Enter the interest rate(%): ");
r = Integer.parseInt(bufferedreader.readLine());
System.out.println("Period \t Interest Total Interest Total Balance");
while ( a <= t)
{
System.out.print(" " + a + "\t ");
a++;
{
float R = (float) (r/100)/t;
float interest = (float) p * R;
float totalInt = (float) interest ;
total = p + totalInt;
System.out.println(interest + "\t\t" + totalInt + "\t " + total);
}
}
}
}
但结果如下:
Period Interest Total Interest Total Balance
1 6.6666665 6.6666665 2006.6666
2 6.6666665 6.6666665 2006.6666
3 6.6666665 6.6666665 2006.6666
4 6.6666665 6.6666665 2006.6666
5 6.6666665 6.6666665 2006.6666
6 6.6666665 6.6666665 2006.6666
答案 0 :(得分:1)
将totalInt
声明移到while
声明之外。
您目前正在每个循环中重置它,因此它实际上不是您的总利益,而是您当前的兴趣。
您需要在循环中执行:totalInt += interest;
。
并且您不需要再次将兴趣转换为浮点数,因为它已经被声明为浮点数。
另外,total += interest
可能更干净,而不是从您的基础存款开始,并且每次都使用您的totalInt递增它。
关于你的上一期,格式化,只需按照以下方式执行:
System.out.printf("%.2f \t\t %.2f \t\t %.2f\n", interest, totalInt, total);
或者查看DecimalFormat
答案 1 :(得分:0)
我假设问题是关于输出格式化
System.out.printf("%.2f \t\t %.2f \t\t %.2f\n", interest, totalInt, total);
答案 2 :(得分:0)
你好像在这样循环之前保持浮动兴趣
浮动利息= 0;
while(a&lt; = t)
{
System.out.print(“”+ a +“\ t”);
一个++;
{
float R =(float)(r / 100)/ t;
interest = interest +(float)p * R;
float totalInt =(float)interest;
total = p + totalInt;
System.out.println(兴趣+“\ t \ t”+ + totalInt +“\ t”+总计);
}
}
}
现在执行它你会得到所需的输出,如果你满意的话。
谢谢
答案 3 :(得分:0)
我认为你想要的是,将第一行改为:
float p, t, r, total, R, interest, totalInt;
并删除循环中的浮动声明