fix my assignment
Shen_Chen_Assignment_3/Product.java
Shen_Chen_Assignment_3/Product.java
/**
* Created by shen on 2017/4/12.
*/
public
class
Product
{
int
productId
;
String
productName
;
String
category
;
double
price
;
public
Product
()
{
super
();
}
public
Product
(
int
productId
,
String
productName
,
String
category
,
double
price
)
{
super
();
this
.
productId
=
productId
;
this
.
productName
=
productName
;
this
.
category
=
category
;
this
.
price
=
price
;
}
public
String
toString
()
{
return
"Product [productId="
+
productId
+
", productName="
+
productName
+
", category="
+
category
+
", price="
+
price
+
"]"
;
}
public
int
getProductId
()
{
return
productId
;
}
public
void
setProductId
(
int
productId
)
{
this
.
productId
=
productId
;
}
public
String
getProductName
()
{
return
productName
;
}
public
void
setProductName
(
String
productName
)
{
this
.
productName
=
productName
;
}
public
String
getCategory
()
{
return
category
;
}
public
void
setCategory
(
String
category
)
{
this
.
category
=
category
;
}
public
double
getPrice
()
{
return
price
;
}
public
void
setPrice
(
double
price
)
{
this
.
price
=
price
;
}
}
Shen_Chen_Assignment_3/ProductItem.java
Shen_Chen_Assignment_3/ProductItem.java
/**
* Created by shen on 2017/4/12.
*/
public
class
ProductItem
{
Product
product
;
int
count
;
double
totalprice
(){
double
price
=
product
.
getPrice
();
return
price
*
count
;
}
public
ProductItem
()
{
super
();
}
public
ProductItem
(
Product
product
,
int
count
)
{
super
();
this
.
product
=
product
;
this
.
count
=
count
;
}
public
Product
getProduct
()
{
return
product
;
}
public
void
setProduct
(
Product
product
)
{
this
.
product
=
product
;
}
public
int
getCount
()
{
return
count
;
}
public
void
setCount
(
int
count
)
{
this
.
count
=
count
;
}
}
Shen_Chen_Assignment_3/ShoppingCart.java
Shen_Chen_Assignment_3/ShoppingCart.java
/**
* Created by shen on 2017/4/12.
*/
import
java
.
util
.
Collection
;
import
java
.
util
.
Iterator
;
import
java
.
util
.
LinkedHashMap
;
import
java
.
util
.
Map
;
public
class
ShoppingCart
{
private
Map
<
Integer
,
ProductItem
>
map
=
new
LinkedHashMap
<
Integer
,
ProductItem
>
();
public
void
addProduct
(
Product
p
){
int
productId
=
p
.
getProductId
();
if
(
map
.
containsKey
(
productId
)){
ProductItem
productItem
=
map
.
get
(
productId
);
productItem
.
setCount
(
productItem
.
getCount
()
+
1
);
}
else
{
map
.
put
(
productId
,
new
ProductItem
(
p
,
1
));
}
}
public
void
showAll
(){
Collection
<
ProductItem
>
productItems
=
map
.
values
();
Iterator
<
ProductItem
>
iterator
=
productItems
.
iterator
();
while
(
iterator
.
hasNext
()){
ProductItem
productItem
=
iterator
.
next
();
Product
product
=
productItem
.
getProduct
();
System
.
out
.
println
(
"item ID:"
+
product
.
getProductId
()
+
",Item:"
+
product
.
getProductName
()
+
",price:"
+
product
.
getPrice
()
+
",amount:"
+
productItem
.
getCount
()
+
",totalMone:"
+
productItem
.
totalprice
());
}
}
public
boolean
deleteProduct
(
int
productId
){
if
(
map
.
containsKey
(
productId
)){
map
.
remove
(
productId
);
return
true
;
}
return
false
;
}
public
boolean
modifyProduct
(
int
productId
,
int
count
){
if
(
map
.
containsKey
(
productId
)){
if
(
count
>=
1
){
ProductItem
productItem
=
map
.
get
(
productId
);
productItem
.
setCount
(
count
);
return
true
;
}
else
if
(
count
==
0
){
deleteProduct
(
productId
);
return
true
;
}
}
return
false
;
}
public
void
clearCart
(){
map
.
clear
();
}
public
double
totalAllMoney
(){
double
total
=
0
;
Collection
<
ProductItem
>
productItems
=
map
.
values
();
Iterator
<
ProductItem
>
iterator
=
productItems
.
iterator
();
while
(
iterator
.
hasNext
()){
ProductItem
productItem
=
iterator
.
next
();
double
money
=
productItem
.
totalprice
();
total
+=
money
;
}
return
total
;
}
}
Shen_Chen_Assignment_3/TestDrive.java
Shen_Chen_Assignment_3/TestDrive.java
/**
* Created by shen on 2017/4/12.
*/
public
class
TestDrive
{
public
static
void
main
(
String
[]
args
)
{
ShoppingCart
cart
=
new
ShoppingCart
();
Product
p1
=
new
Product
(
101
,
"Mac"
,
"Laptop"
,
4599
);
Product
p2
=
new
Product
(
102
,
"Apple"
,
"Fruit"
,
5.99
);
Product
p3
=
new
Product
(
103
,
"Orange"
,
"Fruit"
,
5.99
);
Product
p4
=
new
Product
(
104
,
"Iphone7"
,
"Cellphone"
,
928
);
//测试买两件商品的情况
cart
.
addProduct
(
p1
);
cart
.
addProduct
(
p2
);
cart
.
addProduct
(
p3
);
cart
.
addProduct
(
p4
);
cart
.
showAll
();
System
.
out
.
println
(
"############"
);
boolean
flag
=
cart
.
deleteProduct
(
p2
.
getProductId
());
if
(
flag
){
System
.
out
.
println
(
"ProductID:"
+
p2
.
getProductId
()
+
"Remove Succeed!"
);
}
else
{
System
.
out
.
println
(
"Remove fail"
);
}
cart
.
showAll
();
System
.
out
.
println
(
"############"
);
boolean
flag2
=
cart
.
modifyProduct
(
p3
.
getProductId
(),
2
);
if
(
flag2
){
System
.
out
.
println
(
"ProductID:"
+
p3
.
getProductId
()
+
"Add Succeed!"
);
}
else
{
System
.
out
.
println
(
"Add fail"
);
}
cart
.
showAll
();
//cart.clearCart();
//cart.showAll();
System
.
out
.
println
(
"totalprice:"
+
cart
.
totalAllMoney
());
}
}