枚举变量初始化

时间:2014-08-03 18:25:35

标签: java

我将此方法称为参数接收字符串和类型(这是一个枚举)

 static OCalasa o=new OCalasa();
 String serie=v[2];
 Enumerare tip;
 o.AdaugaVehicul(new Masina(serie,tip));

这是枚举

public enum Enumerare
{
    DIESEL,BENZINA,NONE
}

我收到的错误是:

“变量提示可能尚未初始化”

因此,必须初始化变量“type”。

我所知道的是要初始化?

我想从像“add 543 DIESEL”这样的键盘命令中读取,然后才能执行该方法。

这是myMethod:

  Vehicul[] v1=new Vehicul[10];
  int n;
  public void AdaugaVehicul(Vehicul v)
  {
      if(n<100)
      {
          v1[n]=v;
          n++;
        }
    }

3 个答案:

答案 0 :(得分:1)

在使用变量tip之前,你必须给它一个初始值

Enumerare tip = Enumerare.NONE;

答案 1 :(得分:1)

“变量提示可能尚未初始化”表示变量tip已设置为任何值。这是变量声明的问题,而不是枚举类声明。

例如,这可以很好地编译:

Enumerare tip = Enumerare.DIESEL;
o.AdaugaVehicul(new Masina(serie,tip));

所以会:

Enumerare tip = null;
o.AdaugaVehicul(new Masina(serie,tip));

答案 2 :(得分:1)

  

&#34;变量提示可能尚未初始化&#34;
  所以,变量&#34; type&#34;必须初始化。

我想你的意思是&#34;小费&#34; - 如果是的话,你是对的。你正在声明一个变量&#34; tip&#34;类型Enumerare,但您没有为其分配任何值。分配值的一个示例是

Enumerare tip = Enumerare.DIESEL;

如果你没有使用这个变量的初始化,但是你试图在程序中稍后访问它,当然编译器会告诉你它可能有问题。

说实话:我不理解你问题的第二部分,所以我只回答第一部分问题。希望这无论如何都有帮助。