gpt4 book ai didi

java - Unresolved 变量错误

转载 作者:行者123 更新时间:2023-12-01 10:09:22 30 4
gpt4 key购买 nike

我正在编写一个小程序来判断字符串数组向前和向后读取是否相同。现在我的程序应该返回 false。我遇到了一些困难,因为当我扫描数组时,我希望第二个 for 循环扫描第一个 for 循环所在的相同索引,但我遇到了 Unresolved 变量错误。我知道有一个更简单的解决方案,但我只想找到解决此特定错误的方法。

public class Pal {
public static void main(String[] args) {
String[] pal = {
"alpha",
"beta",
"gamma",
"delta",
"gamma",
"beta",
"alpha",
"donw"
};
System.out.println(palindrome(pal));
}

public static boolean palindrome(String[] pal) {
String[] container = new String[pal.length];
String[] rcontainer = new String[pal.length];
for (int i = 0; i <= pal.length - 1; i++) {
container[i] = pal[i];
}
for (int k = pal.length - 1; k >= 0; k--) {
rcontainer[k] = pal[i];
}
for (int a = 0; a < pal.length; a++) {
if (rcontainer[a].equals(container[a])) {
return true;
}
}

return false;
}

}

最佳答案

ircontainer[k]=pal[i];未定义。

将该行更改为 rcontainer[k]=pal[k];会消除错误,但是判断输入是否回文的逻辑也是错误的。你必须

  • 反转数组之一,而不是创建具有相同内容的数组的两个副本。
  • 检查原始数组和反转数组中的所有元素是否相同,而不是其中一个元素相同。

改进的代码:

public class Pal {
public static void main (String[]args) {
String[] pal= {"alpha", "beta", "gamma", "delta", "gamma", "beta","alpha","donw"};
System.out.println(palindrome(pal));
}

public static boolean palindrome(String[]pal) {
String[]container=new String[pal.length];
String[]rcontainer=new String[pal.length];
for (int i=0;i<=pal.length-1;i++) {
container[i]=pal[i];
}
for (int k=pal.length-1;k>=0;k--) {
rcontainer[k]=pal[pal.length-1-k];
}
for (int a=0;a<pal.length;a++) {
if(!rcontainer[a].equals(container[a])) {
return false;
}
}

return true;
}

}

注意,原始数组就是原始数组,所以不需要复制原始数组,直接使用 pal 即可。而不是container .

关于java - Unresolved 变量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36232661/

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