Java将else{if{}转换为elseif{}

Java将else{if{}转换为elseif{},java,if-statement,converter,Java,If Statement,Converter,我正在寻找java或类似语言中的任何现有代码或库,以便在以下情况下进行转换(这不是java,而是一种自定义语言) 一个更复杂的例子是转换: if (i == 1) { } else { if (i == 2) { } else { if (i == 3) { } else { if (i == 4) { } else { if (i == 5) {

我正在寻找java或类似语言中的任何现有代码或库,以便在以下情况下进行转换(这不是java,而是一种自定义语言)

一个更复杂的例子是转换:

if (i == 1) {

} else {
    if (i == 2) {

    } else {
        if (i == 3) {

        } else {
            if (i == 4) {

            } else {
                if (i == 5) {

                } else {
                    if (i == 6) {

                    } else {
                        if (i == 7) {

                        } else {
                            if (i == 8) {

                            } else {
                                if (i == 9) {

                                } else {
                                    if (i == 10) {

                                    } else {
                                        if (i == 22) {

                                        } else {
                                            if (i == 11) {

                                            } else {
                                                if (i == 12) {

                                                } else {
                                                    if (i == 25) {

                                                    } else {
                                                        if (i == 13) {

                                                        } else {
                                                            if (i == 14) {

                                                            } else {
                                                                if (i == 15) {

                                                                } else {
                                                                    if (i == 24) {

                                                                    } else {
                                                                        if (i == 16) {

                                                                        } else {
                                                                            if (i == 17) {

                                                                            } else {
                                                                                if (i == 18) {

                                                                                } else {
                                                                                    if (i == 21) {

                                                                                    } else {
                                                                                        if (i == 19) {

                                                                                        } else {
                                                                                            if (i == 20) {

                                                                                            } else {
                                                                                                if (i == 23) {

                                                                                                } else {

                                                                                                }
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
进入这个

if (i == 1) {

} else if (i == 2) {

} else if (i == 3) {

} else if (i == 4) {

} else if (i == 5) {

} else if (i == 6) {

} else if (i == 7) {

} else if (i == 8) {

} else if (i == 9) {

} else if (i == 10) {

} else if (i == 22) {

} else if (i == 11) {

} else if (i == 12) {

} else if (i == 25) {

} else if (i == 13) {

} else if (i == 14) {

} else if (i == 15) {

} else if (i == 24) {

} else if (i == 16) {

} else if (i == 17) {

} else if (i == 18) {

} else if (i == 21) {

} else if (i == 19) {

} else if (i == 20) {

} else if (i == 23) {

} else {

}

我假设您想要更改代码,而不是编译的字节码。为此,您将研究文本替换。根据编辑器的不同,您可以使用elif语句替换此文本的所有实例。如果您的编辑器不能做到这一点,请查看正则表达式。有了这些,您可以立即更改行。

如果尝试测试单个值和各种条件,可以尝试使用switch statemenet代替各种If语句

开关(一){
案例(i=100):
i=100;
}

你的确切意思是什么?某种IDE插件?@BorisTheSpider不管怎样,这都是对工具或库的离题请求,不是吗?@yshavit是的,当然。但在我投票结束之前,我想知道OP到底在问什么。我更倾向于在关键时刻以不清楚的方式结束…@Boristespider我已经从自定义编程语言反编译了代码。我不需要任何IDE插件,只是一个可以转换它的方法。我自己试过了,但没用。老实说,我不会把它改成
else if
,而是从一开始就尽量避免整个
if/else
,因为一个代码闻起来就是一个代码闻起来,即使你“擦亮”它一点。这在Java中不起作用。大小写必须是常量,并且只检查是否相等。@yshavit正如作者所说,要处理的代码“不是Java”。所以我们不知道它在他的语言中是否有效。@qqilihq在我发表评论时,编辑(在问题中)不在那里。通过编辑,我会将我的评论修改为“在不知道目标语言是什么的情况下,没有理由假设这个语法在其中是有效的。”不管怎样,这个答案似乎并没有切中要害。(但要记录在案的是,我不是选民中的一员。)
        String elseB = "else {";
        int index = output.indexOf(elseB);
        while (index != -1) {
            output = output.substring(index + 1);
            index = output.indexOf(elseB);
            if (index != -1) {
                int ifAt = index + elseB.length() + 1;
                String elseStart = output.substring(ifAt).trim();
                if (elseStart.startsWith("if")) {
                    int closingBracket = findClosingBracket(
                        output.toCharArray(), index);
                    int openingBracket = ifAt - 1;
                    String justBlock = output.substring(openingBracket,
                        closingBracket).trim();
                    output = output.substring(0, openingBracket - 1) + justBlock + output.substring(closingBracket);
                }
            }

        }
if (i == 1) {

} else {
    if (i == 2) {

    } else {
        if (i == 3) {

        } else {
            if (i == 4) {

            } else {
                if (i == 5) {

                } else {
                    if (i == 6) {

                    } else {
                        if (i == 7) {

                        } else {
                            if (i == 8) {

                            } else {
                                if (i == 9) {

                                } else {
                                    if (i == 10) {

                                    } else {
                                        if (i == 22) {

                                        } else {
                                            if (i == 11) {

                                            } else {
                                                if (i == 12) {

                                                } else {
                                                    if (i == 25) {

                                                    } else {
                                                        if (i == 13) {

                                                        } else {
                                                            if (i == 14) {

                                                            } else {
                                                                if (i == 15) {

                                                                } else {
                                                                    if (i == 24) {

                                                                    } else {
                                                                        if (i == 16) {

                                                                        } else {
                                                                            if (i == 17) {

                                                                            } else {
                                                                                if (i == 18) {

                                                                                } else {
                                                                                    if (i == 21) {

                                                                                    } else {
                                                                                        if (i == 19) {

                                                                                        } else {
                                                                                            if (i == 20) {

                                                                                            } else {
                                                                                                if (i == 23) {

                                                                                                } else {

                                                                                                }
                                                                                            }
                                                                                        }
                                                                                    }
                                                                                }
                                                                            }
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
if (i == 1) {

} else if (i == 2) {

} else if (i == 3) {

} else if (i == 4) {

} else if (i == 5) {

} else if (i == 6) {

} else if (i == 7) {

} else if (i == 8) {

} else if (i == 9) {

} else if (i == 10) {

} else if (i == 22) {

} else if (i == 11) {

} else if (i == 12) {

} else if (i == 25) {

} else if (i == 13) {

} else if (i == 14) {

} else if (i == 15) {

} else if (i == 24) {

} else if (i == 16) {

} else if (i == 17) {

} else if (i == 18) {

} else if (i == 21) {

} else if (i == 19) {

} else if (i == 20) {

} else if (i == 23) {

} else {

}
switch(i){
    case(i <= 0):
        i=0;
    case(i >= 100):
        i=100;
}