java - 为什么数组中的元素总是零?
问题描述
我必须编写一个名为 productOfPrevious 的方法,该方法接受一个整数数组并返回一个与输入大小相同的整数数组。返回数组中的每个单元格都是该单元格与所有先前单元格的乘积。
void l3() {
int[] arr = {1,2,3,4,5};
int[] retArr = productPrevious(arr);
for (int elem: retArr){
System.out.print(elem + " ");
}
}
public int[] productPrevious (int[] arr){
int[] retArr = new int[arr.length];
int product = 0;
for (int i = 0; i < arr.length; i++){
product = 0;
for (int j = 0; j <= i; j++){
product *= arr[j];
}
retArr[i] = product;
}
return retArr;
}
这是我的代码。但我不知道为什么输出数组中的元素总是为零。
输入:{1、2、3、4、5}
我想要的输出:{1、2、6、24、120}
我得到的输出:{0, 0, 0, 0, 0}
我的代码有什么问题吗?
解决方案
因为您的产品变量默认为 0。
0 *(任何其他数字)= 0
将您的产品变量设置为 1 以解决问题。
推荐阅读
- python - pyodbc connection.close() 使用 Access 数据库非常慢
- parameters - Verilog - 在生成块中增加本地参数
- java - 在 Eclipse 上按“运行”时无法(同时)启动游戏和音乐
- aws-glue - 实例运行时是否可以修改 AWS Glue 脚本
- jquery - 单击后关闭工具提示
- c - 缺少显式类型(假定为“int”)
- excel-formula - 条件位于相邻列中的 Excel 列总和
- lua - 你如何安装 Luarocks 中列出的依赖项?
- python - 在 joblib `Parallel` 上下文中腌制 `matlab` 对象时出错
- c - 将字符串解析为空终止数组的最佳方法是什么?