java - 贷款支付计算器,如何实现多种方法。无法开发与主要方法交互的方法

标签 java methods

这个任务的想法是让多个方法相互交互。我向用户询问贷款金额、利率和贷款期限。然后该程序应该有一种计算月利率的方法,一种计算并返回每月付款的方法以及一种打印贷款报表的方法(借入金额,年利率,月数和每月付款)。

我在编辑器中没有收到任何错误,但我的程序只要求用户提供三个输入,而不打印贷款报表。有什么建议吗?

public class CarLoan {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // declare variables for main method
    double loanAmount;//double value loan amount 
    double annualInterestRate;//double value interest rate
    int numberOfMonths;//int value for number of months
    double monthlyPayment;

    Scanner keyboard = new Scanner(System.in);

    System.out.println("Please enter the amount of your loan.");
    loanAmount = keyboard.nextDouble();

    System.out.println("Please enter the annual interest rate as a decimal. Ex. 7.5% = .075");
    annualInterestRate = keyboard.nextDouble();

    System.out.println("Please enter the number of months you have to pay back your loan.");
    numberOfMonths = keyboard.nextInt();

}

public static double calcMonthlyInterestRate(double annualInterestRate){
    double monthlyInterestRate;
        monthlyInterestRate = (annualInterestRate/12);
        return monthlyInterestRate;
}//end method CalcMonthlyInterestRate

    public static double calcMonthlyPayment(double monthlyInterestRate, double loanAmount, int            numberOfMonths     ){
    double monthlyPayment;
    double calcMonthlyPayment;
        calcMonthlyPayment = (monthlyInterestRate*loanAmount)/(1-(1+monthlyInterestRate)-numberOfMonths);
        return monthlyPayment = calcMonthlyPayment;
}//end method CalcMonthlyPayment

public static void loanStatment (double loanAmount, double annualInterestRate, intnumberOfMonths,  double monthlyPayment){
 System.out.println("Your loan amount is " +loanAmount);
 System.out.println(annualInterestRate);
 System.out.println(numberOfMonths);
 System.out.println(monthlyPayment);
  }

 }//end main method


}//end main method

我不确定我的一些代码是否仍然是多余的。

最佳答案

由于 main 方法是静态的,并且您的 CalcMonthlyInterestRate 引用了您的 main 方法,因此 CalcMonthlyInterestRate 也必须是静态的,以便两者创建彼此的静态引用

在您帖子的底部,我们看到:

}//end main
}//end class

main 方法引用的类方法也必须在同一个类中并且是static。一旦您开始构建自己的类和对象,情况就不会总是这样了

 }//end main  
       public static double CalcMonthlyInterestRate(double annualInterestRate) {
          double monthlyInterestRate;
          monthlyInterestRate = (annualInterestRate/12);
          return monthlyInterestRate;
       }
 }//end class

要使用您的方法捕获 double,只需在您的 main 方法中调用如下内容:

double answer = CalcMonthlyInterestRate(/*some double variable here*/); //in main

关于java - 贷款支付计算器,如何实现多种方法。无法开发与主要方法交互的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19215592/

相关文章:

java - maven 部署在 jre1.7 上失败

java - 如何在java中从数据库生成JSON对象?

java - 尝试在字符串中的每个元音之前添加一个字符

java - Java中void方法末尾的 "return;"对性能有任何影响吗?

ios - Objective-c,.h 中的方法声明和.m 中的私有(private)属性混淆

java - 获取数据时动态传递文件名? Selenium -java

java - 使用 Javascript 隐藏 HttpUnit 和参数

java - 新手 'Can you do this with Dojo/Ajax' 问题

用于包装方法的 Java 注释

WPF将ItemsSource绑定(bind)到静态方法?