这就是我正在使用的。这是一个月度付款贷款计算器。我一直收到错误“对于类型Assignment 8,方法monthlyPayment(double,int,int)是未定义的。”此错误显示在main方法中。错误发生在第27行。
CLASS
public class LoanCalc {
public static double monthlyPayment(double amountBorrowed, int loanLength, int intRate) {
double principal;
double interestRate;
double monthlyPayment;
principal = amountBorrowed;
interestRate = intRate / 100 / 12;
monthlyPayment = (interestRate * principal) /
(1- Math.pow((1 + interestRate) , - loanLength * 12 ));
return monthlyPayment;
}
}
主要方法
1 import java.util.Scanner;
2
3 public class Assignment8 {
4
5 public static void main(String[] args) {
6
7 Scanner kbd = new Scanner(System.in);
8
9 System.out.println("Enter the amount borrowed: ");
10 double amountBorrowed = kbd.nextDouble();
11
12 System.out.println("Enter the interest rate: ");
13 int intRate = kbd.nextInt();
14
15 System.out.println("Enter the minimum length of loan: ");
16 int minLength = kbd.nextInt();
17
18 System.out.println("Enter the maximum length of loan: ");
19 int loanLength = kbd.nextInt();
20 while (loanLength < minLength) {
21 System.out.println("Invalid input: Input must be greater than 22 minimum length of loan");
23 System.out.println("Enter the maximum length of loan: ");
24 loanLength = kbd.nextInt();
25 }
26
27 double payment = monthlyPayment(amountBorrowed, loanLength, intRate);
28 System.out.println(payment);
29
30 }
}
答案 0 :(得分:3)
将其更改为
double payment = LoanCalc.monthlyPayment(amountBorrowed, loanLength, intRate);
这是因为monthlyPayment()
属于LoanCalc
,而不属于Assignment8
,因此您需要明确说明查找monthlyPayment()
的位置。
答案 1 :(得分:1)
您必须使用
调用该函数LoanCalc.monthlyPayment( ... )
因为它是属于另一个类的静态方法。