2012-11-30 32 views
-6

任何人都可以告訴我java中輸出(x modulus 10)是多少?如果x是從1(包括)到9(包括)的正整數?我寫了這個代碼,看看它可能是什麼,但什麼都沒有:Java中x%10的結果

for(int i=1;i<10;++i) 
    { 
     int y = (i%10); 
     System.out.println("y is:" + y); 
    } 
+2

你怎麼什麼都沒有?你有哪些代碼? –

+0

你運行過嗎?你的輸出是什麼樣的? – vijay

回答

4

如果您想測試Java代碼並且無法訪問開發環境,則仍然可以使用ideone.com這樣的公共服務。我爲你做了這個over here。你的程序打印

y is:1 
y is:2 
y is:3 
y is:4 
y is:5 
y is:6 
y is:7 
y is:8 
y is:9 
2

你應該去這樣的輸出:

y is:1 
y is:2 
y is:3 
y is:4 
y is:5 
y is:6 
y is:7 
y is:8 
y is:9 

基本上,如果你有y % x0 <= y < xy % x = x。 否則,y % x = y - (y/x)

1

對於整數xx % 10結果是和9(包括兩個端值)之間的整數。

JLS

二進制%操作者被說成從一個隱含的除法得到其操作數 的剩餘部分;左邊的操作數是被除數,右邊的操作數是除數。

在C和C++中,餘數運算符只接受整數操作數 ,但在Java編程語言中,它也接受浮點數 操作數。

對二進制後爲整數的操作數的其餘操作 數值提升(第5.6.2節)會產生一個結果值,使得 (a/b)* b +(a%b)等於a。

即使在特殊情況下,該特徵仍然適用,即其類型爲 的最大可能量級的負整數,而 除數爲-1(餘數爲0)。

由此規則得出,其餘操作 的結果只有在股息爲負數時纔可以爲負數,並且只有當股利爲正數時纔可以爲正數 。而且,結果的大小總是小於除數的大小。

1

X%10,讀作x模10,給出了x/10運算的其餘部分。

I.e.

對於如:

If x=11 

Then x%10 =1 

If x=1 

Then x%10 = 1