gpt4 book ai didi

java - 为什么我的代码告诉我初始化一个已经初始化的变量?

转载 作者:行者123 更新时间:2023-11-29 03:06:55 25 4
gpt4 key购买 nike

我有以下代码:

public String palindrome(String str)
{
String str, reverse = "";
Scanner in = new Scanner(System.in);
int length = str.length();
for ( int i = length - 1; i >= 0; i-- )
reverse = reverse + str.charAt(i);
if (str.equals(reverse))
System.out.println("Entered string is a palindrome.");
else
System.out.println("Entered string is not a palindrome.");

return "";
}

它有一个 init() 方法,当输入字符 'p' 时调用它,检查当前字符串是否为回文。

但是,当我编译时它指出行中有错误:

String str, reverse = "";

错误指出变量可能尚未初始化。但是,当我初始化它时,会出现另一条错误消息,指出 str 已被初始化。

最佳答案

您复制了 str,一次作为参数,一次作为局部变量。除此之外……

字符串 str, reverse = "";

...确实用“”初始化reverse,但不是str:

String str, reverse = "";
System.out.println(str); // error here "The local variable str may not have been initialized"

但是……

String str = "", reverse = "";
System.out.println(str); // works fine

关于java - 为什么我的代码告诉我初始化一个已经初始化的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31720186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com