有条件的话,用&&和

时间:2014-10-28 08:22:30

标签: java arrays if-statement

所以我们有:

if (arguments.length != 1 && arguments.length != 2) {
    throw new IllegalArgumentException("Wrong number of arguments in " + string);
}

如果arguments的长度为1,则会传递此块if why。评估应该在我的知识之后工作:

  

if(args!= 1 == true)AND(args!= 2 == true)

含义args.length = [0, 3, 4, ...]只应有效才能通过。但即使它与if一起,它也会跳过args.legth == 1

这怎么可能?

3 个答案:

答案 0 :(得分:3)

似乎应该是

  if (arguments.length == 1 || arguments.length == 2) {
    throw new IllegalArgumentException("Wrong number of arguments in " + string);
  }

答案 1 :(得分:2)

如果你想允许除1或2之外的任何东西,请使用:

if (args.length == 1 || args.length == 2) {
 throw new IllegalArgumentException("Wrong number of arguments in " + string);
}

答案 2 :(得分:0)

  

如果参数长度为1,则传递此if if块但原因。该   评估应该在我的知识之后工作:

     

if(args!= 1 == true)AND(args!= 2 == true)

这没有多大意义。如果args.length为1,那么args.length != 1为false,而不是true。