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

如何通过for循环根据用户输入的起始值自动填充Java数组?

解决方法

你的代码问题在于在for循环内重复调用nextInt(),导致程序要求你输入10次数字。正确的做法是只获取一次用户输入,然后通过for循环计算数组每个位置的填充值。

修正后的代码

import java.util.Scanner;
import java.util.Arrays;

public class Arrayspopulate {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] array = new int[10];

        System.out.println("Please give the first number");
        // 仅获取一次用户输入的起始数字
        int startNum = scanner.nextInt();

        // 用for循环填充数组
        for (int i = 0; i < array.length; i++) {
            // 计算当前位置的数值:从startNum开始递增,超过10则保持为10
            int currentValue = startNum + i;
            array[i] = currentValue > 10 ? 10 : currentValue;
        }

        // 打印数组验证结果
        System.out.println(Arrays.toString(array));
    }
}

代码说明

  • 先通过scanner.nextInt()获取一次用户输入的起始数字,避免重复输入。
  • 在for循环中,每个数组元素的值为startNum + i(i是当前索引,从0到9),如果计算结果超过10,就用10填充(保证数组包含从输入数字到10的所有值,同时填满长度为10的数组)。
  • 用Arrays.toString()可以直观打印整个数组的内容,方便验证结果。

比如输入4,程序会输出:[4, 5, 6, 7, 8, 9, 10, 10, 10, 10],完全符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 06:53:17