月光之城sp1吧 关注:35贴子:929
  • 5回复贴,共1

【有关Java】Java命令行参数缺省问题

只看楼主收藏回复

出自程序设计专题训练某题的bug~
要求模仿Linux/Unix中的Tail命令
用法为:Java Tail filename [n]。其中n 为可选参数,若未指定,则默认显示文件filename的最后10行,否则显示文件filename 的后n 行。若命令不合法,则显示其用法(请注意处理指定文件可能不存在或为目录的情况,并考虑文件filename 的行数小于指定显示行数的情况)。



1楼2011-01-10 15:46回复
    public static void main(String[] args) {// 命令行参数
                  try {
    //                   if (args[0].equals("Java") && args[1].equals("Tail")
    //                                 && args[2] != null && args[3] != null) {
    //                          File f = new File(args[2]);
    //                          int n = 0;// 输出行数
    //                          if (args[3] == "[]")// 缺省参数处理
    //                                 n = 10;
    //                          else {
    //                                 char[] mass = args[3].toCharArray();
    //----------------------修改部分 start-------------------------------
    //问题分析:1.命令行传进去的参数不是4个,而是2个,即filename 和 [n],所以main()函数里面
    //args[0]就是filename,args[1]就是[n],只要判断这两个就行了。
                         if (args[0] != null && args[1] != null) {
                                File f = new File(args[0]);
                                int n = 0;// 输出行数
    //问题分析:2.在java中"=="号,比较的是地址,所以此处要比较String的内部值要用equals。                       
                                if ("[]".equals(args[1]))// 缺省参数处理
                                       n = 10;
                                else {
                                       char[] mass = args[1].toCharArray();
    //---------------------- 修改部分 end--------------------------------
    


    2楼2011-01-10 15:52
    回复
      问题出现之前 Win+R运行CMD 输入java Tail Java Tail XXX.txt [9]
      命令成功执行有回显该文件最后9行
      然而java Tail Java Tail XXX.txt []却显示异常
      好吧。。。。。我承认我看错了老师的题目
      把Java Tail看成命令行参数了
      (难道本意是java Tail(在java虚拟机运行Tail文件))????
      不过后面一个可是真的悲催了孙老师我对不起你啊对不起你。。。。。
      当年你讲字符串的时候可是讲过==和equals的区别的。。。。
      ==比较的是地址。。。
      我应该用equals的。。。
      面壁。。。。。。。。
      


      3楼2011-01-10 16:00
      回复
        ..........equals


        5楼2011-01-10 16:23
        回复
          我什么都不说


          6楼2011-01-20 18:33
          回复
            貌似我还真可以看懂一点点


            IP属地:北京7楼2011-01-23 14:43
            回复