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

如何在Java中接收任意数量的int类型参数并实现求和功能?

解决Java接收任意数量数字并求和的问题

嘿,这事儿其实挺简单的!Java的main方法里的args参数本身就是一个字符串数组,刚好能帮你处理任意数量的输入参数。我给你两种常用的实现方式,你可以根据需求选:

方式一:通过命令行参数传入数字

这种方式适合在启动程序时就把所有数字一次性传进去,代码逻辑很直接:

public class NumberSum {
    public static void main(String[] args) {
        int totalSum = 0;
        
        // 遍历所有传入的命令行参数
        for (String inputStr : args) {
            try {
                // 把字符串转成整数
                int num = Integer.parseInt(inputStr);
                totalSum += num;
            } catch (NumberFormatException e) {
                // 处理用户输入非数字的情况,避免程序崩溃
                System.out.printf("注意:'%s' 不是有效的整数,已跳过这个输入%n", inputStr);
            }
        }
        
        System.out.println("所有有效数字的总和是:" + totalSum);
    }
}

怎么运行?

  1. 先编译代码:javac NumberSum.java
  2. 然后在命令行传入任意数量的数字:java NumberSum 15 25 30 40
  3. 程序就会输出:所有有效数字的总和是:110

我特意加了异常处理,要是不小心输入了非数字(比如java NumberSum 10 abc 20),程序会提示跳过无效输入,不会直接崩溃,更健壮。

方式二:程序运行时动态输入数字

如果你想让程序启动后,交互式地让用户输入数字(输入完一个再输下一个),那用Scanner类更合适:

import java.util.Scanner;

public class DynamicSum {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int totalSum = 0;
        
        System.out.println("请输入数字(输入非数字内容即可结束输入):");
        
        // 只要输入的是整数,就继续累加
        while (scanner.hasNextInt()) {
            int num = scanner.nextInt();
            totalSum += num;
        }
        
        System.out.println("你输入的所有数字总和是:" + totalSum);
        scanner.close();
    }
}

运行效果:

启动程序后,你可以一直输入数字,比如输入5、10、15,然后输入一个字母(比如q),程序就会输出总和30。

两种方式各有用处:命令行参数适合批量传入数字,动态输入适合交互式场景,你按需选就行!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 20:07:49