我想将整数的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;
}
答案 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);