2012-12-16 44 views
0

C++代碼:if (!(number % i)) {C++與Java除法運算

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

是嗎?

正確的版本:

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

+0

什麼問題?是*什麼*對嗎? –

+3

'if(number%i!= 0)'too too ... – assylias

+0

我的建議是在這兩種語言中使用'(數字%i == 0)'。它起作用了,它使意圖清晰。在正常情況下,使用'if(!(number%i))'不會獲益。 – Zane

回答

3

正確的,是的。 雖然他們不會做同樣的事情。

在Java中,您需要進行比較,因爲沒有自動轉換爲布爾值。

等效C++代碼將是要麼

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

或簡單地

if (number % i) 
3

是的,這將是正確的。

爪哇,治療boolean作爲separate data type其具有2個不同的值:

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