在 Java 中开关未更改状态

Switches not changing state in Java

我正在尝试编写使 set_playerplayer1.nameplayer2.name 两种状态之间振荡的代码,我用 val = 0 编写了以下代码它在 while 循环中被初始化。 set_player 似乎永远不会改变状态并且一直停留在 player2.name。任何帮助都会很棒。

switch (val){
                case 0:
                    set_player = player1.name;
                    val = 2;
                case 1:
                    set_player = player1.name;
                    val = 2;
                case 2:
                    set_player = player2.name;
                    val = 1;
            }

您缺少 break 语句。如果 val 为 0、1 或 2,则 case 2 将始终执行而不中断。因此 set_player 最终被分配 player2.name.

        switch (val){
            case 0:
                set_player = player1.name;
                val = 2;
                break;
            case 1:
                set_player = player1.name;
                val = 2;
                break;
            case 2:
                set_player = player2.name;
                val = 1;
                break;
        }

您应该在每个案例块的末尾添加 break; 行:

... case n: ... ... break; case n+1: ....