代码之家  ›  专栏  ›  技术社区  ›  C. E.

“可能尚未初始化”

  •  5
  • C. E.  · 技术社区  · 15 年前

    我得到错误:

    Java:115:变量 计数器可能没有 已初始化 counters[i]=新计数器(i);

    我不知道怎么修。我知道我的课, Counter ,有效。下面是我的代码,如果你能看一下,我会很高兴的。此代码包装在 TestCounter 班级。

      if(success) 
      {  
       Counter[] counters;
    
       for(int i=0; i<30; i++)
       {
           counters[i] = new Counter(i);
           System.out.println(counters[i].whatIsCounter());
       }
      }
    
    2 回复  |  直到 15 年前
        1
  •  12
  •   skaffman    15 年前

    您没有创建数组,只是声明了变量。

    你需要这样做:

    Counter[] counters = new Counter[30];
    

    或者类似的东西

        2
  •  0
  •   Sid    15 年前

    您需要初始化 counters 数组。 像这样:

    if(success) 
      {  
       Counter[] counters=new Counters[30];
    
       for(int i=0; i<30; i++)
       {
           counters[i] = new Counter(i);
           System.out.println(counters[i].whatIsCounter());
       }
      }
    

    通过陈述 Counter[] counters 您实际上不是在创建数组,而是简单地声明一个引用变量 计数器 类型 Counter[] .

    Counter[] counters=new Counters[30] 将创建类型为的数组 Counter 大小为30,每个元素包含空引用。