关于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

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验指导书 实验名称:包、接口与异常处理 学时安排:2 实验类别:综合设计型实验 实验要求:1人1组  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 一、实验目的 1、掌握java字符串处理方法。 2、掌握java面向对象的概念。 3、掌握java自定义异常和处理。 4、 通过实验,对Java程序的开发有一个深入了解。 二、实验内容 1.阅读并分析程序TestException.java。(见附件PPT文件) 2.设计一个程序,其功能是从命令行输入整数字符串,再将该整数字符串转换为整数, 输入的数据可能具有以下格式:12345、123 45、123xyz456 3.编写一个四则运算程序,要求用户输入一个x值和一个y值,以及一个四则运算符。如 果用户输入正确,则给出运算结果,如果输入错误,则给出出错警告。(利用异常处理 编程,尽量使用java现成的异常类,如没有可自定义异常类 ) 三、程序代码 1. public class TestException { public TestException() { } boolean testEx() throws Exception{ boolean ret = true; try{ ret = testEx1(); }catch (Exception e){ System.out.println("testEx, catch exception"); ret = false; throw e; } finally{ System.out.println("testEx, finally; return value="+ret); return ret; } } boolean testEx1() throws Exception{ boolean ret = true; try{ ret = testEx2(); if (!ret){ return false; } System.out.println("testEx1, at the end of try"); return ret; }catch (Exception e){ System.out.println("testEx1, catch exception"); ret = false; throw e; } finally{ System.out.println("testEx1, finally; return value="+ret); return ret; } } boolean testEx2() throws Exception{ boolean ret = true; try{ int b=12; int c; for (int i=2;i>=-2;i--){ c=b/i; System.out.println("i="+i); } return true; }catch (Exception e){ System.out.println("testEx2, catch exception"); ret = false; throw e; } finally{ System.out.println("testEx2, finally; return value="+ret); return ret; } } public static void main(String[] args) { TestException testException1 = new TestException(); try{ testException1.testEx(); }catch(Exception e){ e.printStackTrace(); } } } 2. import java.util.*; public class test { public static void main(String args[]) { int i, number=0; String str; try { for(i=0;i<args.length;i++) { str=args[i]; number=Integer.parseInt(str); System.out.printf("第%d个字符转换为整数后:%d\n",i+1,number); } } catch(NumberFormatException e) { System.out.println("输入字符串不正确!"); } } } 3. import java.io.*; import java.util.*; public class ExceptionExam { void addition(double x,double y) //加法运算

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值