使用varargs和for循环进行减法和除法运算

时间:2018-05-24 05:51:51

标签: java for-loop dynamic args

我是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 :(得分:0)

你的减法效果很好。你只需要决定结果是否总是以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