您好我有一个我在全球范围内声明的数组;
static int numbers [] = {12,15,67,18,29,40,23,4,59,5};
我的主要成就了
multiplyBy(3);
(3)确定将数组中每个数字乘以的内容。
我的代码' multiplyBy'方法是:
public static void multiplyBy (int n)
{
int sum = 0;
for(int i = 0; i < numbers.length; i++){
sum = n * numbers[i];
}
System.out.println("The sum is: " + sum);
}
当我运行代码时,它只会输出:
总和是:15
所以它似乎只是乘以数组的最后一个数字,我想让它乘以数组的每个元素并将其打印出来,任何想法我在这里出错?
答案 0 :(得分:2)
您的错误是在每次迭代期间覆盖sum
的值,或者将print语句置于循环之外,具体取决于您所希望的行为。
将multiplyBy()
更改为累积总和将如下所示:
public static void multiplyBy (int n)
{
int sum = 0;
for(int i = 0; i < numbers.length; i++){
sum += n * numbers[i];
}
System.out.println("The sum is: " + sum);
}
并输出:
The sum is: 816
或者,更改multiplyBy()
以使循环内的print语句如下所示:
public static void multiplyBy (int n)
{
int sum = 0;
for(int i = 0; i < numbers.length; i++){
sum = n * numbers[i];
System.out.println("The sum is: " + sum);
}
}
并输出:
The sum is: 36
The sum is: 45
The sum is: 201
The sum is: 54
The sum is: 87
The sum is: 120
The sum is: 69
The sum is: 12
The sum is: 177
The sum is: 15