目次> 第18章> 18.5 | TOPUPPREVNEXT |
状態数が多い場合や、出力の記述が多い場合は、状態遷移表が便利です。 また状態遷移表を縦に読むと、 特定のイベントが発生した場合にどんな状態遷移をするかが一覧できますので、 各アクションリスナに書くべき手順が明確になります。 18.3 電卓の改良をもとに状態線意表を作成してみましょう。
状態 \ 入力 | 数字 | 演算子 | = | |
---|---|---|---|---|
状態1 | 最初の数値 | @ 状態1 | A 状態2 | H 状態3 |
状態2 | 演算子 | C 状態4 | B 状態2 | D 状態3 |
状態3 | = | F 状態1 | G 状態2 | − |
状態4 | 2番目以降の数値 | @ 状態4 | E 状態2 | H 状態3 |
表を作成するときには、横方向につくります。たとえば1行目は、 「状態1の時に、数字が入力されたら@を実行し状態1のまま、 演算子が入力されたらAを実行し状態2になる、 =が入力されたらHを実行し状態3になる。」と書き込んでいきます。
表の作成が終り、アクションリスナを書くときには、縦方向に読みます。たとえば1列目は、 「数字が入力された場合に、状態1であれば@を実行し状態1になる、 状態2であればCを実行し状態4になる、 状態3であればFを実行し状態1になる、 状態4であれば@を実行し状態4になる。」と読みます。
TOPUPPREVNEXT |