方法的数组参数传递

买火柴的小男孩 2013-09-01 07:10:29
我对方法中的数组参数传递彻底凌乱了
第一段代码
public class test{
public static void main(String[] args){
int[] array={1,2,3,4,5};
int i;
solve(array);
for(i=0;i<array.length;i++)
System.out.print(array[i]+" ");
}
public static void solve(int[] array){
int i;
for(i=0;i<array.length;i++)
array[i]--;
}
}

编译成功

第二段代码
public class test{
public static void main(String[] args){
printMax(34,3,56);
}
public static void printMax(int[] numbers){
if(numbers.length==0){
System.out.println("No argument passed");
return;
}
double result = numbers[0];
for(int i=1;i<numbers.length;i++)
if(numbers[i]>result)
result = numbers[i];
System.out.println("The max value is " + result);
}
}

报错
...全文
110 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzq114 2013-09-01
  • 打赏
  • 举报
回复
printMax的问题,你可以写成printMax(new Integer[] {34,3,5});就不会错了
2013-09-01
  • 打赏
  • 举报
回复
你第一个传的是数组,第二个传的是三个int。 printMax(34,3,56); 你可以设置可变参数. int... i
wind_elf 2013-09-01
  • 打赏
  • 举报
回复
printMax(34,3,56);函数调用错误。参数应该是一个int型的数组。改成int[] a={34,3,56};printMax(a);应该可以了
  • 打赏
  • 举报
回复
同样是整型数组传进来,结果一个编译成功,另一个报错了, 谁能告诉我怎么回事吗?

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧