From 9f14f505a7ab15df63deff3e44b3a75d5c0ea3d1 Mon Sep 17 00:00:00 2001 From: tra Date: Thu, 28 Oct 2021 04:12:37 -0400 Subject: [PATCH] I have done the assignment --- README.md | 46 +++++++++++++++++++++++++++++++++++++++++++--- TicketMachine.java | 2 +- 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ee11f2c..31d8281 100644 --- a/README.md +++ b/README.md @@ -14,31 +14,39 @@ Work through all these exercises. You edit this file with your answers for these ### Exercise 2.1 * Create a TicketMachine object on the object bench. +Already done. * Upon viewing its methods, `getBalance`, `getPrice`, `insertMoney`, `printTicket`. +I did. * Use `getPrice` method to view the value of the price of the tickets that was set when this object was created. * Use `insertMoney` method to simulate inserting an amount of money into the machine. * Use `getBalance` to check that the machine has a record of the amount inserted. * You can insert several separate amounts of money into the machine, just like you might insert multiple coins or notes into a real machine. Try inserting the exact amount required for a ticket. As this is a simple machine, a ticket will not be issued automatically, so once you have inserted enough money, call the `printTicket` method. A facsimile ticket should be printed in the BlueJ terminal window. ### Exercise 2.2 -* What value is returned if you check the machine’s balance after it has printed a ticket? +* What value is returned if you check the machine’s balance after it has printed a ticket? +The result value was 0. ### Exercise 2.3 * Experiment with inserting different amounts of money before printing tickets. * Do you notice anything strange about the machine’s behavior? - * What happens if you insert too much money into the machine – do you receive any refund? +Nothing strange at the moment. + * What happens if you insert too much money into the machine – do you receive any refund? The balance takes into account that level of money. No refund. * What happens if you do not insert enough and then try to print a ticket? +I can not insert 10 cent. It does not print a ticket. ### Exercise 2.4 * Try to obtain a good understanding of a ticket machine’s behavior by interacting with it on the object bench before we start looking at how the `TicketMachine` class is implemented in the next section. +I did it. ### Exercise 2.5 * Create another ticket machine for tickets of a different price. * Buy a ticket from that machine. * Does the printed ticket look different? +No difference in the look, but the price is different. ### Exercise 2.6 * Write out what you think the outer wrappers of the `Student` and `LabClass` classes might look like – do not worry about the inner part. +The Student and LabClass will be public class, with inside the curly brackets the inner part. ### Exercise 2.7 Does it matter whether we write
@@ -47,29 +55,41 @@ or
`class public TicketMachine`
in the outer wrapper of a class? +It is not the same as we need to write correctly as public class TicketMachine. The second form is incorrect. + * Edit the source of the `TicketMachine` class to make the change and then close the editor window. - * Do you notice a change in the class diagram? + * Do you notice a change in the class diagram? +The diagram changed with some multiples brown squares. * What error message do you get when you now press the compile button? +The erro is : "Identifier expected." * Do you think this message clearly explains what is wrong? +Yes. ### Exercise 2.8 * Check whether or not it is possible to leave out the word `public` from the outer wrapper of the `TicketMachine` class. +It is not possible. ### Exercise 2.9 * From your earlier experimentation with the ticket machine objects within BlueJ you can probably remember the names of some of the methods – `printTicket`, for instance. * Look at the class definition in Code 2.1 and use this knowledge, along with the additional information about ordering we have given you, to try to make a list of the names of the fields, constructors, and methods in the `TicketMachine` class. * Hint: There is only one constructor in the class. +TicketMachine is the constructor +Balance, total and price , are some fields, while getBalance, insert money, printTickets and getPrice are examples of methods. ### Exercise 2.10 * Do you notice any features of the constructor that make it significantly different from the other methods of the class? +The difference is that the constructor does not return values, while methods do. ### Exercise 2.11 * What do you think is the type of each of the following fields? ```java private int count; +It is an integer. private Student representative; +It is a Student. private Server host; +It is a Server. ``` ### Exercise 2.12 @@ -77,8 +97,11 @@ private Server host; ```java private boolean alive; +Name : alive. private Person tutor; +Name : tutor. private Game game; +Name : game. ``` ### Exercise 2.13 @@ -88,35 +111,52 @@ In the following field declaration from the TicketMachine class
private int price; ``` does it matter which order the three words appear in? +Yes, it matters. * Edit the `TicketMachine` class to try different orderings. After each change, close the editor. + * Does the appearance of the class diagram after each change give you a clue as to whether or not other orderings are possible? + * Check by pressing the compile button to see if there is an error message. +There is an error message. + * Make sure that you reinstantiate the original version after your experiments! +Done. + ### Exercise 2.14 * Is it always necessary to have a semicolon at the end of a field declaration? +Yes. * Once again, experiment via the editor. +Done. + * The rule you will learn here is an important one, so be sure to remember it. +Ok. ### Exercise 2.15 * Write in full the declaration for a field of type `int` whose name is `status`. +Private int status ; ### Exercise 2.16 * To what class does the following constructor belong? ``` public Student(String name) + +The class is student. ``` ### Exercise 2.17 * How many parameters does the following constructor have and what are their types? ``` public Book(String title, double price) +This constructor has 2 parameters.The first one is a string, while the second one is a double. ``` ### Exercise 2.18 * Can you guess what types some of the `Book` class’s fields might be? +A title can be a string, while the price of the book is a double. * Can you assume anything about the names of its fields? +No. READ upto and INCLUDING section 2.15 of this chapter. diff --git a/TicketMachine.java b/TicketMachine.java index 630c4ea..d57d6bf 100644 --- a/TicketMachine.java +++ b/TicketMachine.java @@ -9,7 +9,7 @@ * @author David J. Barnes and Michael Kolling * @version 2008.03.30 */ -public class TicketMachine +public class TicketMachine { // The price of a ticket from this machine. private Integer price;