Ошибка программы Java: не удается найти символ - PullRequest
0 голосов
/ 25 марта 2012

Я потерян!Я беру онлайн курс по Java, и мне нужна помощь с этим заданием.После того, как программа скомпилирована, она выдает ошибку поиска символа

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

. Я попытался создать класс Loan с классом ChangeRequest5, а также метод 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);
    }

}

Ответы [ 2 ]

3 голосов
/ 25 марта 2012

У вас есть файл Loan.java, определяющий класс Loan в том же пакете? Если он в той же упаковке, он должен работать.

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 {
1 голос
/ 25 марта 2012

Вы также должны иметь оператор импорта для «Заем», если он не в том же пакете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...