如何修复在java中获取midarray时不显示精确值的问题

如何修复在java中获取midarray时不显示精确值的问题,java,Java,在获取特定数据输入中的midarray值时,我在显示确切值时遇到问题。我希望任何人都能帮我解决这个问题 public static void main(String[] args) { Scanner scan = new Scanner(System.in); // Get number of numbers to include in our array from the user int arraySize = getInputInteger(scan, user

在获取特定数据输入中的midarray值时,我在显示确切值时遇到问题。我希望任何人都能帮我解决这个问题

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);

    // Get number of numbers to include in our array from the user
    int arraySize = getInputInteger(scan, userPrompt, invalidMsg);

    // Get array input from the user
    int[] values = getInputArrayInts(scan, arraySize);
    int[] mid = midArray(values);

    // Print results
    System.out.println("Mid Range: " + mid);
}

public static int[] midArray(int[] arr) {
        int extra = arr.length % 2 == 0? 1 : 0;

        int[] mid = new int[1 + extra];

        int startIndex = arr.length / 2 - extra;
        int endIndex = arr.length / 2;

        for (int i = 0; i <= endIndex - startIndex; i++) {
            mid[i] = arr[startIndex + i];
        }
return mid;

}

如果要打印数组,必须迭代所有元素,或者可以使用数组方法:

返回指定数组内容的字符串表示形式。字符串表示法由数组元素列表组成,用方括号(“[]”)括起来。相邻元素由字符“,”分隔(逗号后跟空格)。元素通过String.valueOf(short)转换为字符串。如果a为null,则返回“null”

因此,您需要在print语句中执行类似的操作:

 System.out.println("Mid Range: " + Arrays.toString(mid));

为什么要返回一个数组而不是单个的
int
?它是一个中间值还是一个您想要的中间值范围?@UnusInstarOmnium如果它有效并且您认为它是正确的答案,您可以向上投票并将其标记为正确。
 System.out.println("Mid Range: " + Arrays.toString(mid));