pt里的代码处理方式

台灯控制逻辑,初始状态为台灯灭。当开关按下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());