C++ 代码:if (!(number % i)) {
Java代码:if (!(number % i == 0)) {
是对的吗?
正确版本:
Java代码:if ((number % i == 0)) {
正确,是的。但他们不做同样的事情。
在 Java 中,您需要进行比较,因为没有自动转换为布尔值。
等效的 C++ 代码将是
if (!(number % i == 0))
或者干脆
if (number % i)
是的,那是正确的。
Java,将boolean
a 视为separate data type
具有 2 个不同的值:true和false
C++ 认为整数0
等价于假,而其他值则为真。
但是,您已经颠倒了语句中的逻辑。
if (!(number % i)) { //returns true if number is divisible by i
if (!(number % i == 0)) { //returns true if number is not divisible by i