Найдите наименьшее число среди трех чисел, используя - PullRequest
0 голосов
/ 19 сентября 2019

Так что я в замешательстве, что в этих скобках, код работает нормально, но я не понимаю?

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);    
    int a = scanner.nextInt(); 
    int b = scanner.nextInt();
    int c = scanner.nextInt();
    if(b < a) {
      a = b; //This part is confusing to me
    }
    if(c < a) {
      c = a; 
    }    
    System.out.println("Smallest number is " + a);
}

Ответы [ 2 ]

2 голосов
/ 19 сентября 2019

a используется для двух целей:

  1. Он сохраняет первый вход.
  2. Затем он обновляется новым значением (из других переменных, которыеполучил их значение от ввода,) если это новое значение меньше.

Если бы я писал программу, я бы не назначил обе эти обязанности на a, но это то, чтоздесь происходит.

0 голосов
/ 19 сентября 2019

Я немного изменил логику, но вы можете применить тот же метод к вашему случаю.

For a, b, and c.

If a > b
   a = b; // now a < b
otherwise leave a alone.
  1. В этот момент a всегда меньше, чем b
if a > c
   a = c // now a < c
otherwise, leave a alone.
В этот момент a всегда меньше, чем c.

Из-за 1. и 2. a меньше, чем b и c.

...