【发布时间】:2020-01-28 21:13:54
【问题描述】:
我有以下代码,它依赖于多个不同的 if 语句。我正在为 android 制作一个 Cribbage 得分计数应用程序。显示的代码仅适用于蓝色团队,但我最终为蓝色团队提供的代码也将用于红色和绿色团队。我现在拥有的东西可以工作,但它很笨重。我是 java 新手,希望能提供一些关于将代码整合到更易于阅读和维护的最佳实践的指针。
if(blueTeamScore >= ENDGAMESCORE) {
String baseVictoryText = "Blue Team has won!";
TextView winningTeamTextView = (TextView) findViewById(R.id.winningTeam);
if(hasThreePlayer == false) {
winningTeamTextView.setText(baseVictoryText);
if (hasSkunk == true) {
if (redTeamScore <= 90) {
winningTeamTextView.setText(baseVictoryText + "\nAnd Red Team got Skunked");
}
}
}
if(hasThreePlayer == true) {
winningTeamTextView.setText(baseVictoryText);
if (hasSkunk == true) {
if ((redTeamScore <= 90) && (greenTeamScore <= 90)) {
winningTeamTextView.setText(baseVictoryText + "\nAnd Red and Green Teams got Skunked");
}
if ((redTeamScore <= 90) && (greenTeamScore >= 90)) {
winningTeamTextView.setText(baseVictoryText + "\nAnd Red Team got Skunked");
}
if ((redTeamScore >= 90) && (greenTeamScore <= 90)) {
winningTeamTextView.setText(baseVictoryText + "\nAnd Green Team got Skunked");
}
}
}
}
我知道布尔变量不能在 switch 语句中使用(太糟糕了),但是还有其他类似的东西可以帮助我集中代码吗?
【问题讨论】:
标签: java android if-statement switch-statement logic