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

解决方案 »

  1.   

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

  2.   

    你第一个传的是数组,第二个传的是三个int。
     printMax(34,3,56);
    你可以设置可变参数.
    int... i
      

  3.   

    printMax的问题,你可以写成printMax(new Integer[] {34,3,5});就不会错了