1
 int x = 13; 
 while(x >= 4) { 
 if (x % 2 == 1) { 
 System.out.println(x); 
 } 

 x = x - 3; 
 }

私はこれの出力を知っています、それは13と7です、誰かがどのようにして13と7になったのか説明したいと思います.

4

4 に答える 4

2

最初の x は 13 です。それは >= 次に 4 ですか? はい。while ループに入ります。13%2==1 です。はい。x を出力 (13 を出力)。x = x-13 とすると、x は 10 になります。10 >=4 ですか? はい。.... 後で。

于 2013-04-10T06:54:56.910 に答える
2

13 % 2 = 1したがって、印刷します13。今x = 1010 % 2 = 0、だからあなたは印刷しないでください10。今x = 77 % 2 = 1、だからあなたは7を印刷しますx = 44 % 2 = 0; x = 1これでループが停止します。

%演算子はモジュロ演算子です。これは、2 つの数値を除算したときの剰余を出力します。たとえば14/3 = 4 remainder 2、そう13 % 4 = 2

于 2013-04-10T06:55:08.380 に答える
2

何がわからないの?

最初の反復ではx=1313%2=1が表示されるため、 が出力され13ます。秒の繰り返しx=10( x=x-3) 10%2=0、何も出力されません。3 回目の反復x=7( 10-3) で7%2=1あるため、7 が出力されます。

その後、x=4 なので何も表示されずx=1、ループを終了します。

于 2013-04-10T06:55:30.377 に答える