if(args=null){
return;
}

解决方案 »

  1.   

    static int[] getNumbers(String[] args) throws NumberFormatException {
       if(args=null)//////////////////////
      {return;}
        int[] a = new int[args.length];
        
        for (int i = 0; i < args.length; i++)
          a[i] = Integer.parseInt(args[i]);
        
        return a;
      }
    //编译出错
    E:\j2sdk1.4.1_02\save\OOPG\MergeSortIntegerArgs.java:24: incompatible types
    found   : java.lang.String[]
    required: boolean
       if(args=null)
               ^
    E:\j2sdk1.4.1_02\save\OOPG\MergeSortIntegerArgs.java:25: missing return value
      {return;}
               ^
    2 errorsProcess completed.
      

  2.   


    当然
    if( args ==  null ){
    return;
    }--------------------Configuration: j2sdk1.4.1_02 <Default>--------------------
    E:\j2sdk1.4.1_02\save\OOPG\MergeSortIntegerArgs.java:25: missing return value
      {return;}
               ^
    1 errorProcess completed.
      

  3.   

    //全部程序如下:
    java  MergeSortIntegerArgs  4 23 4 25 34 5 3245 345 
    //可排序
    //但java  MergeSortIntegerArgs
    //出现太多异常!如何避免。
    public class MergeSortIntegerArgs {  public static void main(String[] args) {
       // try {
        // if(args==null)
    //   {System.exit(0);
    //   return ;}
          int[] a = getNumbers(args);    
          sort(a);
          printNumbers(a);
        } catch (NumberFormatException e) {
          String msg = "Error: argument " + e.getMessage();
          msg += " is badly formed.";
          System.out.println(msg);
          System.exit(0);
        }
      }
      
      static int[] getNumbers(String[] args) throws NumberFormatException {
      // if(args==null)
      //   {return null;}
        int[] a = new int[args.length];
        
        for (int i = 0; i < args.length; i++)
          a[i] = Integer.parseInt(args[i]);
        
        return a;
      }
      
      static void printNumbers(int[] a) {
        for (int i = 0; i < a.length; i++)
          System.out.print(a[i] + " ");
        System.out.println();
      }
      
      static void sort(int[] a) {
        msort(a, 0, a.length-1);
      }
      
      static void msort(int[] a, int lo, int hi) {
        if (lo == hi) return;
        else {
          int mid = (lo + hi) / 2;
          msort(a, lo, mid);
          msort(a, mid+1, hi);
          merge(a, lo, mid, hi);
        }
      }
      
      static void merge(int[] a, int lo, int mid, int hi) {
        int[] b = new int[hi-lo+1];
        int i = lo, j = mid+1, k = 0;
        while ((i < mid+1) && (j < hi+1)) {
          if (a[i] < a[j])
            b[k++] = a[i++];
          else
            b[k++] = a[j++];
        }
        if (i == mid+1)
          System.arraycopy(a, j, b, k, hi-j+1);
        else 
          System.arraycopy(a, i, b, k, mid-i+1);
        System.arraycopy(b, 0, a, lo, b.length);
     }  
    }