使用命令行发送的参数运行程序

时间:2014-01-30 11:41:12

标签: java command-line arraylist

我需要我的程序取一个String参数并将字符分开。 然后,我想将这些单独的字符添加到ArrayList,并打印出列表,其中各个字符位于彼此之下 这就是我所拥有的:

import java.util.*;
import java.io.*;

public class Main {

public static void main(String[] args) {
    try{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Enter argument:");
        String input = br.readLine();
        String value = "";

        ArrayList al = new ArrayList();

        for(int i = 0; i < input.length(); i++){
            value = "" + input.charAt(i);
            al.add(value);
        }

        Iterator it = al.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
            it.remove();
        }

    }catch(IOException e){
        System.out.println(e.toString());
    }
}

}

参数应该来自命令行,例如: java myApp莱斯利

提前致谢

4 个答案:

答案 0 :(得分:0)

import java.util.*;
import java.io.*;

public class Main {

public static void main(String[] args) {
    try{
        String input = String.valueOf(args[0]);//assuming there will always be an input from command line
        String value = "";

        ArrayList al = new ArrayList();

        for(int i = 0; i < input.length(); i++){
            value = "" + input.charAt(i);
            al.add(value);
        }

        Iterator it = al.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
            it.remove();
        }

    }catch(IOException e){
        System.out.println(e.toString());
    }
}

}

试试这个

答案 1 :(得分:0)

这些参数存储在String[] args数组中 就像VD写的......但如果有参数

你应该检查你的args数组
If (args.length != 0) {
    do something
}

编辑: 如果使用命令行运行程序,则必须先用

编译它
javac pathtofile

比你可以使用

java pathtofile

答案 2 :(得分:0)

为什么你这么难?

if(input.contains("java myApp Lesley"){
window.window();                       //new class where u create the window
}

答案 3 :(得分:0)

命令行参数通过其参数String[] args传递给main方法。 因为对于调用程序的人来说,这并不总是显而易见的,如果缺少参数,那么给出提示的好方法。例如:

if (args.length == 0) {
    System.out.println("Usage: myApp <Name>");
}
else {
    // your code here using args[0]
}

如果您使用多个命令行参数,请相应地更改检查。