这是错误消息。它不是括号或分号。我在代码的开头说过,我不明白为什么它不起作用。
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++;
}
}
}
}
答案 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;
然后它会起作用。