2013-10-31 56 views
0

这就是我正在与之合作。这是一个月付款贷款计算器。我不断收到一个错误“方法monthlyPayment(double,int,int)对于类型Assignment 8是未定义的。”这个错误显示在主要方法中。该错误是在第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  } 

    } 

回答

3

将其更改为

double payment = LoanCalc.monthlyPayment(amountBorrowed, loanLength, intRate); 

这是因为monthlyPayment()属于LoanCalc,不Assignment8,所以你需要明确说明在哪里可以找到monthlyPayment()

1

你必须调用使用

LoanCalc.monthlyPayment(...) 

的功能,因为它是属于另一个类的静态方法。

相关问题