Мне нужно создать программу на Java, которая использует метод вычисления будущей стоимости инвестиций с пользователем, вносящим сумму инвестиций и процентную ставку. Он должен отображаться в таблице и иметь годы 1-30
.Ошибка: futureInvestmentValue не может быть разрешен переменной
У меня ОДНА ошибка, что я не могу понять, как исправить. Ошибка находится под //Title
в main
, где у меня есть futureInvestmentValue
. Ошибка говорит мне, что
futureInvestmentValue cannot be resolved to a variable
Вот мой код:
import java.util.Scanner;
public class futureInvestmentValue {
public static double futureInvestmentValue(double investmentAmount,
double monthlyInterestRate, int years){
double futureInvestmentValue = 1;
for (years = 1; years <= 30; years++) {
monthlyInterestRate = years/1200;
futureInvestmentValue =
investmentAmount * Math.pow((1+monthlyInterestRate), years*12);
}
return futureInvestmentValue;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//Get investment amount and yearly interest rate from user
Scanner input = new Scanner (System.in);
System.out.print("Enter investment amount, for example 100:" +
"Enter yearly interest rate, for example 5.25:\n");
double investmentAmount = input.nextDouble();
double annualInterestRate = input.nextDouble();
//Title
System.out.print("Years\t" + "\t Future Value");
for (int years = 1; years <= 30; years++) {
System.out.print(years);
System.out.printf("%4d", futureInvestmentValue);
}
System.out.println();
}
}
Вы объявляете эту переменную внутри 'futureInvestmentValue()', поэтому вы можете получить доступ к ней только в этом методе. Если вам нужен доступ в 'main()', вам нужно объявить его как переменную класса, статическую. Другой вариант - вызвать этот метод в вашем заявлении печати, используя '()' в конце. – csmckelvey
Да, потому что это не переменная, но вы используете ее как таковую. – njzk2