如何在数组列表中将所有值一起计时

时间:2014-03-11 23:01:55

标签: java arrays list math

我想将整数的arraylist中的每个值相乘。例如,

我有一个包含以下数字的数组列表:

5, 5, 5, 5

如何创建一个包含所有这些数字的整数乘以:

int x = 5 * 5 * 5 * 5

在我的情况下,我用方法返回它,如下:

List<Integer> stack = new ArrayList<Integer>();

public int multiply() {
    int x = 0;
    for (int i = 0; i < stack.size(); i++) {
        x *= stack.get(i);
    }
    return x;
}

5 个答案:

答案 0 :(得分:3)

只需循环浏览ArrayList并乘以:

int foo=1;
for(int i : list) {
   foo *= i;
}

答案 1 :(得分:3)

List<Integer> stack = new ArrayList<Integer>();

public int multiply() {
    int x = 0;
    for (int i = 0; i < stack.size(); i++) {
        x *= stack.get(i);
    }
    return x;
}

想一想,0*对最终数字的意义是什么?得到它了?修复它!

答案 2 :(得分:3)

你这里有问题

public int multiply() {
    int x = 0;
    for (int i = 0; i < stack.size(); i++) {
        x *= stack.get(i);
    }
     return x;
}

因为你用零初始化x - 将它乘以任何东西,它仍然为零。 将此行更改为

 int x = 1;

你应该很好

答案 3 :(得分:1)

嗯,您应该将结果(x)初始化为1! (零次为零)

答案 4 :(得分:0)

int number1 = 1;
   for (int i = 0; i < list.size(); i++) {
   number1 *= list.get(i);
   }
System.out.println(number1);

我使'number1'等于1,因为任何数字乘以1就是数字。在打印循环“ number1”之后。 'number1 * = list.get(i);'的完整语法-> 数字1 =数字1 * list.get(i);