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
相关产品推荐
相关产品推荐

