黑马程序员技术交流社区

标题: 可变参数的问题 [打印本页]

作者: 路国强    时间: 2013-12-30 12:21
标题: 可变参数的问题
public class VarableParameter {
       
        public static void main(String[] args) {
                System.out.println(add(2,3));
                //System.out.println(add(1,5));
        }
       
        //定义
        public static int add(int x,int... args){
                int sum = 0;
                for(int i=0;i<args.length;i++){
                        sum += args[i];
                }
                return sum;
        }
}
我的目的是算出2和3的和,但是输出结果总是错误的,求解为什么
作者: 胡永城    时间: 2013-12-30 12:49
public static int add(int x,int... args){
                int sum = 0;
                for(int i=0;i<args.length;i++){
                        sum += args[i];
                }
                return sum;
        }

System.out.println(add(2,3));

x=2,args里面是3.
目的是算出2和3的和
sum += args[i];
x哪里去了?

return sum;
改成这样:
return sum+x;
作者: 浮出一个美    时间: 2013-12-30 15:28
可变参数传进来的是一个数组,你可以用下标去访问
你是想计算参数之和吧?我给你修改了下
public static void main(String[] args) {
                System.out.println(add(2,3));
                System.out.println(add(2,3,4));
                System.out.println(add(2,3,4,5));
        }

        /**
         * 计算参数之和
         * @param x
         * @param args
         * @return
         */
        public static int add(int x, int... args) {
                //初始化结果为x
                int sum = x;
                //遍历参数,累加进sum
                for (int i = 0; i < args.length; i++) {
                        sum += args[i];
                }
                return sum;
        }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2