2012-11-30 29 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