当前位置: 代码迷 >> Java相关 >> 大家看看小数点后面的数字怎么显示阿
  详细解决方案

大家看看小数点后面的数字怎么显示阿

热度:219   发布时间:2009-10-07 08:42:06.0
大家看看小数点后面的数字怎么显示阿

我现在这个程序小数点后面的数字无法显示,比如12.12,他只显示12.00,谁帮我改一下阿


public class SavingsAccount
{
   private double balance;    // To hold balance
   private double annualInterestRate;// annual interest rate
   private double lastInterest; // To hold total interest rate
   
    //Constructor
   public SavingsAccount(double bal, double rate)
   {
      balance = bal;
      annualInterestRate = rate;
   }
    //Add deposit to the current balance
   public void deposit(double amount)
   {
      balance += amount;
   }
    //Subtract withdraw to the balance
   public void withdraw(double amount)
   {
      balance -= amount;
   }
    //Calculate the total interest
   public void addInterest()
   {
      lastInterest += balance*getInterestRate();
   }
    //Return total balance
   public double getBalance()
   {
      return balance+lastInterest;
   }
    //Return monthly interest rate
   public double getInterestRate()
   {
      return annualInterestRate/12;
   }
    //Return total interest
   public double getLastInterest()
   {
      return lastInterest;
   }
}

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

import java.util.Scanner;//Needed for the Scanner class
import java.text.DecimalFormat;//Needed for decimal place

public class SavingsAccountTest
{
   public static void main(String[] args)
   {
      double balance1;   // To hold balance
      double aInterest;   // To hold annual interest
        double month, dep, with; //To hold total months, deposite, withdraw
        double dep1=0, with1=0;//count total deposite and withdraw
      
      Scanner keyboard = new Scanner(System.in);
        DecimalFormat f1 = new DecimalFormat("0.00");
      
      // Get the intial balance
      System.out.print("Enter the account's starting balance: ");
      balance1 = keyboard.nextDouble();
      
      // Get the annual interest rate
      System.out.print("Enter the savings account's annual "
                         +"interest rate: ");
      aInterest = keyboard.nextDouble();
      
      // Get how many months have been passed
      System.out.print("How many months have passed since the "
                         + "account was opened? ");
      month = keyboard.nextDouble();
        
        // Create an instance of the CellPhone class,
      // passing the data that was entered as arguments
      // to the constructor.
      SavingsAccount acc = new SavingsAccount(balance1, aInterest);
        
        for (int n=1; n<=month; n++)
        {
            System.out.print("Enter the amount deposited during month "
                                 + n + ": ");
            dep = keyboard.nextDouble();
            dep1 +=dep;  
            acc.deposit(dep);
            
            System.out.print("Enter the amount withdrawn during month "
                            + n + ": ");
            with = keyboard.nextDouble();
            with1 +=with;
         acc.withdraw(with);
            acc.addInterest();
        }   
        
      // Get the data from the phone and display it.
      System.out.println("Total deposited: $"+ f1.format(dep1));
      System.out.println("Total withdrawn: $" + f1.format(with1));
      System.out.println("Interest earned: $" + f1.format(acc.getLastInterest()));
      System.out.println("Ending balance: $" + f1.format(acc.getBalance()));
   }
}



[ 本帖最后由 suckdog 于 2009-10-7 11:49 编辑 ]
搜索更多相关的解决方案: 数字  小数点  

----------------解决方案--------------------------------------------------------
这个不懂,楼主见谅!
----------------解决方案--------------------------------------------------------
测试了一下,没有楼主的情况,我想这代码是没问题的吧。
----------------解决方案--------------------------------------------------------
虽然没仔细看代吗  但是自己测试一下 结果如下
Enter the account's starting balance: 23.23
Enter the savings account's annual interest rate: 3
How many months have passed since the account was opened? 3
Enter the amount deposited during month 1: 2.3
Enter the amount withdrawn during month 1: 3.2
Enter the amount deposited during month 2: 6.3
Enter the amount withdrawn during month 2: 3.3
Enter the amount deposited during month 3: 3.1
Enter the amount withdrawn during month 3: 3.0
Total deposited: $11.70
Total withdrawn: $9.50
Interest earned: $18.27
Ending balance: $43.70
貌似没有楼主说的问题  楼主是不是喝多了
----------------解决方案--------------------------------------------------------
  相关解决方案