以下のリストは私のプログラムの結果であると思われます。しかし、#2の場合、「ホーマーがドアを開ける」と表示されます。エラーをじっと見つめているかどうかはわかりません。私はしばらくの間コードを研究してきました、そして眠いことは間違いなく助けにはなりません。どんな助けでも大歓迎です!
- //バートがドアをロックします。
- //ホーマーはドアを開こうとしますが、ロックされているためできません。
- //ホーマーはドアのロックを解除します。
- //ホーマーがドアを開けます。
- //バートはドアを開こうとしますが、すでに開いているためできません。
- //マージはドアを閉めます。
- //ホーマーはドアを閉めようとしますが、すでに閉まっているためできません。
- //リサがドアを開けます。
- //アブラハムはドアをロックしようとしますが、ドアが開いているためロックできません。
- //マージはドアを閉めます。
- //アブラハムはドアをロックします。
- //バートはドアを開こうとしますが、ロックされているためできません。
- //リサはドアを開こうとしますが、ロックされているためできません。
- //ホーマーはドアを開こうとしますが、ロックされているためできません。
- //アブラハムはドアのロックを解除します。
- //ホーマーがドアを開けます。
//マージはドアを閉めます。
//in a separate method: bart.lockDoor(); homer.openDoor(); homer.unlockDoor(); homer.openDoor(); bart.openDoor(); marge.closeDoor(); homer.closeDoor(); lisa.openDoor(); abraham.unlockDoor(); marge.closeDoor(); abraham.lockDoor(); bart.openDoor(); lisa.openDoor(); homer.openDoor(); abraham.unlockDoor(); homer.openDoor(); marge.closeDoor(); boolean locked; boolean open; public void lockDoor() { if(locked == true) out.println( name + " tries to lock the door, but can't because its already locked."); else if(open == false) { locked = true; out.println( name + " locks the door."); } } public void unlockDoor() { if(open == true) out.println( name + " tries to unlock the door, but can't because its open."); else if(locked == false) out.println( name + " tries to unlock the door, but can't because its already unlocked."); else if(locked == true) { out.println( name + " unlocks the door."); locked = false; } } public void openDoor() { if(open == true) out.println( name + " tries to open the door, but can't because its already open."); else if( locked == true ) out.println( name + " tries to open the door, but can't because its locked."); else if(locked == false) { out.println( name + " opened the door."); open = true; } } public void closeDoor() { if(open == false) out.println( name + " tries to close the door, but can't because its already closed."); else { if(open == true) { out.println( name + " closed the door."); open = false; } } }