A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© java—family 中级黑马   /  2014-7-17 11:31  /  824 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class VariableParamenter {
        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,5));
               
        }
   public static int add(int x,int... args){
          
           int sum =0;//int sum = x;
           for(int i=0;i<args.length;i++){
                  sum=sum+args[i];
           }
          
           return sum;
   }
}
初始化sum的时候  sum写0为什么 不对   正确的要写sum=x;  我不知道为什么

8 个回复

倒序浏览
写0的话x就没被加到sum中去
回复 使用道具 举报
你传入的参数是X  你add方法里不写sum = X   你都不知道传给谁啊。。。。。你写sum=0,你找找代码里有x吗?add(2,3)你2传给谁?
回复 使用道具 举报
人心如水 发表于 2014-7-17 11:35
你传入的参数是X  你add方法里不写sum = X   你都不知道传给谁啊。。。。。你写sum=0,你找找代码里有x吗? ...

args[]是数组  我遍历的时候没有把第一个 x=2 遍历进去吗?

还是 args不含第一个
回复 使用道具 举报
java—family 发表于 2014-7-17 11:40
args[]是数组  我遍历的时候没有把第一个 x=2 遍历进去吗?

还是 args不含第一个

你传了,但是方法里没东西接受啊。跟没传不一样啊,
回复 使用道具 举报
java—family 发表于 2014-7-17 11:40
args[]是数组  我遍历的时候没有把第一个 x=2 遍历进去吗?

还是 args不含第一个

我的理解是    for遍历 add(int x,int。。。args)
把add里面的内容遍历相加   个sum   这样理解不对


回复 使用道具 举报
人心如水 发表于 2014-7-17 11:43
你传了,但是方法里没东西接受啊。跟没传不一样啊,

如我把sum初始化为x;那么当我的i=0是  
sum=sum+args【0】
这个值时多少
回复 使用道具 举报
这个你写的args是一个数组,可是你在传参数是add(2,3)这个2.3中是两个整数,哪来的数组???
回复 使用道具 举报
Beka 中级黑马 2014-7-17 12:15:47
9#
public static int add(int x,int... args)  你把这里的int x 去掉试试。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马