如何向数组中的每个值添加1(在Java中)?

如何向数组中的每个值添加1(在Java中)?,java,arrays,for-loop,Java,Arrays,For Loop,提示如下: 循环一个整数数组,每个元素加一个。返回结果数组。数组可以是任何长度,包括0 以下是我目前掌握的情况: public int[] add1toEach(int[] nums) { int[] array = new int[nums.length]; for (int i = 0; i < nums.length; i++) { nums[i]++; } return array; } public int[]add1toEach(int[]nums){

提示如下: 循环一个整数数组,每个元素加一个。返回结果数组。数组可以是任何长度,包括0

以下是我目前掌握的情况:

public int[] add1toEach(int[] nums) {
  int[] array = new int[nums.length];
  for (int i = 0; i < nums.length; i++) {
    nums[i]++;
  }
  return array;
}
public int[]add1toEach(int[]nums){
int[]数组=新的int[nums.length];
对于(int i=0;i

它与
add1toEach[]
add1toEach[-1]
一起工作,但仅此而已。如果
add1toEach[6,6,2]
是输入,如何让它吐出
[7,7,3]

正确的代码是:

    public static int[] add1toEach(int[] nums) {
        int[] array = new int[nums.length];
        for (int i = 0; i < nums.length; i++) {
          array[i]=nums[i]+1;
         }
        return array;
    }

代码所做的是,它只返回未触及的
int[]数组

由于您已经设置了数组的长度,因此只需使用position
array[i]
为数组设置值,即可将值分配到完整的位置

array[i]=nums[i]++;

你的描述很不清楚。您试图实现什么?您正在创建一个新数组,更新原始数组,但返回未更改的新数组(这将是一个与原始数组长度相同的零数组),请用简单的英语解释您编写的每一行代码的作用。我认为您在这样做时会看到问题。这是因为您增加了nums数组中的元素,但返回了另一个未使用的数组Java 8+
返回Arrays.stream(nums).map(I->I+1).toArray()这也将修改NUM。因此,这段代码乍一看似乎可以工作,但事实上是荒谬的:它修改输入数组,为了好玩,创建一个副本,然后返回副本,这没有什么意义,而且与方法名称不匹配。-另一个答案。
2
3
4
array[i]=nums[i]++;