黑马程序员技术交流社区

标题: 关于增强for循环 [打印本页]

作者: xuchulong1    时间: 2012-10-30 18:14
标题: 关于增强for循环
class B  
{
public static int add(int x,int ...args) {
  int sum = x;
  for(int arg:args) {
  System.out.println(arg);  //这里打印的为什么是从第二个元素开始的?如何能访问到第一个元素int x
  sum += arg;
  }
  return sum;
  }
public static void main(String[] args)
{
int sum = add(1,2,3,4,5,6,7);
}
}

for循环应该是能遍历一个数组的所有元素,在我用这个不定参数传进去了值,相当于也是一个数组,为什么却是从第二个元素开始遍历,这里解决一下问题不大,但是如果一定要使用第一个元素的时候岂不是都要做特殊处理??

作者: 种生祥    时间: 2012-10-30 18:35
class B
{
public static int add(int ...args) {//不需要再单独int x了
  int sum = 0;
  for(int arg:args) {
  System.out.println(arg);  //这里打印的为什么是从第二个元素开始的?如何能访问到第一个元素int x
  sum += arg;
  }
  return sum;
  }
public static void main(String[] args)
{
int sum = add(1,2,3,4,5,6,7);
}
}
作者: 崔政    时间: 2012-10-30 18:36
大哥,这是必须的啊。
  1. package day20;
  2. class Test  {
  3.         public static int add(int x,int ...args) {//args为可变参数
  4.                 int sum = x;
  5.                 System.out.println("x:"+sum);
  6.                 for(int arg:args) {
  7.                         System.out.println(arg);  //这里打印的为什么是从第二个元素开始的?如何能访问到第一个元素int x
  8.                         sum += arg;
  9.                 }
  10.                 return sum;//
  11.         }
  12.         public static void main(String[] args) {
  13.                 int sum = add(1,2,3,4,5,6,7);//1对应的是参数x,2,3,4,5,6,7对应的是可变数组args,数组第一个当然了2咯
  14.         }
  15. }

复制代码

作者: xuchulong1    时间: 2012-10-30 18:45
cz2861856 发表于 2012-10-30 18:36
大哥,这是必须的啊。

哦,这样的呀,哈哈哈,我以为 1   2   3    4     ...    都是数组的参数呢
作者: 静等花开    时间: 2012-10-30 18:58
打印必须是从2开始的,我个人觉得1对应的是X;如果有更好的解答我们共同交流
作者: 刘丽娜    时间: 2012-10-30 20:09
一楼  二楼的 说法都对吧




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