【问题标题】:Basic Java String args error [duplicate]基本 Java String args 错误 [重复]
【发布时间】:2016-10-11 16:11:53
【问题描述】:

所以我正在处理一个非常基本的 java 任务,我相信我理解 main 的 (String [] args) 部分是如何工作的。基本上我的理解是命令行参数被放入称为 args 的字符串数组中。但是我的代码不会产生我期望的结果。它似乎可以在没有参数的情况下正常工作,但是当我输入其他任何一个选项时,我总是会遇到我的使用错误。

class TicTacToe
{
  public char[][] gameboard = {  {' ', ' ', ' '},
              {' ', ' ', ' '},
              {' ', ' ', ' '}  };

  public static void main(String [] args)  {
    char play1, play2; 

    if(args.length == 0)  {
      play1 = 'h';
      play2 = 'h';
    }else if(args.length == 1 && args[0] == "-c")  {
      play1 = 'c';
      play2 = 'c';
    }else if(args.length == 2 && args[1] == "1")  {
      play1 = 'c';
      play2 = 'h';
    }else if(args.length == 2 && args[1] == "2")  {
      play1 = 'h';
      play2 = 'c';
    }else{
      System.out.println("Usage: java TicTacToe [-c [1|2]]");
      return;
    }
  }
}

【问题讨论】:

  • 当您从程序外部调用 main 方法时,args 可能包含任何变量。您编写的代码正在运行没有任何参数的 main 方法,这就是 args 始终为空的原因。

标签: java command-line arguments


【解决方案1】:

您正在将字符串与 '==' 进行比较

你应该用 .equals() 比较字符串

【讨论】:

  • 这是.equals!我刚开始使用 java,我一直把它和我的 c++ 语法混在一起。非常感谢。
  • 也许您可以将其标记为答案。我不明白反对票:/
  • @SamWilton java(和 C++)具有相同的 C 语法。
猜你喜欢
  • 2014-01-21
  • 2012-10-21
  • 2015-09-06
  • 2012-08-10
  • 2014-02-22
  • 1970-01-01
  • 1970-01-01
  • 2014-10-07
  • 1970-01-01
相关资源
最近更新 更多