while (calendar.getTime().before(TUpdEndTm)) { Date date = calendar.getTime();calendar.add(Calendar .DAY_OF_YEAR,amount: 1) ; TUpdTm = sdf.format(date) ; String dir = rootdir + "/" + TUpdTm; // 连接FTP Channelsftp connect = FtpUtil.connect(username, password, host, port);List<String> rootFilelists = FtpUtil.listFiles(connect, rootdir); if (rootFilelists.contains(TUpdTm)) {} else{} 在这段代码中,TUpdTm会在while的循环中变成三个不同的值,如何能让只要有其中一次的TUpdTm满足if条件就不进入else,相反,三次TUpdTm的值均不满足if条件才进入else
时间: 2024-02-21 16:57:53 浏览: 123
可以使用一个布尔型变量来记录是否满足条件,如果满足条件则将该变量设置为true,只要有一个TUpdTm满足条件,则该变量就会为true,否则为false,根据该变量的值来判断是否进入else语句。修改后的代码如下:
```
boolean flag = false; // 增加一个布尔型变量
while (calendar.getTime().before(TUpdEndTm)) {
Date date = calendar.getTime();
calendar.add(Calendar.DAY_OF_YEAR, 1);
TUpdTm = sdf.format(date);
String dir = rootdir + "/" + TUpdTm;
// 连接FTP
Channelsftp connect = FtpUtil.connect(username, password, host, port);
List<String> rootFilelists = FtpUtil.listFiles(connect, rootdir);
if (rootFilelists.contains(TUpdTm)) {
flag = true; // 只要有一个TUpdTm满足条件,则将flag设置为true
break; // 跳出循环
}
}
if (flag) {
// 只要有一个TUpdTm满足条件就不进入else
} else {
// 三次TUpdTm的值均不满足if条件才进入else
}
```
阅读全文