From c34cef40f4c02d884d0888ad69a357f7427a67e5 Mon Sep 17 00:00:00 2001
From: John Tokhi <56596400+tokhij@users.noreply.github.com>
Date: Sun, 20 Oct 2019 22:45:08 -0400
Subject: [PATCH] Completed
---
README.md | 44 +++++++++++++++++++++++++++++++++++---------
TicketMachine.java | 6 ++++++
bluej.pkg | 46 ++++++++++++++++++++++++++++------------------
package.bluej | 46 ++++++++++++++++++++++++++++------------------
4 files changed, 97 insertions(+), 45 deletions(-)
diff --git a/README.md b/README.md
index 4f153b0..e48d201 100644
--- a/README.md
+++ b/README.md
@@ -17,12 +17,16 @@ Work through all these exercises. You edit this file with your answers for these
### Exercise 2.2
* What value is returned if you check the machine’s balance after it has printed a ticket?
+-0
### Exercise 2.3
* Experiment with inserting different amounts of money before printing tickets.
- * Do you notice anything strange about the machine’s behavior?
+ * Do you notice anything strange about the machine’s behavior?
+- Yes, It just accumulates the amount of money inserted.
* What happens if you insert too much money into the machine – do you receive any refund?
+- No refund or error message
* What happens if you do not insert enough and then try to print a ticket?
+- It will still print 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.
@@ -31,9 +35,12 @@ Work through all these exercises. You edit this file with your answers for these
* Create another ticket machine for tickets of a different price.
* Buy a ticket from that machine.
* Does the printed ticket look different?
+- Looks the same, the total keeps accumulating.
### 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.
+- public class Student
+- public class LabClass
### Exercise 2.7
Does it matter whether we write
@@ -41,39 +48,48 @@ Does it matter whether we write
or
`class public TicketMachine`
in the outer wrapper of a class?
+-Yes, Must be public and then class; otherwise there is an error (identifier)
* 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?
+- Yes, cannot compile or run.
* What error message do you get when you now press the compile button?
+- Illegal start of expression.
* Do you think this message clearly explains what is wrong?
+No, does not let us know that is not possible.
### Exercise 2.8
* Check whether or not it is possible to leave out the word `public` from the outer wrapper of the `TicketMachine` class.
+-Its defaults to public, you could leave it out.
### 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.
+- Methods: getPrice, getTicketNumber, getBalance, insertMoney, calculateTotal, incrementTicketNumber, printTicket
+- Fields: price, balance, total ticketNumber
+- Constructor: TicketMachine testTicketMachine = new TicketMachine.
### Exercise 2.10
* Do you notice any features of the constructor that make it significantly different from the other methods of the class?
+- Its a test for the ticket machine to see if it runs properly.
### Exercise 2.11
* What do you think is the type of each of the following fields?
```java
-private int count;
-private Student representative;
-private Server host;
+private int count; - Integer
+private Student representative; - Class
+private Server host; - Class
```
### Exercise 2.12
* What are the names of the following fields?
```java
-private boolean alive;
-private Person tutor;
-private Game game;
+private boolean alive; - alive
+private Person tutor; - tutor
+private Game game; - game
```
### Exercise 2.13
@@ -83,35 +99,45 @@ In the following field declaration from the TicketMachine class
private int price;
```
does it matter which order the three words appear in?
+- Yes, you need to define them or Java won't be able to read them.
+
* 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?
+possible?
+- Yes, its shows an error.
* Check by pressing the compile button to see if there is an error message.
* Make sure that you reinstantiate the original version after your experiments!
### Exercise 2.14
* Is it always necessary to have a semicolon at the end of a field declaration?
+- Yes, this will let you the statement is done.
* Once again, experiment via the editor.
* The rule you will learn here is an important one, so be sure to remember it.
### Exercise 2.15
* Write in full the declaration for a field of type `int` whose name is `status`.
+- int I = status
### Exercise 2.16
* To what class does the following constructor belong?
```
public Student(String name)
```
+- Student
### Exercise 2.17
* How many parameters does the following constructor have and what are their types?
```
public Book(String title, double price)
```
+-2 String title and double price
### Exercise 2.18
* Can you guess what types some of the `Book` class’s fields might be?
+- String Character char
+
* Can you assume anything about the names of its fields?
+-Book has words so it may print out lines of characters.
READ upto and INCLUDING section 2.15 of this chapter.
diff --git a/TicketMachine.java b/TicketMachine.java
index 630c4ea..37ea0c5 100644
--- a/TicketMachine.java
+++ b/TicketMachine.java
@@ -95,4 +95,10 @@ public String printTicket()
return "Ticket price: " + price + " cents. " + "Your total is " + total + ".";
}
+
+
+ public static void main(String[] args){
+
+ }
+
}
diff --git a/bluej.pkg b/bluej.pkg
index bf25784..94a6858 100644
--- a/bluej.pkg
+++ b/bluej.pkg
@@ -1,20 +1,23 @@
#BlueJ package file
-editor.fx.0.height=722
+dependency1.from=TicketMachineTest
+dependency1.to=TicketMachine
+dependency1.type=UsesDependency
+editor.fx.0.height=713
editor.fx.0.width=800
-editor.fx.0.x=709
-editor.fx.0.y=113
+editor.fx.0.x=240
+editor.fx.0.y=23
objectbench.height=101
-objectbench.width=461
+objectbench.width=604
package.divider.horizontal=0.6
-package.divider.vertical=0.8007380073800738
-package.editor.height=427
-package.editor.width=674
-package.editor.x=1067
-package.editor.y=119
-package.frame.height=600
-package.frame.width=800
-package.numDependencies=0
-package.numTargets=1
+package.divider.vertical=0.6447368421052632
+package.editor.height=189
+package.editor.width=502
+package.editor.x=0
+package.editor.y=373
+package.frame.height=362
+package.frame.width=628
+package.numDependencies=1
+package.numTargets=2
package.showExtends=true
package.showUses=true
project.charset=UTF-8
@@ -24,9 +27,16 @@ readme.width=47
readme.x=10
readme.y=10
target1.height=50
-target1.name=TicketMachine
+target1.name=TicketMachineTest
target1.showInterface=false
-target1.type=ClassTarget
-target1.width=120
-target1.x=80
-target1.y=50
+target1.type=UnitTestTargetJunit4
+target1.width=140
+target1.x=10
+target1.y=110
+target2.height=50
+target2.name=TicketMachine
+target2.showInterface=false
+target2.type=ClassTarget
+target2.width=120
+target2.x=80
+target2.y=50
diff --git a/package.bluej b/package.bluej
index bf25784..94a6858 100644
--- a/package.bluej
+++ b/package.bluej
@@ -1,20 +1,23 @@
#BlueJ package file
-editor.fx.0.height=722
+dependency1.from=TicketMachineTest
+dependency1.to=TicketMachine
+dependency1.type=UsesDependency
+editor.fx.0.height=713
editor.fx.0.width=800
-editor.fx.0.x=709
-editor.fx.0.y=113
+editor.fx.0.x=240
+editor.fx.0.y=23
objectbench.height=101
-objectbench.width=461
+objectbench.width=604
package.divider.horizontal=0.6
-package.divider.vertical=0.8007380073800738
-package.editor.height=427
-package.editor.width=674
-package.editor.x=1067
-package.editor.y=119
-package.frame.height=600
-package.frame.width=800
-package.numDependencies=0
-package.numTargets=1
+package.divider.vertical=0.6447368421052632
+package.editor.height=189
+package.editor.width=502
+package.editor.x=0
+package.editor.y=373
+package.frame.height=362
+package.frame.width=628
+package.numDependencies=1
+package.numTargets=2
package.showExtends=true
package.showUses=true
project.charset=UTF-8
@@ -24,9 +27,16 @@ readme.width=47
readme.x=10
readme.y=10
target1.height=50
-target1.name=TicketMachine
+target1.name=TicketMachineTest
target1.showInterface=false
-target1.type=ClassTarget
-target1.width=120
-target1.x=80
-target1.y=50
+target1.type=UnitTestTargetJunit4
+target1.width=140
+target1.x=10
+target1.y=110
+target2.height=50
+target2.name=TicketMachine
+target2.showInterface=false
+target2.type=ClassTarget
+target2.width=120
+target2.x=80
+target2.y=50