java - If else 语句有 4 个结果但只有 2 个似乎有效

标签 java if-statement

所以我正在我的新研究中进行我的第一个编程项目。以前从未尝试过编程。我想让它能够在 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/

相关文章:

Java流中的分组

java - 卸载嵌入式 java Mac 操作系统

java - ActiveMQ 给出 : "Could not connect to broker URL: tcp://localhost:61616" after around 10 000 messages

r - “Replacement Length Equal to Zero”

javascript - (Javascript) 给定区间内的质数 : for loop doesn't iterate

python 二十一点游戏,似乎忽略了 'if' 声明

java - 将属性保存在 JAVA 格式的文件中

java - 在 Intellij CE 中,如何显示 Maven 选项卡?

javascript - 即使为 false 也执行 if 语句

c - 一个数组位置的多个 OR 比较