黑马程序员技术交流社区
标题:
for疑问
[打印本页]
作者:
胡高坡
时间:
2012-12-21 14:58
标题:
for疑问
本帖最后由 胡高坡 于 2013-1-4 13:59 编辑
package cn.itcast.day1;
public class VariableParameter {
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=x;
for (int i= 0; i < args.length; i++) {
sum=sum+args
;
}
return sum;
}
}
其中把把sum初始化为0;结果为什么不同?
作者:
胡高坡
时间:
2012-12-21 15:32
刚问同学知道了,args[]数组在这里面是不包含方法中的第一个参数的。
作者:
王进亮
时间:
2012-12-21 16:38
sum=x这是接收第一个实参,然后进行累加。如果sum=0,那么传入的第一个实参就会丢失。
作者:
黄锦成
时间:
2012-12-24 16:48
public static int add(int x,int...args){
int sum=x;
for (int i= 0; i < args.length; i++) {
sum=sum+args[i];
}
return sum;
}
你一开始初始化sum=x;如果初始化为sum=0;那么你就少加了x,sum肯定会变
作者:
勾尧
时间:
2012-12-24 23:23
arg[]是把出第一个参数以外的包装成一个数组,sum=0的话,x就没有进入运算,之前还没想过这个问题,支持
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2