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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xuchulong1 中级黑马   /  2012-10-30 18:14  /  1558 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

5 个回复

倒序浏览
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);
}
}

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
大哥,这是必须的啊。
  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. }

复制代码

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
cz2861856 发表于 2012-10-30 18:36
大哥,这是必须的啊。

哦,这样的呀,哈哈哈,我以为 1   2   3    4     ...    都是数组的参数呢
回复 使用道具 举报
打印必须是从2开始的,我个人觉得1对应的是X;如果有更好的解答我们共同交流
回复 使用道具 举报
一楼  二楼的 说法都对吧
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马