-1

所以,我在 for 循环中有一个 if 语句。这个想法是,如果当前时间和更新时间之间的时间差大于 24 小时(86400000 毫秒),那么我打印出索赔编号。

这就是我的 if 语句的样子:

 if(difference>86400000){                 
    System.out.println(singleClaim.getString("claimNumber"));
        } 

这就是我的输出的样子(具有特定状态且时差超过 24 小时的索赔编号列表):

 032394115-01
 032398720-01
 032395941-01
 032398165-01
 032395262-01
 032395350-01
 032392831-01

现在,如果没有任何具有特定状态且时差超过 24 小时的索赔编号,我希望我的输出如下所示:

No claim numbers meet this criteria.

我将如何在其中添加它?

我试过这样做:

if(difference>86400000){                 
    System.out.println(singleClaim.getString("claimNumber"));
        } 
else{
 System.out.println("No claim numbers meet this criteria.");
 }

并更改数据以确保没有索赔编号的差异大于 24 小时,但这就是我得到的输出(一遍又一遍地显示消息而不是索赔编号):

No claim numbers meet this criteria.
No claim numbers meet this criteria.
No claim numbers meet this criteria.
No claim numbers meet this criteria.
No claim numbers meet this criteria.
No claim numbers meet this criteria.
4

2 回答 2

4

您必须创建一个标志来判断索赔是否满足条件。所以在你的循环之外做一些类似的事情:

boolean claimMet = false;

在 if 语句中:

if(difference>86400000){                 
    System.out.println(singleClaim.getString("claimNumber"));
    claimMet = true;
}

然后在循环结束后:

 if (!claimMet) {
     System.out.println("No claim numbers meet this criteria.");
 }
于 2015-08-02T19:50:56.900 回答
1

我不确定我是否理解您所说的,但如果我理解正确,让我们尝试回答:

boolean meetCriteria = false;

for(int difference = 0; ; difference++) {
    if(difference>86400000){                 
        meetCriteria = true;
    } 
} 

if(meetCriteria) {
    System.out.println(singleClaim.getString("claimNumber"));
} else {
    System.out.println("No claim numbers meet this criteria.");
}
于 2015-08-02T19:51:38.863 回答