У меня проблема с получением моей логики для работы или еще лучше. Мне нужен лучший способ реализовать эту ситуацию if-else.Что такое лучший способ реализовать эту логику if else?
У меня есть 3 разных условия, которые задают разные свойства, и я хочу, чтобы данные сохранялись в базе данных только тогда, когда все условия оцениваются как истинные и не сохраняются, когда какие-либо или все разные условия оцениваются как ложные.
if (a>b){
em.setAlpha();
}else{
//throw error that prevents em.persist
}
if (c>d){
em.setBeta();
}else{
//throw error that prevents em.persist
}
if (e>f){
em.setOmega();
}else{
//throw error that prevents em.persist
}
//Should persist only when all conditions evaluate to true and not
//persist when one or more of the conditions evaluates to false(throws an error)
database.persist(em);
В то время как это решение работает, ОП просил способ реализовать всю свою логику if-else. Этот ответ по-прежнему использует тот же метод. – phantom
Не совсем, он попросил понять, что три из if-утверждений верны, флаг работает правильно. Я предпочитаю ваш фантом ответа, потому что его короче, но, возможно, ему может понадобиться представление оценки, чтобы оно сохранялось и использовалось в другом месте, в котором я предпочитаю ответ Озанов, он может отправить этот флаг любому методу, который может использовать что-то вроде «aMethodThatUsesTheFlag (boolean persist) ". Но так как это не входит в сферу действия, я бы принял ответ фантома –
правильный ответ. Может быть укорочен вложением 'persist' в условие:' if (persist & = a> b) ' Таким образом,' else' может быть опущен. –