它告诉我在没有实例化Java的变量

时间:2013-09-20 03:46:40

标签: java

嘿伙计们我对编程非常陌生我正在练习练习题而且我正在练习我尝试编译我已经输入的代码,但是它回来了一年没有初始化并且同样的错误去了投资。这是我现在的代码。我究竟做错了什么?顺便说一下变量future =投资*(1 + interest_rate)^年 年是指数。

import java.lang.*;
public class Exercise63Page173

{

   public static void main(String [] args)
   {

   int year;
   double investment;
   final double INTEREST_RATE = .065;

   double future = investment * Math.pow((1 + INTEREST_RATE), year); 

   }


}

2 个答案:

答案 0 :(得分:3)

本地方法变量需要在使用前初始化。您需要初始化year和投资variables。将声明更新为:

   int year = 0;
   double investment = 0.0d;

注意:无需初始化类或实例变量,因为默认情况下会初始化它们,但需要初始化局部变量。

答案 1 :(得分:0)

在java中,所有数据成员都将初始化为其默认值,而不是局部变量的情况。在使用局部变量之前,需要将局部变量初始化为某个值。

 int year = 0;
 double investment = 0.0d;

即使你尝试下面的代码仍然编译器会抱怨

    int i = 10, j = 10;
    int x;
    if(i==j) {
        x=0;
    }
    x++;

编译器会抱怨因为x的初始化是有条件的。如果将条件更改为if(true),编译器可以看到x在使用之前会得到一些值,因此不会给出错误。