gpt4 book ai didi

java - 使用带括号的逻辑运算符有什么区别?

转载 作者:行者123 更新时间:2023-12-02 09:23:45 25 4
gpt4 key购买 nike

我得到不同的结果:如果使用括号,则为 -1;如果不使用括号,则为 1。

对于测试用例“30/10/2019”,如果我在下面的行中使用括号,我将得到 -1,如果我不在下面的行中使用括号,我将得到 1:

else if((mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12) && mm<13 && mm>0 && dd>0 && dd<32) return 1;

线上方和线下方有什么区别?

else if(mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12 && mm<13 && mm>0 && dd>0 && dd<32) return 1;
public class Utility {
public static int checkDate(String date){
String []st;
if((date.charAt(2)=='.' && date.charAt(5)=='.')||(date.charAt(2)=='/' && date.charAt(5)=='/')||(date.charAt(2)=='-' && date.charAt(5)=='-'))
{
String token = Character.toString(date.charAt(2));
if(date.charAt(2) == '.') st = date.split("\\.");
else st = date.split(token);

int dd = Integer.parseInt(st[0]);
int mm = Integer.parseInt(st[1]);
int yy = Integer.parseInt(st[2]);

if(mm == 2 && dd>0 && dd<30 && mm<13 && mm>0) return 1;

else if((mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12) && mm<13 && mm>0 && dd>0 && dd<32) return 1;

else if((mm==4||mm==6||mm==9||mm==11) && dd>0 && dd<31 && mm<13 && mm>0) return 1;

else return -1;
}
else return -1;
}
}

import java.util.Scanner;


public class DateValidation {

public static void main(String[] args) {

// STUDENT CODE BEGINS HERE
Scanner sc = new Scanner(System.in);
String dt=sc.next();
Utility ut = new Utility();
int flag = ut.checkDate(dt);
if(flag==1)
System.out.println("Valid");
else
System.out.println("Invalid");
// STUDENT CODE ENDs HERE

}
}

最佳答案

它将执行以下命令(按照最高优先顺序):

  • 括号()
  • 不是!
  • &&
  • 或者||
else if((mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12) && mm<13 && mm>0 && dd>0 && dd<32) 
return 1;

它将评估(mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12)首先,然后&& mm<13 && mm>0 && dd>0 && dd<32

else if(mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12 && mm<13 && mm>0 && dd>0 && dd<32) 
return 1;

至于另一个,它将评估 mm<13 && mm>0 && dd>0 && dd<32首先,然后mm==1||mm==3||mm==5||mm==7||mm==8||mm==10||mm==12 &&

关于java - 使用带括号的逻辑运算符有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58488184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com