2015-11-25 3 views
0

Здравствуйте, я пытаюсь написать программу, которая вычисляет будущую стоимость инвестиций с использованием фиксированной ставки, и у меня возникают проблемы с моими переменными. Любая помощь была бы высоко оценена, спасибо вам заранее!Cannont Find Symbol Error, Несовместимые типы

/** 
    * NAME: 
    * DATE: November 3, 2015 
    * FILE: 
    * COMMENTS: This program caculates a future investment value using a fixed rate 
    */ 
    import java.util.Scanner; 

public class lab12 
{ 
    public static void main(String[] args) 
    { 
    //declare variables 
    double yearlyInterstRate; 
    double monthlyInterestRate; 
    double monthlyInvestmentAmount; 
    double years; 
    double months; 

    //Create Scanner Object 
    Scanner keyboard= new Scanner(System.in); 

    //Get Investment Information 
    System.out.print("Hello we will be caculating the future of your fixed monthly investment, I will need to collect some information from you."); 
    System.out.print("What is your monthly investment amount?"); 
    monthlyInvestmentRate=keyboard.nextLine(); 
    System.out.print("How many years wil you be investing for?"); 
    years=keyboard.nextLine(); 
    System.out.print("What is your yearly interest rate?"); 
    yearlyInterestRate=keyboard.nextLine(); 
    //Caculate the future rate 
    { 
     months=years*12; 
     monthlyInterestRate=yearlyInterestRate/12/100; 
     futureValue= CaculateFuturevalue(monthlyInvestedAmount,monthlyInterestRate,months); 
     System.out.print("Your future value is $"+futureValue); 
    } 
} //Close Main 
} //close lab12 
+2

И ошибка ...? * Всегда * дайте полную информацию об ошибке - точное сообщение об ошибке и где оно происходит. –

+1

* «проблемы с переменными» *. Пожалуйста, будьте более конкретными. Прочитайте «[Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask)». – Andreas

+1

Также, посмотрите здесь, это может помочь: http://stackoverflow.com/questions/25706216/what-does-a-cannot-find-symbol-compilation-error-mean – rb612

ответ

1

У вас есть орфографические ошибки в переменных.

Вы указали yearlyInterstRate, но используете yearlyInterestRate, поэтому вам нужно использовать переменные по мере их объявления.

также необходимо использовать monthlyInvestmentAmount нет monthlyInterestRate.

1

Этот код будет делать:

public class lab12 
{ 
    public static void main(String[] args) 
    { 
     //declare variables 
     double yearlyInterstRate; 
     double monthlyInterestRate; 
     double monthlyInvestmentAmount=0; // you forgot to initialize this value 
     double years; 
     double months; 
     double futureValue; 
     //Create Scanner Object 
     Scanner keyboard= new Scanner(System.in); 

     //Get Investment Information 
     System.out.print("Hello we will be caculating the future of your fixed monthly investment, I will need to collect some information from you."); 
     System.out.print("What is your monthly investment amount?"); 
     monthlyInterestRate=keyboard.nextDouble(); 
     System.out.print("How many years wil you be investing for?"); 
     years=keyboard.nextDouble(); 
     System.out.print("What is your yearly interest rate?"); 
     yearlyInterstRate=keyboard.nextDouble(); 
     //Caculate the future rate 

      months=years*12; 
      monthlyInterestRate=yearlyInterstRate/12/100; 
      futureValue= caculateFuturevalue(monthlyInvestmentAmount,monthlyInterestRate,months); 
      System.out.print("Your future value is $"+futureValue); 

    } 
} 

Теперь некоторые улучшения:

  1. использование nextDouble() вместо nextLine(), bacause ваши переменные являются двойными, а не строка.
  2. имя вашего класса ВЕРХНИЙрегистр, так Lab12 и не lab12
  3. проверки
  4. argumen было бы неплохо (проверить, если указанные значения терке нуля)
Смежные вопросы