台灯控制逻辑,初始状态为台灯灭。当开关按下1次时,台灯打开,亮度为微亮,按下2次时,台灯亮度为亮,按下3次时,又转为微亮,按下4次时,台灯灭。注意开关每回只能按下1次。
int switchCount = 0; // 开关的按下次数
int lampState = 0; // 台灯的当前状态,0 表示灭,1 表示微亮,2 表示亮
// 当开关按下时
void switchPressed() {
switchCount++; // 开关的按下次数加1
switch (switchCount % 4) { // 取模 4 后的值
case 1:
lampState = 1; // 台灯亮度为微亮
break;
case 2:
lampState = 2; // 台灯亮度为亮
break;
case 3:
lampState = 1; // 台灯亮度为微亮
break;
case 0:
lampState = 0; // 台灯灭
break;
}
// 更新台灯的状态
updateLamp(lampState);
}
// 更新台灯的状态
void updateLamp(int state) {
// 根据 state 参数来更新台灯的状态
...
}
以下是一个简单的 Java 代码示例,实现了你所描述的台灯控制逻辑:
public class LampControl {
// 台灯状态,0表示灭,1表示微亮,2表示亮
private int state = 0;
// 开关按下一次,台灯状态改变
public void switchPressed() {
if (state == 0) {
state = 1;
} else if (state == 1) {
state = 2;
} else if (state == 2) {
state = 1;
} else {
state = 0;
}
}
public int getState() {
return state;
}
}
这个类中有一个整型变量 state 表示台灯的状态,有一个方法 switchPressed 用来模拟开关按下一次,改变台灯的状态。有一个方法 getState 用来获取台灯的当前状态。
你可以通过如下代码来测试这个类的功能:
LampControl lamp = new LampControl();
System.out.println("初始状态:" + lamp.getState());
lamp.switchPressed();
System.out.println("按下一次:" + lamp.getState());
lamp.switchPressed();
System.out.println("按下两次:" + lamp.getState());
lamp.switchPressed();
System.out.println("按下三次:" + lamp.getState());
lamp.switchPressed();
System.out.println("按下四次:" + lamp.getState());