1 java variables initialization
我正在尝试编写一种方法,用于将用户输入的字符串的元音加倍.我一直在警告变量输出没有初始化.应该做什么?
这是我的代码:
public static void main(String[] args)
{
String input;
String output;
Scanner scan = new Scanner (System.in);
System.out.println ("Enter string:");
input =scan.nextLine();
for (int i=0 ; i< input.length(); i++) {
if((input.charAt(i)+"").toUpperCase().matches("A|E|I|O|U")) {
output += input.charAt(i);
}
output += input.charAt(i);
System.out.println ("New string:" +output);
}
}
}
Run Code Online (Sandbox Code Playgroud)
您必须初始化output,因为局部变量没有默认值:
String output = "";
Run Code Online (Sandbox Code Playgroud)
否则,在第一次调用output += input.charAt(i);(相当于output = output + input.charAt(i);)时,output未初始化,因此该行有编译错误.
由于input您在首次尝试访问它之前为其分配了值,因此您没有遇到同样的问题.