这将是我在这里的第二个问题;我尽量不问,因为我不喜欢在家庭作业方面得到帮助。但我只是被困住了。
我目前正在编写一个程序,用于存储和更新一些示例银行帐户的信息。我的问题是,不知何故,我的输出有两个小数点。
例:"2000.02008.33333333333333"
旁注:我正在学习二级Java课程,所以是的,我的代码不是最漂亮的。另外,请仅提供有关我应该在哪里进行更改的提示。正如我之前所说,我非常努力地不寻求帮助,我不希望我的帮助请求被误解为作弊。最后,我确实了解 syso 格式,并将在我的驱动程序中使用标题信息执行此操作。我在那里做这件事的方式对我来说更快,而我充实了其余的细节。
非常感谢提供的任何帮助!
这是我当前的代码:
public class SavingsAccount
{
private static double annualInterestRate;
private final int ACCOUNT_NUMBER;
private double balance;
public SavingsAccount(int ACCOUNT_NUMBER, double balance)
{
this.ACCOUNT_NUMBER = ACCOUNT_NUMBER;
this.balance = balance;
}
public static double setAnnualInterestRate(double aIR)
{
annualInterestRate = aIR;
return annualInterestRate;
}
public int getAccountNumber()
{
return ACCOUNT_NUMBER;
}
public double getBalance()
{
return balance;
}
public double addMonthlyInterest()
{
balance += (balance * annualInterestRate / 12);
return balance;
}
}
司机
public class Chapter13
{
public static void main(String[] args)
{
double annualInterestRate = .05;
SavingsAccount saver1 = new SavingsAccount(10002, 2000);
SavingsAccount saver2 = new SavingsAccount(10003, 3000);
SavingsAccount.setAnnualInterestRate(annualInterestRate);
System.out.println("Month Acount# Balance Account# Balance");
for(int i = 0; i < 13; i++)
{
System.out.println(i + " " + saver1.getBalance() +
saver1.addMonthlyInterest());
}
}
}
那是因为balance
和annualInterestRate
打印时它们之间没有任何空格。在它们之间添加制表符或空格,以便单独打印它们。
System.out.println(i + " " + saver1.getBalance() + "t" // tab
saver1.addMonthlyInterest());
System.out.println(i + " " + saver1.getBalance() + " " // space
saver1.addMonthlyInterest());