黑马程序员技术交流社区

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

作者: 张海涛    时间: 2012-12-17 11:52
标题: 可变参数的问题
本帖最后由 张海涛 于 2012-12-17 12:59 编辑
  1. class Test
  2. {
  3.           public static void main(String[] args)
  4.           {
  5.                   System.out.println(add(1,2,3));
  6.           }
  7.          public static int add(int x,int... args)
  8.          {
  9.                    int sum = 0;//为什么这里sum = x值就是对的,sum = 0值就不对呢?不理解!
  10.                    for(int arg : args)
  11.                    {
  12.                              sum += arg;
  13.                     }
  14.                     return sum;
  15.          }
  16. }
复制代码

作者: 黑马黄涛    时间: 2012-12-17 12:03
不会吧? 应该也是对的哎...我打开MeEclipse给你看下....
作者: 黑马黄涛    时间: 2012-12-17 12:06
嗯...亲测 都是对的....你的问题是啥啊?说清楚点...
作者: 黑马黄涛    时间: 2012-12-17 12:08
朋友...如果还有问题...上图...我看看能不能帮你解决...下面是运行的结果...你看跟你的问题是否一致  还是?~~

1.gif (19.42 KB, 下载次数: 43)

1.gif

作者: 张海涛    时间: 2012-12-17 12:18
黑马黄涛 发表于 2012-12-17 12:08
朋友...如果还有问题...上图...我看看能不能帮你解决...下面是运行的结果...你看跟你的问题是否一致  还是 ...

sum = 0;的时候值是5,sum = x;值是6(正确的),我还真不知道问题点在哪,应该是对的才是啊!我用Eclipse和Editplus都测试了,结果一样一个5,一个6
作者: 黑马黄涛    时间: 2012-12-17 12:21
肯定的啊...少了一个1嘛....
你的1给了x,而数组中是不存在1的...所以自然不能会少了一个1了...遍历的时候没有加啊...
作者: 黑马黄涛    时间: 2012-12-17 12:27
你看下...这个就是解决方案...

1.gif (18.13 KB, 下载次数: 36)

1.gif

作者: 黑马黄涛    时间: 2012-12-17 12:27
把int x去掉...
作者: 张海涛    时间: 2012-12-17 12:51
黑马黄涛 发表于 2012-12-17 12:27
把int x去掉...

的确可以了,但是为什么呢?
作者: 张海涛    时间: 2012-12-17 12:52
黑马黄涛 发表于 2012-12-17 12:21
肯定的啊...少了一个1嘛....
你的1给了x,而数组中是不存在1的...所以自然不能会少了一个1了...遍历的时候没 ...

哦哦,有那么点意思了,哈哈……
作者: 黑马黄涛    时间: 2012-12-17 13:02
张海涛 发表于 2012-12-17 12:52
哦哦,有那么点意思了,哈哈……

嘿嘿.....




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