题目要求是
java -jar word-counts.jar <-a|-c> <input_filename> <output_filename>
 input_filename  -- is a relative or absolute path to the input file to process,
                    or '-' to indicate input should be read from stdin
 output_filename -- relative or absolute path to the output file to write the results to,
                    or '-' to indicate input should written to stdout
 -a -- output words and counts ordered alphabetically by the words
 -c -- output words and counts ordered by count descending在函数中怎么检测“-”号是否存在,“-”号如果存在的话怎么检测后面参数是a还是c

解决方案 »

  1.   

    无论"-a"还是"-c"都是是一个字符串。参考String类。
      

  2.   

    public static void main(String[] args) {
            String tt = "java -jar word-counts.jar -a <input_filename> <output_filename>";
            if (tt.contains("-a")) {
                System.err.println("aaaaa");
            } else if(tt.contains("-c")){
                System.err.println("ccccccccccc");
            }
    }
    run:
    aaaaa
    成功生成(总时间:0 秒)
      

  3.   


    public class WordCount {
    public static void main(String[] args) {
    InputStream is = null;
    OutputStream os = null;
    boolean alphaOrder = true; if (args.length == 2 || args.length == 3) {
    int i = 0; if (args.length == 3) {
    if (args[0] == null) {
    // 输出错误信息
    return;
    } switch (args[i++]) {
    case "-a":
    break;
    case "-c":
    alphaOrder = false;
    break;
    default:
    // 输出错误信息
    return;
    }
    } if ("-".equals(args[i]))
    is = System.in;
    else
    try {
    is = new FileInputStream(args[i]);
    } catch (IOException ex) {
    ex.printStackTrace();
    return;
    } i++; if ("-".equals(args[i]))
    os = System.out;
    else
    try {
    os = new FileOutputStream(args[i]);
    } catch (IOException ex) {
    ex.printStackTrace();
    return;
    }
    } else {
    // 输出错误信息
    return;
    } // 数据读写和单词计数部分自己可以写了吧
    }
    }