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)
switch语句是一个想法,但如果序列号密集,我会使用查找表:
final Color[] myColors = {Color.RED, Color.ORANGE, Color.YELLOW, ...};
myColor = myColors[sequenceNum];
Run Code Online (Sandbox Code Playgroud)
在进行范围检查sequenceNum之后.
请注意,您的原始代码应该else在if除第一个之外的每个代码之前.比赛结束后重新测试没有意义.