Java 如何写入(if,if,if)else if none

Java 如何写入(if,if,if)else if none,java,boolean,if-statement,Java,Boolean,If Statement,我试图制作一组if语句,其中每个if都会打印,如果某个参数为true,但是一个else只会打印if如果没有返回任何。我认为在这种情况下,else if不起作用 我有一些代码(颜色仅作为示例): 我能做些什么来消除使用单独的布尔值来检查if的任何参数是否为真的需要吗 编辑: (我刚刚注意到有什么可能会让人困惑。我使用的代码实际上并没有使用return。相反,它正在打印结果,这意味着可以返回多个内容。)由于您需要独立地处理各个阶段,并且可以同时完成多个阶段,因此您的代码非常好 以下是我对你原来问题的

我试图制作一组
if
语句,其中每个
if
都会打印,如果某个参数为true,但是一个
else
只会打印
if
如果
没有返回任何
。我认为在这种情况下,
else if
不起作用

我有一些代码(颜色仅作为示例):

我能做些什么来消除使用单独的布尔值来检查if的任何参数是否为真的需要吗

编辑:
(我刚刚注意到有什么可能会让人困惑。我使用的代码实际上并没有使用return。相反,它正在打印结果,这意味着可以返回多个内容。)

由于您需要独立地处理各个阶段,并且可以同时完成多个阶段,因此您的代码非常好

以下是我对你原来问题的回答:

你不需要布尔值。您的代码相当于:

if (redStage   == 2) { return redComplete; }
if (blueStage  == 2) { return blueComplete; }
if (greenStage == 2) { return greenComplete; }
return noneComplete;
这利用了一个事实,即每个
if
主体都包含一个无条件
返回。如果不是这样,你可以这样表达这个结构:

if (redStage == 2) {
   // redComplete
} else if (blueStage == 2) {
   // blueComplete
} else if (greenStage == 2) {
   // greenComplete
} else {
   // noneComplete
}

这就是我要说的。实际上,我不知道这是怎么回事。它似乎总是返回未完成的结果,即使一个或多个阶段是2(我只是注意到了可能会混淆的地方。我使用的代码实际上没有使用return。相反,它正在打印结果,这意味着可以返回多个内容。)@colinbr96:如果您需要独立地处理这些阶段,多个代码可以同时完成,那么您的原始代码就尽可能好了。
if (redStage == 2) {
   // redComplete
} else if (blueStage == 2) {
   // blueComplete
} else if (greenStage == 2) {
   // greenComplete
} else {
   // noneComplete
}