该方法应在第 1 行打印索引 a 和 b 之间的数组元素,包括 a 但不包括 b

The method should print the array elements between the indexes a and b including a and not including b in line 1

我不知道如何完成这段代码。帮助他人。

package com.telukhin.hw4;

import java.util.Arrays;
public class Task10 {
    public static void main(String[] args) {
        int[] arr = new int[10];
        list(arr, 2, 5);
    }
    private static void list(int[] arr, int a, int b) {
        if (a >= 0 && b <= arr.length) {
            for (int i = a; i < arr[b - 1]; i++) {
                System.out.println(Arrays.toString(arr));
            }
        } else {
            System.out.println("unknown");
        }
    }
} // 

首先,你的数组是空的。看看下面的代码。在 for 循环中,我检查索引是否在参数 a 和 b 之间(包括 a,不包括 b),并简单地打印出当前索引。

 public static void main(String[] args) {
    int[] arr = new int[10];
    arr[0] = 0;
    arr[1] = 1;
    arr[2] = 2;
    arr[3] = 3;
    arr[4] = 4;
    arr[5] = 5;

    list(arr, 2, 5);
}

private static void list(int[] arr, int a, int b) {
    if (a >= 0 && b <= arr.length) {
        for (int i = a; i < b; i++) {
            System.out.println(arr[i]);
        }
    } else {
        System.out.println("unknown");
    }
}

在您的示例中,您尝试结合方法

  1. 自定义实现

迭代区间并打印每个元素

for (int i = a; i < b; i++) {
    System.out.print(arr[i] + " ");
}
  1. 现有实施
int[] subArr = Arrays.copyOfRange(arr, a, b);
System.out.print(Arrays.toString(subArr));

你应该只使用一个