获取“可能尚未初始化”错误

时间:2015-03-11 05:35:25

标签: java loops if-statement

这是错误消息。它不是括号或分号。我在代码的开头说过,我不明白为什么它不起作用。

digits.java:25: error: variable countZ might not have been initialized
           countZ++;
           ^
digits.java:33: error: variable countO might not have been initialized
           countO++;

我的代码

import java.util.Scanner;

public class digits
{
    public static void main (String[] args)
    {

    int len,number2,x;
    String number = new String();
    int countZ,countO,countE = 0;
    Scanner read = new Scanner(System.in);

    System.out.println("Please enter a number: ");
    number = read.nextLine();
    len = number.length();
    System.out.println(number);
    System.out.println(len);


    for(int i = 0; i < len; i++)
    {
        number2 = Integer.parseInt(number.substring(i,i+1));

        if (number2 == 0)
        {
           countZ++;
        }
        else if (number2 % 2 == 0)
        {
           countE++;
        }
        else
        {
           countO++;
        }   
    }


    }
}

3 个答案:

答案 0 :(得分:1)

问题是你曾经宣布过多个变量并一次初始化那些值。

试试这个:

   int countZ = 0,countO = 0,countE = 0;

答案 1 :(得分:1)

你认为这行int countZ,countO,countE = 0 - &gt;通过这种方式,您只初始化最后一个,并且您需要使用它们来初始化实例变量。

初始化countZ,count0。

答案 2 :(得分:0)

int countZ,countO,countE = 0;

- &GT;

int countZ = 0;

int countO = 0;

int countE = 0;

然后它会起作用。