Я не понимаю лог c за этим кодом. Может кто-нибудь объяснить мне, что он на самом деле делает и как? - PullRequest
0 голосов
/ 06 августа 2020
class Echo{
  
  int count = 0;
  
  void hello(){
    
    System.out.println("hellooo...");
    
  }
  
}


public class EchoTestDrive {

  public static void main(String[] args) {
  
     Echo e1 = new Echo();
     Echo e2 = new Echo();
     
     int x=0;
     
     while(x<4){
       
       e1.hello();
       e1.count = e1.count+1;
       
       if(x==3){
         
         e2.count = e2.count +1;
       }
       
       if (x>0){
         
         e2.count = e2.count + e1.count;
       }
       x=x+1;
     }
     System.out.println(e2.count);
  
   
  }
}

1 Ответ

0 голосов
/ 06 августа 2020

Я переформатировал код:

class Echo {
    int count = 0;
    void hello() {
        System.out.println("hellooo...");
    }
}

public class Main {
    public static void main(String[] args) {
        Echo e1 = new Echo();
        Echo e2 = new Echo();
        int x = 0;
        while (x < 4) {
            e1.hello();
            e1.count++;
            if (x == 3) e2.count++;
            if (x > 0) e2.count = e2.count + e1.count;
            x++;
        }
        System.out.println(e2.count);
    }
}

Если мы посмотрим на while l oop:

1) после первого l oop (x = 0):

e1.count = 1

e2.count = 0

2) x = 1

e1.count = 2

e2.count = 0 + 2 = 2

3) x = 2

e1.count = 3

e2.count = 2 + 3 = 5

4) x = 3

e1.count = 4

e2.count = 6 (как x = 3)

e2.count = 6 + 4 = 10

Следовательно, ваш результат:

hellooo...
hellooo...
hellooo...
hellooo...
10
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...