-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathApp09.java
More file actions
49 lines (40 loc) · 1.36 KB
/
App09.java
File metadata and controls
49 lines (40 loc) · 1.36 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
39
40
41
42
43
44
45
46
47
48
49
// Only interfaces has been implemented since packages wasn't covered in lab
import java.util.Scanner;
public class App09 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Compute GBConverter = new BGBConverter();
System.out.print("Enter number of Giga Bytes (GBs): ");
double gb = scan.nextDouble();
double b = GBConverter.convert(gb);
System.out.println(gb + " GB is equal to " + b + "B");
Compute EuroConverter = new EuroRsConverter();
System.out.print("Enter amount in Euros: ");
double eur = scan.nextDouble();
double rs = EuroConverter.convert(eur);
System.out.println(eur + " Euros is equal to " + rs + " Rupees");
scan.close();
}
}
interface Compute {
double convert(double value);
}
class BGBConverter implements Compute {
public double convert(double gb) {
// 1 GB = 1000*1000*1000 B
return (gb * 1000 * 1000 * 1000);
}
}
class EuroRsConverter implements Compute {
public double convert(double euro) {
// 1 Euro = 90 Rs
return euro * 90.0;
}
}
// Output:
// Enter number of Giga Bytes (GBs): 2.43
// 2.43 GB is equal to 2.43E9B
// Enter amount in Euros: 420
// 420.0 Euros is equal to 37800.0 Rupees
// Enter number of Kilo Bytes (KBs): 396478000
// 3.96478E8 KB is equal to 396.478 GB