2014-01-30 19 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