在java中进行切换以控制客户机/服务器过程
我可以使用一些帮助来创建switch语句,以便控制代码。我用Java创建了一个客户端程序,可以连接到服务器/模拟器 当有人运行客户机程序时,它可以启动一个所谓的“过程”,该过程将尝试从一步到另一步并收集信息 这些步骤可以描述为:在java中进行切换以控制客户机/服务器过程,java,Java,我可以使用一些帮助来创建switch语句,以便控制代码。我用Java创建了一个客户端程序,可以连接到服务器/模拟器 当有人运行客户机程序时,它可以启动一个所谓的“过程”,该过程将尝试从一步到另一步并收集信息 这些步骤可以描述为: 1. Verify Operator 2. Ask operator for item number 3. Ask operator to verify item name and so on (there is like 8 steps, but i will onl
1. Verify Operator
2. Ask operator for item number
3. Ask operator to verify item name
and so on (there is like 8 steps, but i will only show 3 fornow)
因此,我的问题的一个例子是,当操作员向客户端发回一个项目编号时,这在示例中是错误的,我应该这样做,以便控制下一步应该运行哪个步骤
当然,如果在运行步骤时没有问题或错误,应该从1到8。但是如果输入的项目编号错误,我应该从步骤1或2开始
我不知道如何做到这一点,但我试图以某种方式创建一个switch语句。获取了一个名为“runProcedure”的方法,该方法将启动该过程。这里我创建了如下的switch语句
更新:
现在看起来是这样的:
public class Swich {
public int step = 1;
private int brutto;
private int netto;
public void runProcedure() {
try {
while(step != 4) {
switch(step){
case 1:
//run "verify operator"
System.out.println("Running step 1, checking brutto and netto");
brutto = 50;
netto = 100;
if (brutto < netto) {
// program should just continue
System.out.println("Brutto/netto is ok!");
step = 2;
runProcedure();
}
case 2:
//run "Ask operator for item number"
System.out.println("Running step 2");
brutto = 50;
netto = 100;
if (brutto < netto) {
// program should just continue
step = 3;
runProcedure();
}
else {
// I should run case 1 or 2 again.
step = 1;
runProcedure();
}
break;
case 3:
//run "Ask operator to verify item name"
System.out.println("Step 3 running");
step = 4;
break;
default:
//default
}
}
}catch(Exception e) {
}
}
公共类开关{
公共int步长=1;
私人int布鲁托;
内托私人酒店;
公共无效运行程序(){
试一试{
while(步骤!=4){
开关(步骤){
案例1:
//运行“验证操作员”
System.out.println(“运行步骤1,检查brutto和netto”);
布鲁托=50;
净值=100;
如果(布鲁托<内托){
//这个计划应该继续下去
System.out.println(“Brutto/netto还可以!”);
步骤=2;
runProcedure();
}
案例2:
//运行“向操作员询问项目编号”
System.out.println(“运行步骤2”);
布鲁托=50;
净值=100;
如果(布鲁托<内托){
//这个计划应该继续下去
步骤=3;
runProcedure();
}
否则{
//我应该再次运行案例1或案例2。
步骤=1;
runProcedure();
}
打破
案例3:
//运行“要求操作员验证项目名称”
System.out.println(“第3步运行”);
步骤=4;
打破
违约:
//违约
}
}
}捕获(例外e){
}
}
}如果我做对了,您将尝试检查
itemnumber==right
,如果为true,则继续下一步,否则返回1,也许您可以在过程中添加循环来实现它
public void runProcedure(){
try {
int step = 1;
while(step != 4) {
switch(step){
case 1:
//run "verify operator"
step = 2;
break;
case 2:
//run "Ask operator for item number"
if (itemnumber == right) {
// program should just continue
step = 3;
}
else {
// I should run case 1 or 2 again.
step = 1;
}
break;
case 3:
//run "Ask operator to verify item name"
step = 4;
break;
default:
//default
}
}
}catch(Exception e) {
}
}
记住步骤=4
仅适用于3个步骤,对于8个步骤,您可能需要对其进行调整。例如,我猜您在使步骤=3后忘记再次调用该方法。。看一看,我已经更新了我的线程,这就是测试开关的外观,我认为它可以工作:)现在我可以控制运行什么:我想没有必要这样做,例如,在step
设置为3
之后,它仍然会进入循环并执行case 3
。