2017-01-09 12 views
-4

昨日私はインタビューに直面していました。そのインタビューで、彼らは私に%と/の違いを教えてくれるような1つの質問をしました。
あなたは私に私は理論的には、それを説明することができ、私もこのjavaの%(モジュラス)と/(除算)の差は?

class FindDifference 
{ 
    public static void main(String[] args) 
    { 
     int num1=12; 
     int num2=3; 
     int modulus=num1%num2; 
     int divide=num1/num2; 
     System.out.println("modulus :"+modulus); 
     System.out.println("division :"+divide); 
    } 
} 

上のプログラムを行って、私の結果はどのようにすべてのボディをお願いします、私は、彼らが与えたもの、結果を知っているが、私は理論的にはそれを説明することができCONT :

modulus :0  
division :4  

しかし、どのように私はあなたが

+3

除算とモジュラス演算の定義を知っていますか?それはそのほとんどでなければなりません。 –

+4

関連のないタグでスパムしないでください。 Javaでプログラミングする場合は、Javaタグのみを使用します。 –

+0

また、タグをスパムしないでください。 –

答えて

1

にパーセント記号を、私を助けてくださいthem.Will間の理論的説明を与えることができ、モジュラス演算子です。整数演算の除算演算子が整数結果を与えるという違いを認識してほしいと言っています。剰余演算子は、元の値が

(num1/num2)*num2 + num1%num2 == num1

これは理論的な説明であるように、整数arithmaticから回収されるという意味で、残りを与えます。

(タイピングを容易にするためのpythonを使用して)の例では、あなたを与えるだろう上記

>>> -21 %4 
3 
>>> -21 /4 
-6 
>>> -6*4 +3 
-21 

あなたのJavaプログラムを提供します。 (このマシンにはJavaコンパイラはありません)。

class FindDifference 
{ 
    public static void main(String[] args) 
    { 
     int num1 = 10; 
     int num2 = 3; 
     int percentage = num1%num2; 
     int divide = num1/num2; 
     int resume = divide*num2 + percentage 
     System.out.println("Percent :"+percentage); 
     System.out.println("division :"+divide); 
     System.out.println("resume :"+resume); 
    } 
} 
+0

*モジュラス演算子は、剰余*を正確に与えません。 http://stackoverflow.com/questions/13683563/whats-the-difference-between-mod-and-remainderを参照してください。 –

+0

しかし、私は理論的な説明をしてください、理論的な説明と答えを投稿してください – sreeku24

+0

。 @EugeneShに感謝します。 – sreeku24

関連する問題