gpt4 book ai didi

Java while 循环在满足所有条件之前停止

转载 作者:行者123 更新时间:2023-12-01 16:45:28 25 4
gpt4 key购买 nike

我有一个项目,我的方法获取两个日期,并且不断向该方法添加一天,直到两个日期相等,然后您可以通过查看一天添加的次数来了解日期相距多远。我的问题是,当满足日期条件时,我的 while 循环就会退出,即使日期、月份和年份必须相同才能停止工作

    while (pastDate.getDay() != futureDate.getDay() && 
pastDate.getMonth() != futureDate.getMonth() &&
pastDate.getYear() != futureDate.getYear()){

最佳答案

您需要将 while 循环中的条件进行 OR 运算:

while (pastDate.getDay() != futureDate.getDay() ||
pastDate.getMonth() != futureDate.getMonth() ||
pastDate.getYear() != futureDate.getYear()) {
// do something
}

在伪代码中,当两个日期相等时循环的逻辑是:

while (day1 == day2 && month1 == month2 && year1 == year2) {
// ...
}

根据德摩根定律,P AND Q 的对立面是 ~P OR ~Q,这将导致以下 while 循环(再次以伪代码形式表示)当日期相等时:

while (day1 != day2 || month1 != month2 || year1 != year2) {
// ...
}

关于Java while 循环在满足所有条件之前停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52435738/

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