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

https://blog.csdn.net/xyb890826/article/details/41965935

 引言

        一、传递参数

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

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

 

 
  1. class A{

  2. public static void main(String[]args){

  3. String[] strings = {"New York","Boston","Atlanta"};

  4. TestMain.main(strings);

  5. }

  6. }

  7. class TestMain{

  8. public static void main(String[]args){

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

  10. System.out.println(args[i]);

  11. }

  12. }

        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 

 
  1. class Calculator{

  2. public static void main(String[]args){

  3. if(args.length != 3){

  4. System.out.println("Usage:java Calculator operand1 operator operand2");

  5. // System.exit(0);

  6. }

  7. int result = 0;

  8. switch(args[1].charAt(0)){

  9. case '+':result = Integer.parseInt(args[0]) + Integer.parseInt(args[2]);break;

  10. case '-':result = Integer.parseInt(args[0]) - Integer.parseInt(args[2]);break;

  11. case '*':result = Integer.parseInt(args[0]) * Integer.parseInt(args[2]);break;

  12. case '/':result = Integer.parseInt(args[0]) / Integer.parseInt(args[2]);break;

  13. }

  14. System.out.println(args[0]+' '+args[1]+' '+args[2]+" = "+result);

  15. }

  16. }

        我们尝试在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命令的输入了。是不是很简单呢
 

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

猜你喜欢

转载自blog.csdn.net/cm9393/article/details/81476430