gpt4 book ai didi

java - 枚举和 case 语句。即使有中断也不切换

转载 作者:行者123 更新时间:2023-12-01 12:29:21 24 4
gpt4 key购买 nike

我正在尝试从开始状态开始切换状态。但是,当我输入输入以进入失败状态或进入状态时,两者都不起作用。我曾尝试按照之前的建议在代码中添加中断,但恐怕没有任何影响。还有其他解决方案吗?

  import java.util.*;

public class dfa {
static State state;


public enum State
{
START_STATE,
GO_STATE,
FAIL_STATE,
};

dfa(State state)
{ state = this.state;}

/**
* @param args
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String line;
int number;
state = State.START_STATE;
switch(state)
{
case START_STATE:

System.out.print("In start state \n ");
System.out.println("Which state you want to go to? \n");
number = input.nextInt();
if(number == 1)
{
state = State.GO_STATE;
System.out.print(" Go hello");

}
else if(number == 2)
{
state = State.FAIL_STATE;
System.out.println(" Fail hello ");
}
break;

case FAIL_STATE:
System.out.println("fail state");
break;
case GO_STATE:
System.out.println("go state");
break;

default:
System.out.println("Default");
break;
}


System.out.println("made it here");





}

}

最佳答案

当您更改 state 的值时,您已经位于 switch 语句中,如图所示 this question ,一旦找到匹配项,就会执行 case 并且控制流到 switch 语句的末尾。

我不完全确定您想要完成什么,但如果您想更新状态并再次输入开关,您将必须添加一个循环。

关于java - 枚举和 case 语句。即使有中断也不切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26069999/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com