我试图找出输入的数字是否可以被9和13整除,但它不会让我使用我需要的运算符,我知道变量类型是错误的但我不知道如何使它变量类型被接受,我是新编码所以答案应尽可能基本,而不是小便
public bool IsFizzBuzz(int input)
{
if ((input % 9) && (input % 13) == 0)
{
return true;
}
else
{
return false;
}
}
解决方法:
由于==
operator有higher precedence而不是&&
operator,你的if语句首先计算;
(input % 13) == 0
part返回true或false取决于你的输入.你的if语句会是这样的;
(input % 9) && true // or false
因为输入%9表达式返回int,所以最后,你的if语句将是;
int && true
和逻辑AND在int和bool变量之间没有意义.
The conditional-AND operator (&&) performs a logical-AND of its bool
operands, but only evaluates its second operand if necessary.
你说;
im trying to find out if a number that is entered is both divisible by
9 and 13
那你应该像他们一样使用它们;
if ((input % 9 == 0) && (input % 13 == 0))