关于args.length()的作用和一些用法

String args[]都是函数(或叫方法)的参数而已,和普通的方法参数没什么区别,String表示类型,args表示参数名。

表示在调用这个方法的时候需要给这个方法传递一个字符串数组。 而main方法作为程序的入口,给main方法传递参数的操作比较特殊,因为main方法在其他方法之前执行,所以如果给main方法传递参数需要在命令行或者IDE工具中制定,比如说你执行这样的一个程序

 

public class Test{

public static void main(String args[]){

System.out.println(args[0]);

}

}

 

如果用命令行执行,在编译好之后运行的时候就可以指定参数,比如说“ java Test helloworld”,(在myeclipse中run As的Run configuration中的argument传值)程序就会打印输出“helloworld”. 在多给一个例子说明一下:

 

public class Test{  

public static void main(String args[]){

     for(int i=0;i<args.length;i++){     

     System.out.print(args[i]+" ");  

          }  

     }

  }

 

编译好之后,我们运行敲java Test a b c d 那么打印的结果便是a b c d(注意,每个输入的数之间有空格!)

一个例子:用args输入9个数,并将这九个数转换成int型,再进行从小到大的排列输出。

 

public class TestArray1{

   public static void main(String args[]){

    int[] a = new int[9];

    System.out.print("输入的这些数分别是: ");  

      for(int i = 0;i<args.length;i++){

           System.out.print(( a[i]=Integer.parseInt(args[i]))+" ");

                }  

      for(int j = 1;j<=9;j++){

           int temp;

        for(int i=0;i<8;i++){

          if(a[i]>a[i+1]){   

           temp = a[i];

            a[i] = a[i+1];

            a[i+1]=temp;  

                    } 

           }   

      }  

System.out.print("\n按从小到排序为:");

  for(int i=0;i<9;i++){   

System.out.print(a[i]+" ");

        }

  }

}

 

 

将上面的例子改进一下:将排序那部分改为选择排序;

 

 

public class TestArray1{

    public static void main(String args[]){

    int [] a = new int[args.length];

  System.out.print("输入的这些数分别是: ");

  for(int i = 0;i<args.length;i++){

   System.out.print(( a[i]=Integer.parseInt(args[i]))+" ");

  }

  Sort(a,args.length);

}

public static void Sort(int[]a,int length){

   //下面用选择排序做一下;

  int temp;

  for(int i=0;i<length;i++){

   for(int j=i+1;j<length;j++){

    if(a[i]>a[j]){

     temp = a[i];

     a[i] = a[j];

     a[j] = temp;

    }

     }

  }

  System.out.print("\n将输入的数字从小到大排序: ");

  for(int i=0;i<9;i++){

   System.out.print(a[i]+" ");

  }

}

}

 

 

还是上面的例子,将选择排序法修改一下,改进效率

 

public class TestArray1{

public static void main(String args[]){

  int [] a = new int[args.length];

  System.out.print("输入的这些数分别是: ");

  for(int i = 0;i<args.length;i++){

   System.out.print(( a[i]=Integer.parseInt(args[i]))+" ");

  }

  Sort(a,args.length);

}

public static void Sort(int[]a,int length){

//下面是修改后的选择排序,算法变得更高效率!

   int temp;    for(int i=0;i<length;i++){

    int k=i;//用k来记录当前最小的值

    for(int j=k+1;j<length;j++){

     if(a[k]>a[j]){

      k=j;

       }

      }

    if(k!=i){

     temp=a[i];

     a[i]=a[k];

     a[k]=temp;

      }

     }

   System.out.print("\n将输入的数字从小到大排序: ");

  for( int i=0;i<9;i++){

   System.out.print(a[i]+" ");

  }

    }

}

转载于:https://www.cnblogs.com/boshi1nan/articles/3040990.html

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值