固定。为了获得评估我想要的方式的陈述,我必须这样写:
public static Boolean pushCard(String S1, String S2) {
Boolean result = false;
if ((S1.equals("fire") || S1.equals("wind") || S1.equals("water")))
if (!S2.equals("fire") && (!S2.equals("water") && (!S2.equals("fire"))))
result = true;
return result;
} //end push card method
我无法判断这种比较是否会导致问题。我使用==而不是.equals,但后来我才知道这是写错的方法。谢谢你的帮助!
public static Boolean pushCard(String S1, String S2) {
Boolean result = false;
if ((S1.equals("fire") || S1.equals("wind") || S1.equals("water")))
if (!S2.equals("fire") || (!S2.equals("water") || (!S2.equals("fire"))))
result = true;
return result;
} //end push card method
答案 0 :(得分:3)
从语法上讲,您的代码编译得很好,使用.equals()
方法比较字符串的方式是正确的。您对!
运算符的使用也是正确的。
不能保证您的代码不会出现逻辑错误。
答案 1 :(得分:1)
我可以看到你唯一的问题是"fire"
在你的第二个if
声明中提到了两次。否则,您可能遇到的任何问题都可能与您的逻辑错误有关,因为您的语法非常正确且使用正确。
答案 2 :(得分:1)
目前还不清楚你在问什么。第二个if
始终为true
。你可能需要:
if ((S1.equals("fire") || S1.equals("wind") || S1.equals("water")))
if (!S2.equals("fire") && (!S2.equals("water") && (!S2.equals("wind"))))
result = true;
答案 3 :(得分:0)
public static Boolean pushCard(String S1, String S2)
{
Boolean result = false;
if (S1.equals("fire") || S1.equals("wind") || S1.equals("water"))
{
(!S2.equals("fire") || !S2.equals("water"))
result = true;
}
return result;
}
/ end push card method
你在第一个if语句中有一对额外的括号。
我认为当if语句中的代码大于一行时,它需要括号{}。
你的第二个if语句可以改为!S2.equals(“fire”)|| !S2.equals(“water”)