Java之Eclipse中给参数args传递参数和使用命令行

来源:互联网 发布:上海淘宝职位招聘网 编辑:程序博客网 时间:2024/04/30 04:12

        引言

        一、传递参数

        Main方法的声明与众不同,它具有String[]类型参数args。很明显的,args是一个字符串数组。main方法就像一个带参数的普通方法。可以通过传递实参来调用一个普通方法。那么问题来了,能给main方法传递参数吗?如果能怎么传递呢?

        例如在TestMain类中的main方法是被A中的方法调用的,如下所示:

class A{public static void main(String[]args){String[] strings = {"New York","Boston","Atlanta"};TestMain.main(strings);}}class TestMain{public static void main(String[]args){for(int i = 0;i < args.length;i++)System.out.println(args[i]);}}
        main方法就和其他方法一样,可以被传参数被调用。此外,还可以从命令行传递参数。

        二、使用命令行

        向main方法传递字符串,运行程序时,可以从命令行给main方法传递字符串参数。例如,用三个字符串

arg0 arg1 arg2启动程序TestMain:javaTestmain arg0 arg1 arg2

        其中,参数arg0、arg1、arg2都是字符串,没有必要用双引号扩住它们。如果字符包含空格,那就必须用双引号扩住,如:java TestMain "First num" alpha 53

        它用三个字符串"First num"、alpha、53启动这个程序,其中53是一个数值字符串。因为"First num"是一个字符串,所以要用双引号扩住它们。
        如计算器程序的实现。要开发一个程序,完成整型数的算术运算。程序接收三个参数:一个整数、紧随其后的一个运算符以及另一个整数。如用如下命令对两个整数进行相加:java Calculator 2 + 3
程序将显示输出为:2 + 3 = 5 
class Calculator{public static void main(String[]args){if(args.length != 3){System.out.println("Usage:java Calculator operand1 operator operand2");//System.exit(0);}int result = 0;switch(args[1].charAt(0)){case '+':result = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);break;case '-':result = Integer.parseInt(args[0]) - Integer.parseInt(args[2]);break;case '*':result = Integer.parseInt(args[0]) * Integer.parseInt(args[2]);break;case '/':result = Integer.parseInt(args[0]) / Integer.parseInt(args[2]);break;}System.out.println(args[0]+' '+args[1]+' '+args[2]+" = "+result);}}
        我们尝试在Dos命令窗口中输入:java Calculator 2 + 3  其结果如下所示:
并没有期望的输出:2 + 3 = 5 
        这是因为在Eclipse中的命令行参数的使用不是直接在cmd窗口中输入的。下面进入本博文正题,如何在Eclipse中使用命令行。

        正文
第一种简单的快捷的方式如下:

Q: java 中args 参数如何传递(Eclipse)不用cmd

A: Eclipse菜单栏中的Run-Run Configurations,其中有个(x)= Arguments,单击该选项,你在Program arguments 下面的空白栏中填写参数几个,,多个参数用空格隔开即可!

Q:如何在命令行中提交input

A: ctrl + d

Q: java中用什麼代碼來接收args參數

A: 如 int k = Integer.parseInt(args[0]);

第二种方式是将控制台作为cmd的输入窗口进行命令行参数的传递

虽然我们已经有了像 Eclipse 这样高级的 IDE,但是我们有时候也是需要在开发的时候使用 Windows 的命令行,来运行一些独立的程序。在两个程序中切换来切换去是很麻烦的。所以 Eclipse 提供了这样的工具,让我们可以在 Eclipse 中使用 Windows 命令行。 具体的实现步骤如下所示:

第一步:设置一个新的外部配置工具 
在 Eclipse 中,选择 “Run -> External Tools -> External Tools Configurations” 
 


第二步:点击"Program",再点击 “New Launch Configuration” 



第三步:New Configuration 界面 



第四步:提供命令行配置的详细信息 
Name:就是你配置的名字,可根据自己的习惯随便取 
Location:CMD.exe 的文件位置 ,一般来说windows中的位置是:c:\Windows\System32\cmd.exe
Working Directory:就是命令行打开后的默认工作路径 ,可是设置为存储的位置,如:c:\

 

第五步:点击上图中的“Common”,在选中“Allocate Console”复选框 
这个选项是把 Eclipse 工作台作为命令行来获得输入和输出。 

 

第六步:点击“Run” 
你将打开一个 F: 为工作路径的命令行 (就是第四步中你所设置的Working Directory路径)

 


这样就设置好了以控制台输入作为cmd.exe,从而方便的使用IDE集成工具Eclipse进行Windows命令的输入了。是不是很简单呢

 

简单的验证一下是否可以运行,效果如下图所示:


2 0