Почему основной метод дважды вызывает метод compare ()? - PullRequest
0 голосов
/ 18 декабря 2018

Вот код,

public class Solution {
public static void main(String[] args) {
    compare(5);
}

public static void compare(int a) {
    if(a==5)
        System.out.println("The number is equal to 5");
    if(a<5)
        System.out.println("The number is less than 5");
    else
        System.out.println("The number is greater than 5");
}
}

Вот вывод,

The number is equal to 5
The number is greater than 5

Я только что вызвал метод сравнения один раз, почему он выполняется дважды?

Ответы [ 3 ]

0 голосов
/ 18 декабря 2018

Это не вызов метода дважды, а последовательные операторы if.Используйте

else if (a < 5)
0 голосов
/ 18 декабря 2018

Просто добавьте else перед вашим вторым if оператором

public class Solution {
public static void main(String[] args) {
    compare(5);
}

public static void compare(int a) {
    if(a==5)
        System.out.println("The number is equal to 5");
    // added else
    else if(a<5)
        System.out.println("The number is less than 5");
    else
        System.out.println("The number is greater than 5");
}
}
0 голосов
/ 18 декабря 2018

Потому что у вас есть два if-statements без каких-либо отношений.Вот почему он проверяет параметр a дважды с помощью a==5 и a<5.

. Вы можете исправить это, увеличив второй параметр if с помощью оператора else if.

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