【发布时间】:2016-10-02 19:46:07
【问题描述】:
我必须在java中实现以下逻辑:
- 根据条件 C1 对数据 D1 执行查询 Q1
- 如果 Q1 的结果大于零,则根据条件 C2 对数据 D2 再次查询 Q2
- 如果 Q2 大小大于零,则根据条件 C3 对数据 D2 再次查询 Q3
如果 Q3 大小大于零,则根据条件 C4 对数据 D2 再次查询 Q4
现在如果 Q1 结果大小为零,则根据条件 C5 对数据 D1 执行查询 Q5
- 如果 Q5 的结果大于零,则根据条件 C2 对数据 D3 执行查询 Q6
- 如果 Q6 的结果大于零,则根据条件 C3 对数据 D3 执行查询 Q7
- 如果 Q7 的结果大于零,则根据条件 C4 对数据 D3 执行查询 Q8
所以我正在考虑编写以下逻辑:
R1 = getResult (dataset D1, condition C1);
//Query on data D1 based on condition C1;
if (R1 is not null)
{
R2 = getResult (dataset R1, condition C2);// Query on data R1 based on condition C2;
if(R2 is null)
{
R3 = getResult (dataset R1, condition C3);// Query on data R1 based on condition C3
if(R3 is null)
{
R4 = getResult (dataset R1, condition C4);// Query on data R1 based on condition C4
display(R4);
}
else
{
display(R3);
}
}
else
{
display(R2);
}
}
else
{
R5 = getResult (dataset D1, condition C5);
if(R5 is not null)
{
R6 = getResult (dataset R5, condition C2);//Query on data R5 based on condition C2;
if(R6 is null)
{
R7 = getResult (dataset R5, condition C3);//Query on data R5 based on condition C3
if(R7 is null)
{
R8 = getResult(dataset R5, condition C4);//Query on data R5 based on condition C3
}
else
{
display(R8);
}
}
else
{
display(R6);
}
}
}
有没有更好的方法来改进这个逻辑?
【问题讨论】:
-
这段代码无法编译,有几个语法错误。要么编写伪代码,要么编写 Java,但不能混合使用。此外,您应该处理缩进。在问自己“我可以改进我的逻辑吗?”之前你应该有一个工作版本,即使它不是最佳的。
-
代码不可读,请重新格式化
-
@Turing85,这段代码还没有用任何语言编写,它只是我在编写代码之前思考的实现逻辑。
-
@beautifulday 正如我所说:要么编写伪代码,要么编写实际代码。您发布的内容是混合的。