Skip to content

Commit c263f01

Browse files
added SendMoreHonesttea
1 parent c11a366 commit c263f01

File tree

5 files changed

+109
-0
lines changed

5 files changed

+109
-0
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
eclipse.preferences.version=1
2+
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
4+
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
5+
org.eclipse.jdt.core.compiler.compliance=1.8
6+
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
7+
org.eclipse.jdt.core.compiler.debug.localVariable=generate
8+
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
9+
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
10+
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
11+
org.eclipse.jdt.core.compiler.source=1.8
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package beverage;
2+
3+
public class BeverageTestDrive {
4+
5+
public static void main(String[] args) {
6+
System.out.println("Making tea...");
7+
Tea tea = new Tea();
8+
tea.prepareRecipe();
9+
10+
System.out.println("Making coffee...");
11+
Coffee coffee = new Coffee();
12+
coffee.prepareRecipe();
13+
}
14+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package beverage;
2+
3+
public abstract class CaffeineBeverage {
4+
final void prepareRecipe() {
5+
boilWater();
6+
brew();
7+
pourInCup();
8+
if (customerWantsCondiments()) {
9+
addCondiments();
10+
}
11+
12+
}
13+
14+
public final void boilWater() {
15+
System.out.println("Boiling water");
16+
}
17+
18+
public final void pourInCup() {
19+
System.out.println("Pouring into cup");
20+
}
21+
22+
public boolean customerWantsCondiments() {
23+
return true;
24+
}
25+
26+
abstract void brew();
27+
abstract void addCondiments();
28+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package beverage;
2+
3+
import java.io.BufferedReader;
4+
import java.io.IOException;
5+
import java.io.InputStreamReader;
6+
7+
public class Coffee extends CaffeineBeverage {
8+
9+
@Override
10+
void brew() {
11+
System.out.println("Dripping Coffee through filter");
12+
}
13+
14+
@Override
15+
void addCondiments() {
16+
System.out.println("Adding Sugar and Milk");
17+
}
18+
19+
public boolean customerWantsCondiments() {
20+
String answer = getUserInput();
21+
if (answer.toLowerCase().startsWith("y")) {
22+
return true;
23+
} else {
24+
return false;
25+
}
26+
}
27+
28+
private String getUserInput() {
29+
String answer = null;
30+
System.out.print("Would you like milk and sugar with your coffee (y/n)? ");
31+
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
32+
try {
33+
answer = in.readLine();
34+
} catch (IOException ioe) {
35+
System.err.println("IO error trying to read your answer");
36+
}
37+
if (answer == null) {
38+
return "no";
39+
}
40+
return answer;
41+
}
42+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package beverage;
2+
3+
public class Tea extends CaffeineBeverage {
4+
5+
@Override
6+
void brew() {
7+
System.out.println("Steeping the tea");
8+
}
9+
10+
@Override
11+
void addCondiments() {
12+
System.out.println("Adding Lemon");
13+
}
14+
}

0 commit comments

Comments
 (0)