設計實驗
有 3 個開關:a b c
有 3 個電燈:x y z
要求實現:
a 能控制 x
b 能控制 x, y
c 能 x
注意:1個燈泡可以被多個開關控制;1個開關可以同時控制多個燈泡
所謂“控制”:當開關操作時,當前燈泡的狀態發生翻轉。亮->滅 或 滅->亮
import java.util.*;
class Light
{
private boolean state; // 燈的狀態。true: 亮
public String toString()
{
if(state)
return "亮";
else
return "滅";
}
// 翻轉狀態
public void change()
{
state = !state;
}
}
class Switch
{
//Light[] a = ...
Vector v = new Vector();
public void addLight(Light x)
{
v.add(x);
}
// 按了一下開關
public void press()
{
for(int i=0; i