gpt4 book ai didi

java - 两个字符串的比较

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:36:05 24 4
gpt4 key购买 nike

我有以下代码:

    int t = s.length()-1;
int g = 0;

for (int i=0; i < s.length(); i++){

if (s.charAt(i) != h.charAt(t--));
g++;

}

if (g==0)
return true;

else
return false;

基本上这段代码应该做的是测试字符串 h 的逆是否等于字符串 s,反之亦然。由于某种原因,总是返回“false”——尽管显而易见的答案是 true。

任何人都可以告诉我我的代码有什么问题吗?

谢谢!

最佳答案

我会说额外的 ; 是罪魁祸首。

代替

if (s.charAt(i) != h.charAt(t--));

使用

if (s.charAt(i) != h.charAt(t--))

您应该始终走“安全”路线。也就是说,在 if-else 语句之后使用大括号(几乎所有可以使用它们的地方),这样一开始就不会发生这样的错误。正确的写法是:

if (s.charAt(i) != h.charAt(t--)) {
g++;
}

顺便说一句,如果您不先检查 sh 是否具有相同的长度,您的代码就会崩溃。

关于java - 两个字符串的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5202562/

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