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

Переменные имеют * scope *. Методы требуют, чтобы вы их вызывали *. Я очень хотел бы начать с книги новичка на Java или учебников от Oracle. –

ответ

2

Вам нужно вызвать метод

System.out.println (calculateAmountNoCompounding (депозит, annualInterestRate, numberOfYears));

+0

Я думал, что это решение, но я не думал о сдаче и т. Д. Спасибо, мужик. – user3076531

1

Вы пытаетесь получить доступ к локальной переменной переменной метода от другого метода. Проверьте область действия этой переменной. Доступ к локальной переменной метода можно получить в рамках этого метода, который был объявлен только.

finalAmount, определенный внутри метода calculateAmountNoCompounding(), поэтому он имеет область действия только с этим методом. Вы должны печатать все значения, возвращаемые calculateAmountNoCompounding() не метод локальной переменной finalAmount

Смежные вопросы