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

如何打印数组索引编号?如何为数组元素添加序号输出(如1.Banana格式)

解决数组带序号输出的问题

嘿,我来帮你搞定这个需求!你现在想要给输出的水果加上类似1.Banana、2.Apple的序号格式,同时想知道怎么获取数组的索引编号,咱们一步步来解决:

1. 如何获取并打印数组的索引编号?

你当前用的**增强for循环(for-each loop)**虽然简洁,但它会隐藏数组的索引信息,没办法直接拿到索引。要获取索引,有两种常用方法:

  • 使用普通for循环:通过循环变量i(从0开始)直接获取数组的索引,要是需要从1开始的序号,只需要i+1就行。
  • 用增强for循环配合计数器:手动维护一个计数器变量,每次循环后递增,以此模拟序号。

2. 修改代码实现带序号的输出格式

下面是修改后的完整代码,我给你两种实现方式,你可以选自己喜欢的:

方式一:普通for循环(推荐,直观直接)

import java.util.Scanner;
public class ArrayTest {
    public static void main(String[] args) {
        String[] fruit = new String[5];
        Scanner scan = new Scanner(System.in);
        
        // 输入水果的逻辑保持不变
        for(int i=0;i<fruit.length;i++) {
            System.out.print("Fruit number "+ Math.addExact(i, 1)+ ": ");
            fruit[i] = scan.nextLine();
        }
        
        // 修改输出逻辑,用普通for循环获取索引
        for(int i=0; i<fruit.length; i++) {
            // i+1生成从1开始的序号,拼接成"序号.元素"的格式
            System.out.println((i+1) + "." + fruit[i]);
        }
        
        scan.close(); // 关闭Scanner,释放资源
    }
}

方式二:增强for循环+计数器

如果你偏爱增强for循环的简洁,可以用这种方式:

import java.util.Scanner;
public class ArrayTest {
    public static void main(String[] args) {
        String[] fruit = new String[5];
        Scanner scan = new Scanner(System.in);
        
        for(int i=0;i<fruit.length;i++) {
            System.out.print("Fruit number "+ Math.addExact(i, 1)+ ": ");
            fruit[i] = scan.nextLine();
        }
        
        // 初始化计数器,从1开始
        int serialNumber = 1;
        for(String a : fruit) {
            System.out.println(serialNumber + "." + a);
            serialNumber++; // 每次循环后序号+1
        }
        
        scan.close();
    }
}

关键说明

  • 两种方式都能实现你要的序号.元素格式,普通for循环更适合需要直接操作索引的场景,增强for循环+计数器则更保持代码简洁。
  • 记得用完Scanner后调用scan.close(),这是良好的资源管理习惯,避免资源泄漏。

内容的提问来源于stack exchange,提问作者trp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:38:22