Java 储蓄账户类别+;如何上交?

Java 储蓄账户类别+;如何上交?,java,class,object,methods,Java,Class,Object,Methods,问题 设计一个存储储蓄账户年利率和余额的SavingsAccount类。类构造函数应该接受储蓄帐户的起始余额。该类还应具有减去取款金额、增加存款金额以及将每月利息金额添加到余额的方法。月利率是年利率除以12。要将月利率添加到余额中,请将月利率乘以余额,然后将结果添加到余额中 在计算一段时间结束时储蓄账户余额的程序中测试该类。它应该向用户询问年利率、起始余额以及自帐户建立以来已过的月数。然后,循环应每月迭代一次,执行以下操作: 询问用户当月存入账户的金额。使用class方法将此金额添加到帐户余额中

问题 设计一个存储储蓄账户年利率和余额的SavingsAccount类。类构造函数应该接受储蓄帐户的起始余额。该类还应具有减去取款金额、增加存款金额以及将每月利息金额添加到余额的方法。月利率是年利率除以12。要将月利率添加到余额中,请将月利率乘以余额,然后将结果添加到余额中

在计算一段时间结束时储蓄账户余额的程序中测试该类。它应该向用户询问年利率、起始余额以及自帐户建立以来已过的月数。然后,循环应每月迭代一次,执行以下操作:

询问用户当月存入账户的金额。使用class方法将此金额添加到帐户余额中。 询问用户当月从帐户中提取的金额。使用类方法从帐户余额中减去此金额。 使用类方法计算月利息。 在最后一次迭代后,程序应显示期末余额、存款总额、取款总额和赚取的利息总额

我一直在第22行的主程序中遇到一个问题,若我修复了它,它会把一堆代码弄乱。有人知道我该怎么解决这个问题吗

导入java.text.DecimalFormat;
导入java.util.Scanner;
导入java.io.*;
公共班级储蓄计划{
公共静态void main(字符串参数[]){
扫描仪键盘=新扫描仪(System.in);
系统输出打印(“账户中有多少钱?:”;
双启动平衡=键盘.nextDouble();
系统输出打印(“输入年利率:”);
double AnnualInterestate=键盘.nextDouble();
SavingsAccountClass savingAccountClass=新的SavingsAccountClass();
SavingsAccount savingsAccountClass=savingAccountClass.new SavingsAccount(
启动余额,年度利息);
System.out.print(“账户开立了多长时间?”);
双月=keyboard.nextInt();
双月存款;
双月带牵引;
双重利息=0.0;
双倍存款总额=0;
双倍总收益=0;

对于(int i=1;i不确定为什么将
SavingsAccount
保存为内部类。用于什么目的

在这里,我修改了您共享的内容,我认为它很好地回答了问题陈述

main
方法

public static void main (String arg[]) {
    Scanner keyboard = new Scanner(System.in);
    System.out.print("How much money is in the account?: ");
    double startingBalance = keyboard.nextDouble();

    System.out.print("Enter the annual interest rate:");
    double annualInterestRate = keyboard.nextDouble();

    SavingsAccount savingsAccount = new SavingsAccount(startingBalance, annualInterestRate);

    System.out.print("How long has the account been opened? ");
    double months = keyboard.nextInt();

    double montlyDeposit;
    double monthlyWithdrawl;
    double interestEarned = 0.0;
    double totalDeposits = 0;
    double totalWithdrawn = 0;

    for (int i = 1; i <= months; i++) {
        System.out.print("Enter amount deposited for month: " + i + ": ");
        montlyDeposit = keyboard.nextDouble();
        totalDeposits += montlyDeposit;

        savingsAccount.deposit(montlyDeposit);

        System.out.print("Enter amount withdrawn for " + i + ": ");
        monthlyWithdrawl = keyboard.nextDouble();
        totalWithdrawn += monthlyWithdrawl;

        savingsAccount.withdraw(monthlyWithdrawl);

        savingsAccount.addInterest();

        interestEarned += savingsAccount.getLastAmountOfInterestEarned();
    }
    keyboard.close();

    DecimalFormat dollar = new DecimalFormat("#,##0.00");

    System.out.println("Total deposited: $" + dollar.format(totalDeposits));
    System.out.println("Total withdrawn: $" + dollar.format(totalWithdrawn));
    System.out.println("Interest earned: $" + dollar.format(interestEarned));
    System.out.println("Ending balance: $" + dollar.format(savingsAccount.getAccountBalance()));
}

修正什么?第22行是什么?您的
内部类的目的是什么?
class SavingsAccount {
    .
    .
   //everything as it is
}