变量未初始化

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)

Era*_*ran 5

您必须初始化output,因为局部变量没有默认值:

String output = "";
Run Code Online (Sandbox Code Playgroud)

否则,在第一次调用output += input.charAt(i);(相当于output = output + input.charAt(i);)时,output未初始化,因此该行有编译错误.

由于input您在首次尝试访问它之前为其分配了值,因此您没有遇到同样的问题.