(Java) Если условие для оператора if внутри цикла for никогда не выполняется, как мне распечатать сообщение о том, что "никакие значения не соответствуют этому критерию"?
Итак, у меня есть оператор if внутри цикла for. Идея заключается в том, что если разница во времени между текущим временем и обновленным временем превышает 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.
2 ответа
Вам нужно будет создать флаг, чтобы указать, соответствует ли заявка условиям. Так что вне вашего цикла сделайте что-то вроде:
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.");
}
Я не уверен, что понял, что вы сказали, но давайте попробуем ответить, если я правильно понял:
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.");
}