2014-01-30 18 views
-3

我收到此錯誤信息的System.out.println沒有打印出一個變量

finalAmount cannot be resolved to a variable 

而且這是有問題的代碼

public class DepositCalculator { 

    public static final double annualInterestRate = 1.0; 
    public static final int numberOfYears = 5; 
    public static final int monthsPerYear = 12; 
    public static final int deposit = 1000; 
    public static final int depositAmountIncrement = 1000; 

    public static void main(String[] args) { 

     System.out.println(finalAmount); 
    } 

    public static double calculateAmountNoCompounding(double deposit, double annualInterestRate, int numberOfYears) { 

     double finalAmount = deposit*(1+annualInterestRate*numberOfYears); 
     return finalAmount; 
    }  
} 
+2

是的,編譯器是正確的。 –

+6

變量有*範圍*。方法要求你叫他們*。我強烈建議從一本關於Java的初學者書或Oracle教程開始。 –

回答

2

返回的值,你需要調用方法

的System.out.println(calculateAmountNoCompounding(存款,annualInterestRate,numberOfYears));

+0

我在想這樣的解決方案,但我沒有想到放入存款等。謝謝,夥計。 – user3076531

1

您嘗試訪問一個變量法的局部變量從另一種方法。檢查該變量的範圍。方法局部變量可以在只聲明它們的方法中訪問。

finalAmount定義在calculateAmountNoCompounding()方法裏面,所以它只有一個範圍。您需要打印無論從calculateAmountNoCompounding()不是方法的局部變量finalAmount