forked from Apress/functional-interfaces-in-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSect5_Ex1.java
More file actions
38 lines (35 loc) · 1.37 KB
/
Sect5_Ex1.java
File metadata and controls
38 lines (35 loc) · 1.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package chapter1;
public class Sect5_Ex1
{
public static void main(String[] args)
{
ReceiptPrinter simpleReceiptPrinter = new ReceiptPrinter() {
@Override
public void print(Receipt receipt)
{
System.out.println("\nItem :\t" + receipt.item);
System.out.println("Price:\t" + receipt.price);
System.out.println("Disc:\t" + receipt.discount);
System.out.println("Tax:\t" + receipt.tax);
System.out.println("Total:\t" + computeTotal(receipt));
}
};
ReceiptPrinter exemptReceiptPrinter = new ReceiptPrinter() {
@Override
public void print(Receipt receipt)
{
System.out.println("\nItem :\t" + receipt.item);
System.out.println("Price:\t" + receipt.price);
System.out.println("Disc:\t" + receipt.discount);
System.out.println("Total:\t" + computeTotal(receipt));
}
public double computeTotal(Receipt receipt)
{
return receipt.price - (receipt.price * receipt.discount);
}
};
Receipt receipt = new Receipt("shirt", 20.00, 0.05, 0.07);
simpleReceiptPrinter.print(receipt);
exemptReceiptPrinter.print(receipt);
}
}