Операция вычитания и деления с переменными и для цикла - PullRequest
0 голосов
/ 24 мая 2018

Я новичок в var args (и в программировании тоже), и я понятия не имею, как могут выглядеть методы вычитания и деления, используя их для цикла.Спасибо за помощь :) У меня есть это, но я знаю, что это не работает;

public int dynamicSub(int... n) {
    int result = 0;
    for (int i : n) {
    result = result - i;
    }
    return result;
}
public int dynamicDivision(int... n) {
    int result = 0;
    for (int i : n) {
    result = result / i;
    }
    return result;
}

1 Ответ

0 голосов
/ 24 мая 2018

Ваше вычитание работает хорошо.Вам просто нужно решить, всегда ли результат должен начинаться с 0.

int result = dynamicSub(12, 15, 18); // returns -45

Вот немного измененная версия вашего метода деления.Это позволяет избежать деления на 0, и вы можете передать начальное значение для результата.

public int dynamicDivision(int start, int... n) {
    int result = start;
    for (int i : n) {
        if(i != 0 && result != 0) {
            result = result / i;
        }
    }
    return result;
}

Используя эту новую версию метода, в моем следующем примере результатом будет 3.

1000 - начальное значение результата.

0, 15, 18 - значения, на которые результат делится.

int result = dynamicDivision(1000, 0, 15, 18); // result is 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...