所以我正在我的新研究中进行我的第一个编程项目。以前从未尝试过编程。我想让它能够在 4 种不同的结果和一个默认函数之间进行选择,但它似乎只能在 if 语句和第二个 else if 之间进行选择。我做错了什么?
private void userStandby () {
System.out.println("What do you want to set your membershipstatus to");
System.out.println("1) Active \n2) Standby");
int newchange = input.nextInt();
((Medlem) currentUser).setStatus(newchange);
if (((Medlem) currentUser).getStatus() == 1 && newchange == 1) {
System.out.println("Your membership is already active");
} else if (((Medlem) currentUser).getStatus() == 1 && newchange == 2) {
System.out.println("Your membership is now on standby");
} else if (((Medlem) currentUser).getStatus() == 2 && newchange == 2) {
System.out.println("Your membership is already on standby");
} else if (((Medlem) currentUser).getStatus() == 2 && newchange == 1) {
System.out.println("Your membership is now active");
} else
System.out.println("Please write 1 or 2");
userStandby();
}
最佳答案
((Medlem) currentUser).setStatus(newchange);
暗示 ((Medlem) currentUser).getStatus() == newchange
,因此当然只有两个分支可以执行 - 两个分支都等于 1 的分支和其中两者都等于 2。
也许您的意图是在 if-else-if-..-else 语句之后调用 setStatus
。
关于java - If else 语句有 4 个结果但只有 2 个似乎有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53393730/