2016-03-22 20 views
-3

Bu java programının ne yaptığını anlayamıyorum. 31 ve 12 verir. Şimdiden teşekkürler! SaygılarBu java programı ne yapar?

int x = 911; 
int y= 29;   
int z = 0;       

if (x>=0) {      
    if (y>=1) {     
     while (y<=x) {    
      x = x - y;    
      z = z + 1;    
     } 
     System.out.println(z); 
     System.out.println(x);           
    } 
}        
+0

Tahmininiz nedir? Adım adım ilerleyin ve bu süreci zaten bildiğiniz bir şey olarak tanıyacaksınız. – Maljam

+0

İpucu: 911 ve 29 arasında ne gibi operatörler yerleştirebilirsiniz? –

+0

Merhaba Hoş Geldiniz. Kuru çalıştırmayı veya bir hata ayıklayıcısını kullanmayı öneririm. Thats başlamak ve uzun vadede yararlı olurdu – Prashant

cevap

3

Bu, -me ve while ifadelerinde yaygındır. Herhangi bir dilde kullanabileceğiniz ama sonuç aynı. İfade şartının yerine getirilinceye kadar her seferinde ve ifadesinde her iki ifadeye de girer. Burada kodunuzda z, while döngüsüne kaç kez gideceğini belirten bir sayaçtır ve 32 katına çıkacaktır. Döngü ifadesi tatmin edilmediğinde 32 kez ve bir daha asla bu döngüye gitmez.

  • Sadece bu satırın içine iş parçacığı bloğunu koyarak koyarak kendiniz denetleyebilirsiniz. Bu bloğa kaç kez basacağını ve değişkeninizin değeri ne olacağını yazdıracaktır.
+0

Anladım ifadesi ne yapar ve ben bu özel ne yapar anladım. Ama hala neden bu kadar x/y, x% y yerine yazıldığını ve aynı şeyi yapamadığını anlayamıyorum. Yine de cevap için teşekkürler! – vucko95