Java中的奇数输出(最有可能出现noobie错误)

时间:2013-11-17 10:00:28

标签: java output

这是我在这里的第二个问题;我尽量不要问,因为我不喜欢接受我的家庭作业的帮助。但我只是被卡住了。

我目前正在编写一个程序,用于存储和更新某些示例银行帐户的信息。我的问题是,不知何故,我的输出有两个小数点。

示例 “2000.02008.3333333333333”

附注:我正处于二级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;
  }
}

DRIVER

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());
    }
  }
}

1 个答案:

答案 0 :(得分:0)

这是因为balanceannualInterestRate正在打印,它们之间没有任何空格。在它们之间添加一个选项卡或空格,以便它们单独打印。

System.out.println(i + "    " + saver1.getBalance() + "\t" // tab
          saver1.addMonthlyInterest());
System.out.println(i + "    " + saver1.getBalance() + " " // space
          saver1.addMonthlyInterest());