Java程序错误: cannot find symbol

标签 java swing

我迷路了!我正在参加在线 Java 类(class),需要完成这项作业的帮助。 程序编译后会产生找不到符号错误

Loan loan = new Loan(annualInterestRate, numberOfYears, loanAmount);
symbol:   class Loan
location: class ChangeRequest5

我尝试在 ChangeRequest5 类中创建 Loan 类以及 getMonthlyPaymen 方法。该程序运行干净且成功的构建,并创建利率、贷款期限和贷款金额的用户输入,但不会显示表格。

import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

 public class ChangeRequest5 {

   public static void main(String[] args) {
    Object[] rateList = new Object[9];
    int i = 0;
    for (double rate = 5; rate <=6; rate += 1.0 /4)
        rateList[i++] = new Double (rate);

    Object annualInterestRateObject = JOptionPane.showInputDialog(
            null, "Select annual interest rate:" , "Mortgage Calculator" ,
            JOptionPane.QUESTION_MESSAGE, null, rateList, null);

    double annualInterestRate =
            ((Double)annualInterestRateObject).doubleValue();

    Object[]yearList = {new Integer(7), new Integer(15), new Integer(30)};

    Object numberOfYearsObject = JOptionPane.showInputDialog(
            null, "Select number of years:" , "Mortgage Calculator" ,
            JOptionPane.QUESTION_MESSAGE, null, yearList, null);
            int numberOfYears = ((Integer)numberOfYearsObject).intValue();

    String loanAmountString = JOptionPane.showInputDialog(null,
            "Enter loan amount, for example  200000  for $200000.00" , "Mortgage Calculator" , 
              JOptionPane.QUESTION_MESSAGE);
    double loanAmount = Double.parseDouble(loanAmountString);


    Loan loan = new Loan(annualInterestRate, numberOfYears, loanAmount);
    double monthlyPayment = loan.getMonthlyPayment();


    String output = "Interest Rate:" + annualInterestRate + 
            "%" + "Number of Years:" + numberOfYears + " Loan Amount: $"
            + loanAmount;
    output += " Monthly Payment: " + "$" + (int)(monthlyPayment * 100) /100.0;
    output += " Totaly Payment $" + (int) (monthlyPayment * 12 * numberOfYears
            * 100) / 100.0;

    double monthlyInterestRate = annualInterestRate / 1200;

    double balance = loanAmount;
    double interest;
    double principal;

    output += " Payment#\tInterest\rPrincipal\tBalance";

    for (i = 1; i <= numberOfYears * 12; i++){
      interest = (int)(monthlyInterestRate * balance * 100) / 100.0;
      principal = (int)((monthlyPayment - interest) * 100) / 100.0;
      balance = (int)((balance - principal) * 100) / 100.0;

      output += i + "\t" + interest + "\t" + principal + "\t" + balance;
    }

    JScrollPane jsp = new JScrollPane(new JTextArea(output));
    jsp.setPreferredSize(new java.awt.Dimension(400, 200));
    JOptionPane.showMessageDialog(null, jsp,
        "Mortgage Calculator" , JOptionPane.INFORMATION_MESSAGE, null);
    }

}

最佳答案

您是否有一个在同一包中定义类 Loan 的文件 Loan.java ?如果它在同一个包中,它应该可以工作。

enter image description here

如果它位于不同的包中,您需要将其导入到其他 .java 文件中:

enter image description here

import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import package2.Loan;

 public class ChangeRequest5 {

关于Java程序错误: cannot find symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9859893/

相关文章:

java - 在 Javax.xml.ws 服务上添加 XMLParserV2 jar 时发生冲突

java - 增加字符串值

Java:来自字符串的 protobuf

java - 显示 netbeans JTable 中链接表的数据

java - 设置带 2 位小数的 double 格式

java - Swing Worker 中的优雅异常处理

Java 如何在两个表中添加数据(关系型数据库)

Java:使用 Try/Catch Exception 检查用户输入是否为 Double

java - 如何以编程方式创建其中包含 EditText 的选项卡?

java - 根据菜单选择添加/删除列