Java 兴趣不更新
这意味着计算利息,然后将其放入一个包含年份、利息和新余额的表格中。由于某些原因,利息计算不正确,且未更新Java 兴趣不更新,java,Java,这意味着计算利息,然后将其放入一个包含年份、利息和新余额的表格中。由于某些原因,利息计算不正确,且未更新 import java.util.Scanner; import java.text.*; public class Interest { public static void main(String[] args) { printIntro(); Scanner input = new Scanner(System.in);
import java.util.Scanner;
import java.text.*;
public class Interest
{
public static void main(String[] args)
{
printIntro();
Scanner input = new Scanner(System.in);
System.out.print("Enter initial balance: ");
int balanceAmount = input.nextInt();
System.out.print("Enter interest rate: ");
double interestRate = input.nextDouble();
System.out.print("Enter the number of years: ");
int years = input.nextInt();
printTable(years, balanceAmount, interestRate);
}
public static double calcInterest(double balanceAmount, double interestRate, double years)
{
double interest = balanceAmount * Math.pow((1 + interestRate/100),years);
return interest;
}
public static void printRow(int rowNum, double balanceAmount, double interestRate)
{
System.out.println(rowNum + "\t" + balanceAmount + "\t" + "\t" + interestRate + "\t" + "\t" + (balanceAmount + interestRate));
//balanceAmount = (balanceAmount + interestRate);
}
public static void printTable(int numRows, double balanceAmount, double interestRate)
{
System.out.println("Year" + "\t" + "Balance" + "\t" + "\t" + "Interest" + "\t" + "New Balance");
System.out.println("----" + "\t" + "-------" + "\t" + "\t" + "--------" + "\t" + "-----------");
for (int i = 1; i <= numRows; i++)
{
printRow(i, balanceAmount, interestRate);
balanceAmount = (balanceAmount + interestRate);
}
}
public static void printIntro()
{
System.out.println("This program will calculate the interest "
+ "earned on a deposit over a certain amount of years.");
}
}
import java.util.Scanner;
导入java.text.*;
公共阶级利益
{
公共静态void main(字符串[]args)
{
printIntro();
扫描仪输入=新扫描仪(System.in);
系统输出打印(“输入初始余额:”);
int balanceAmount=input.nextInt();
系统输出打印(“输入利率:”);
double interestRate=input.nextDouble();
System.out.print(“输入年份:”);
int years=input.nextInt();
打印表(年份、余额金额、利率);
}
公共静态双利息(双倍余额、双倍利率、双倍年)
{
双倍利息=余额金额*数学功率((1+利率/100),年);
利息返还;
}
公共静态无效打印行(整数行、双倍余额金额、双倍利率)
{
System.out.println(rowNum+“\t”+余额金额+“\t”+“\t”+利息率+“\t”+“\t”+(余额金额+利息率));
//余额金额=(余额金额+利率);
}
公共静态无效打印表(整数、双倍余额、双倍利率)
{
System.out.println(“年度”+“\t”+“余额”+“\t”+“\t”+“利息”+“\t”+“新余额”);
System.out.println(“----”+“\t”+”----“+”\t”+“\t”+”----”+“\t”+“----”;
对于(inti=1;i您应该调用您的业务逻辑来根据您的业务需求计算利息。这完全取决于您的业务需求
尽管对于特定于程序的方法,您似乎需要在printTable方法中调用您的calcInterest方法,然后再调用printRow方法,如下所示:
public static void printTable( final int numRows, double balanceAmount, final double interestRate ) {
System.out.println( "Year" + "\t" + "Balance" + "\t" + "\t" + "Interest" + "\t" + "New Balance" );
System.out.println( "----" + "\t" + "-------" + "\t" + "\t" + "--------" + "\t" + "-----------" );
for ( int i = 1; i <= numRows; i++ ) {
double interest = calcInterest( balanceAmount, interestRate, 1 );
printRow( i, balanceAmount, interest );
balanceAmount = ( balanceAmount + interest );
}
}
它将发出如下信息:
public static void printTable( final int numRows, double balanceAmount, final double interestRate ) {
System.out.println( "Year" + "\t" + "Balance" + "\t" + "\t" + "Interest" + "\t" + "New Balance" );
System.out.println( "----" + "\t" + "-------" + "\t" + "\t" + "--------" + "\t" + "-----------" );
for ( int i = 1; i <= numRows; i++ ) {
double interest = calcInterest( balanceAmount, interestRate, 1 );
printRow( i, balanceAmount, interest );
balanceAmount = ( balanceAmount + interest );
}
}
该程序将计算一定年限内存款所赚取的利息
该程序将计算一定年限内存款所赚取的利息
输入初始余额:100
输入利率:10
输入年数:3
年度余额利息新余额
---- ------- -------- -----------
1 100.0 10.000000000000014 110.00000000000001
2 110.00000000000001 23.100000000000037 133.10000000000005
3 133.100000000005 44.0561000000007 177.15610000000000012
您不是在呼叫calcInterest
在调用之前,需要在printRow方法下调用它
System.out.println(rowNum + "\t" + balanceAmount + "\t" + "\t" + interestRate + "\t" + "\t" + (balanceAmount + interestRate));
行您根本没有调用calcInterest
我不知道在哪里调用它,因为balanceAmount=balanceAmount+calcInterest(balanceAmount,interestRate,1);是的,但这是双倍余额和增加利息,而不是仅仅在余额中增加利息。因此,您计算利息的业务逻辑是错误的,您也需要对此进行研究。@robertleshi检查更新在我的回答中,您计算利息的公式是错误的。我修正了一些内容,但现在我有一个最后的问题,我要解决的是余额s增加10(在你的例子中是10),而不是使用新的balance@robertleshi参见打印表方法,您需要以下更正余额金额=(余额金额+利息);