Java, Algorithm and Data structures
Code-part4/Product.java
Code-part4/Product.java
public
class
Product
{
public
String
name
;
public
int
futuristicness
;
public
int
practicality
;
public
Product
(
String
theName
,
int
theFuturisticness
,
int
thePracticality
)
{
name
=
theName
;
futuristicness
=
theFuturisticness
;
practicality
=
thePracticality
;
}
}
__MACOSX/Code-part4/._Product.java
Code-part4/ChoiceStrategy.java
Code-part4/ChoiceStrategy.java
public
interface
ChoiceStrategy
{
public
Product
chooseBetween
(
Product
a
,
Product
b
);
}
__MACOSX/Code-part4/._ChoiceStrategy.java
Code-part4/MostFuturisticStrategy.java
Code-part4/MostFuturisticStrategy.java
public
class
MostFuturisticStrategy
implements
ChoiceStrategy
{
// Complete this with an implementation of
// chooseBetween(Product a, Product b) which returns
// Product a if its futuristicness is greater than or equal
// to that of b; and returns Product b otherwise
}
__MACOSX/Code-part4/._MostFuturisticStrategy.java
Code-part4/ProductRecommender.java
Code-part4/ProductRecommender.java
public
class
ProductRecommender
{
ChoiceStrategy
myStrategy
;
public
static
void
main
(
String
args
[])
{
ProductRecommender
recommender
=
new
ProductRecommender
();
recommender
.
doExample
();
}
public
void
doExample
()
{
Product
p1
=
new
Product
(
"DeLorean DMC-12"
,
5
,
1
);
Product
p2
=
new
Product
(
"LDV Maxus"
,
1
,
5
);
System
.
out
.
println
(
"Current strategy: choose most futuristic"
);
// Add code here to create a MostFuturisticStrategy and
// print out the chosen vehicle according to this strategy
System
.
out
.
println
(
"Strategy changed: choose most practical"
);
// Add code here to create a MostPracticalStrategy and
// print out the chosen vehicle according to this strategy
}
}
__MACOSX/Code-part4/._ProductRecommender.java
Code-part4/MostPracticalStrategy.java
Code-part4/MostPracticalStrategy.java
public
class
MostPracticalStrategy
implements
ChoiceStrategy
{
// Complete this with an implementation of
// chooseBetween(Product a, Product b) which returns
// Product a if its practicality is greater than or equal
// to that of b; and returns Product b otherwise
}