如何减少此处使用的"if"语句的数量?

Jus*_*ner -3 java if-statement

回答

谢谢您的帮助!

我正在为我的AP计算机科学课程编写一些代码,我想知道是否有更有效的方法来做到这一点.该方法非常冗长且冗余.我可以非常感谢您所做的改进的解释!

public void setColor(){

    if(sequenceNum == 0){
        myColor = Color.RED;
    }
    if(sequenceNum == 1){
        myColor = Color.ORANGE;
    }
    if(sequenceNum == 2){
        myColor = Color.YELLOW;
    }
    if(sequenceNum == 3){
        myColor = Color.GREEN;
    }
    if(sequenceNum == 4){
        myColor = Color.BLUE;
    }
    if(sequenceNum == 5){
        myColor = Color.MAGENTA;
    }

}
Run Code Online (Sandbox Code Playgroud)

use*_*421 5

switch语句是一个想法,但如果序列号密集,我会使用查找表:

final Color[] myColors = {Color.RED, Color.ORANGE, Color.YELLOW, ...};

myColor = myColors[sequenceNum];
Run Code Online (Sandbox Code Playgroud)

在进行范围检查sequenceNum之后.

请注意,您的原始代码应该elseif除第一个之外的每个代码之前.比赛结束后重新测试没有意义.