0

C++ 代码:if (!(number % i)) {

Java代码:if (!(number % i == 0)) {

是对的吗?

正确版本:

Java代码:if ((number % i == 0)) {

4

2 回答 2

3

正确,是的。但他们不做同样的事情

在 Java 中,您需要进行比较,因为没有自动转换为布尔值。

等效的 C++ 代码将是

if (!(number % i == 0))

或者干脆

if (number % i)
于 2012-12-16T12:28:26.303 回答
3

是的,那是正确的。

Java,将booleana 视为separate data type具有 2 个不同的值:truefalse

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
于 2012-12-16T12:28:54.873 回答