繁体   English   中英

数组元素乘以数组长度:Java

[英]Multiply array elements by the array length: Java

我试图弄清楚为什么我的程序不起作用。 我实际上要做的是将数组的每个元素乘以该特定数组的长度。 例如,如果输入是 [2, 3, 1, 0] 的数组,它将产生 [8, 12, 4, 0]

这是我的程序

public class Challenge {
    public static int[] MultiplyByLength(int[] arr) {
        for (int i = 0; i <= arr.length; i++){
            return arr[i] * arr.length;
        }
    }
}

任何批评都提前表示赞赏!

设置值并在循环返回。 按照惯例,方法名称以小写字母开头。 你有一个数组索引错误。 修复所有这些可能看起来像,

public static int[] multiplyByLength(int[] arr) {
    for (int i = 0; i < arr.length; i++){
        arr[i] *= arr.length;
    }
    return arr;
}

为避免此类错误,您可以使用 java 流

import java.util.Arrays;
public class Challenge {
    public static int[] MultiplyByLength(int[] arr) {
        return Arrays.stream(arr).map(i -> i * arr.length).toArray();
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM