You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何获取并打印数组的中间索引

Java中如何获取并打印数组的中间索引

嗨,我来帮你搞定这个问题~其实获取数组的中间索引很简单,核心就是利用数组的length属性来计算,我结合你给出的两段代码分别说明:

一、固定长度数组的情况

就像你给出的第一个例子,数组是{1, 2, 3, 4, 5},长度为5,中间元素是3,对应的索引是2。这里的计算逻辑是:数组长度除以2,用Java的整数除法(自动舍去小数部分)。因为数组索引从0开始,奇数长度的数组刚好能得到正中间的索引。

补全后的代码如下:

public static void main(String[] args) {
    int[] array = {1, 2, 3, 4, 5};
    // 计算中间索引
    int middleIndex = array.length / 2;
    // 打印中间索引
    System.out.println("数组的中间索引是:" + middleIndex);
}

运行这段代码就会输出数组的中间索引是:2,正好符合你的需求。

二、动态输入长度的数组情况

你第二段代码是通过Scanner动态获取数组长度和元素,这里的逻辑和上面一致,只需要用你获取到的数组长度aSize来计算就行。需要注意的是,如果数组长度是偶数(比如长度为4),整数除法aSize / 2会得到偏右的中间索引(比如4/2=2,对应数组的第3个元素);如果你想要偏左的中间索引,可以用(aSize - 1) / 2(比如4-1=3,3/2=1),根据你的需求选择即可。

补全后的代码如下:

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int aSize = 0;
        if(scan.hasNext()){
            aSize = scan.nextInt();
        }

        int[] a = new int[aSize];
        for(int i = 0; i < aSize; i++ ){
            if(scan.hasNext()){
                a[i] = scan.nextInt();
            }
        }
        
        // 计算中间索引(这里用默认的整数除法,对应偏右的中间)
        int middleIndex = aSize / 2;
        // 打印中间索引
        System.out.println("数组的中间索引是:" + middleIndex);
        
        scan.close(); // 记得关闭Scanner哦
    }
}

比如你输入数组长度为5,再输入元素1-5,就会输出中间索引2;如果输入长度为4,输入元素1-4,就会输出中间索引2。

备注:内容来源于stack exchange,提问作者Baby 420

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 12:49:29