2012-03-25 5 views
0

私は紛失しています!私はオンラインのJavaコースを受講しており、この課題に関して援助が必要です。プログラム一度 はそれが私がクラスChangeRequest5ともgetMonthlyPaymenための方法にして、クラスのローンを作成しようとしましたJavaプログラムエラー:シンボルが見つかりません

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

シンボルエラーを見つけることができません生成、コンパイルです。このプログラムでは、きれいで成功したビルドが実行され、金利、ローン期間、およびローン金額のユーザー入力が作成されますが、表は表示されません。

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); 
    } 

} 
+3

どこを'Loan'というクラスを定義しました。 –

答えて

1

あなたは「ローン」のインポート文を持っている必要がありますだけでなく、それは同じパッケージに

+0

おそらく。しかし、Loanもデフォルトパッケージで宣言されていれば、あなたはしません。 –

+0

@StephenCありがとうございます。私の答えを編集しました。 –

3

でない限り、あなたは、同じパッケージ内のクラス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 { 
+0

私はそれを受け取り、エラーも受け取りました。スレッド "main"の例外java.lang.UnsupportedOperationException:未実装 \tローン。 は(Loan.java:13)ChangeRequest5.main(ChangeRequest5.java:38) Javaの結果で \t:1 BUILD SUCCESSFUL(合計時間:13秒) は、だから私は、誰もができたことを確認するために戻って、元のコードに戻りました私が間違っていた場所を教えてください。ありがとう –

関連する問題