gpt4 book ai didi

嵌套if条件的Java代码设计

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:15:59 24 4
gpt4 key购买 nike

我需要使用多个/嵌套的 if-else 来实现以下逻辑。基本上我有三个表,我需要在一个表中插入记录并根据不同的条件从其他表中删除(在下面的代码片段中解释)。

我已经按照下面的方式实现了它,只是想知道是否有更好/可维护的方法来使用 OOPS 和 java 中的一些设计模式来做到这一点

if (conditionA || conditionB || conditionC) {
deleteRecordFromTableA();

if (conditionB) {
insertRecordInTableB();
}

if (conditionC) {
insertRecordInTableB();
}
} else {
deleteRecordFromTableB();
deleteRecordFromTableC();

if (conditionD) {
validateRecordInUpdateMode();
updateRecordInTableA();
} else {
validateRecordInInsertMode();
insertRecordInTableA();
}
}

最佳答案

基于您的代码:-

if (conditionA || conditionB || conditionC) 
{
deleteRecordFromTableA();

if (conditionB || condition C) // can be done together as they both do the same thing
{
insertRecordInTableB();
}
}
else
{
deleteRecordFromTableB();
deleteRecordFromTableC();

if (conditionD)
{
validateRecordInUpdateMode();
updateRecordInTableA();
}
else
{
validateRecordInInsertMode();
insertRecordInTableA();
}
}

另一种方式(可能更容易理解)是:-

if(conditionA)
{
deleteRecordFromTableA();
}
else if (conditionB || condition C)
{
deleteRecordFromTableA();
insertRecordInTableB();
}
else if(conditionD)
{
deleteRecordFromTableB();
deleteRecordFromTableC();
validateRecordInUpdateMode();
updateRecordInTableA();
}
else
{
deleteRecordFromTableB();
deleteRecordFromTableC();
validateRecordInInsertMode();
insertRecordInTableA();
}

关于嵌套if条件的Java代码设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35445226/

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