日期:2014-05-20  浏览次数:20666 次

方法的数组参数传递
我对方法中的数组参数传递彻底凌乱了
第一段代码
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);
   }                 
}

报错

------解决方案--------------------
printMax(34,3,56);函数调用错误。参数应该是一个int型的数组。改成int[] a={34,3,56};printMax(a);应该可以了
------解决方案--------------------