黑马程序员技术交流社区
标题:
求指点
[打印本页]
作者:
乔九
时间:
2013-1-15 23:35
标题:
求指点
本帖最后由 张向辉 于 2013-1-16 10:49 编辑
public class VarableParameter
{
public static void main(String[] args)
{
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
public static int add(int x ,int... args)
{
int sum=0;
for(int i=0;i<args.length;i++)
{
sum+=args
;
}
return sum;
}
}
结果怎么是3和8?
作者:
jonn
时间:
2013-1-15 23:49
public class VarableParameter
{
public static void main(String[] args)
{
System.out.println(add(2,3)); //这里调用的add()方法,此方法用可变参数传递过去,第一个参数 2根本没起到作用,根本 就没有参加运算
System.out.println(add(2,3,5)); // 第一个得到了结果就是 sum=0+3
// 第二个得到了结果就是 sum=0+3+5
}
public static int add(int x ,int... args) //这里使用的可变参数
{
int sum=0;
for(int i=0;i<args.length;i++)
{
sum+=args[i]; // 进行累加的时候并没有加入 第一个参数 x,只累加了第二个可变参数
}
return sum;
}
}
复制代码
作者:
谢毅
时间:
2013-1-15 23:51
必须是3和8啊
public static int add(int x ,int... args)
{
int sum=0;
for(int i=0;i<args.length;i++)
{
sum+=args[i];
}
return sum;
}
这里面用到了X吗?
要么你这样
public static int add(int x ,int... args)
{
int sum=x;
for(int i=0;i<args.length;i++)
{
sum+=args[i];
}
return sum;
}
作者:
黄金龙
时间:
2013-1-16 00:06
好吧解释一些通俗的....
System.out.println(add(2,3)); 这里add();是这样的.....x=2 args[0]=3,args[1]=0 所以这里结果就是3
System.out.println(add(2,3,5)); 这里add();是这样的.....x=2 args[0]=3,args[1]=5,args[2]=0 所以这里结果就是8
函数
public static int add(int x ,int... args)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2