gpt4 book ai didi

java - 使用 args 的回文;帮我找出错误?

转载 作者:行者123 更新时间:2023-12-02 06:46:02 25 4
gpt4 key购买 nike

我正在构建一个类,用于检查输入是否包含回文,并仅返回回文项(如果存在)。我已经能够开发以下内容,并且编译和运行没有错误,但我没有从中得到任何返回。

有人能发现我的错误在哪里吗?

public class Palindrome {

public static boolean isPalindrome(String word) {

String back = word.charAt(word.length() - 1) + "";
for (int i = word.length() - 2; i >= 0; i--) {
back = back + word.charAt(i);
}
if (word == back) {
return true;
}
return false;
}


public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
if (isPalindrome(args[i]) == true) {
System.out.println(args[i]);
}
}

}

}

我认为问题出在 main 方法中,特别是在 if 语句中,但我不确定为什么它不起作用。

public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
if (isPalindrome(args[i]) == true) {
System.out.println(args[i]);
}
}

}

预先感谢您提供的任何帮助。感谢您的宝贵时间!

最佳答案

对于第一部分,您可以使用 back = new StringBuilder(word).reverse().toString() 来反转它,这是更干净的代码,也更优化(也更快,但不这里无关紧要)。

但是你的问题是比较字符串,==检查两个对象是否相等,对于两个字符串来说这永远不是真的,即使它们与你期望的相同。使用word.equals(back),检查字符串的文本内容是否匹配。

关于java - 使用 args 的回文;帮我找出错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18625115/

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