要使用Java编写超市购物程序,您需要使用Java数据库编程技术来连接到您的数据库并执行相关的数据库 *** 作。在Java中,您可以使用JDBC(Java数据库连接)API来连接到数据库并执行SQL语句。例如,您可以使用JDBC API来执行以下 *** 作:
创建数据库连接
执行增删改查(CRUD) *** 作
提交或回滚事务
执行存储过程和函数
查询数据库元数据
此外,您还可以使用Java的面向对象编程技术来封装数据库 *** 作,以便更方便地在您的程序中使用。例如,您可以创建一个类来表示超市商品,并定义一些方法来执行商品的增删改查 *** 作。这样,您就可以在程序中通过调用这些方法来简单地完成对数据库的 *** 作,而不需要编写复杂的SQL语句。
1、首先实现表头,是固定数据,写输出语句,java即可实现库存清单的对齐显示。2、其次表格中间,商品数据,采用变量形式,定义变量,找对数据类型,输出所有变量。
3、最后表格尾巴,一部分数据固定,另一部分,商品数据进行数学计算,运算符。
以前学习java又做个实例,挺值得学习的。1.首先我先列出我们所需要的java类结构。
1)Database.java --------- 模拟存储商品的数据库。
2)McBean.java ------------ 商品实体类,一个普通的javabean,里面有商品的基本属性。
3)OrderItemBean.java --- 订单表。
4)ShoppingCar.java ------ 这个就是最主要的购物车,当然比较简单。
5)TestShoppingCar.java --- 这个是测试类。
2.下面贴出具体代码并带关键注释。
---Database.java
public class Database {
/*采用Map存储商品数据,为什么呢?我觉得这个问题你自己需要想下。
* Integer 为Map的key值,McBean为Map的value值。
*/
private static Map<Integer, McBean>data = new HashMap<Integer, McBean>()
public Database() {
McBean bean = new McBean()
bean.setId(1)
bean.setName("地瓜")
bean.setPrice(2.0)
bean.setInstuction("新鲜的地瓜")
data.put(1, bean)//把商品放入Map
bean = new McBean()
bean.setId(2)
bean.setName("土豆")
bean.setPrice(1.2)
bean.setInstuction("又好又大的土豆")
data.put(2, bean)//把商品放入Map
bean = new McBean()
bean.setId(3)
bean.setName("丝瓜")
bean.setPrice(1.5)
bean.setInstuction("本地丝瓜")
data.put(3, bean)//把商品放入Map
}
public void setMcBean(McBean mcBean){
data.put(mcBean.getId(),mcBean)
}
public McBean getMcBean(int nid) {
return data.get(nid)
}
}
---McBean.java
public class McBean {
private int id//商品编号
private String name//商品名
private double price//商品价格
private String instuction//商品说明
public int getId() {
return id
}
public void setId(int id) {
this.id = id
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public double getPrice() {
return price
}
public void setPrice(double price) {
this.price = price
}
public String getInstuction() {
return instuction
}
public void setInstuction(String instuction) {
this.instuction = instuction
}
}
---ShoppingCar.java
public class ShoppingCar {
private double totalPrice// 购物车所有商品总价格
private int totalCount// 购物车所有商品数量
private Map<Integer, OrderItemBean>itemMap// 商品编号与订单项的键值对
public ShoppingCar() {
itemMap = new HashMap<Integer, OrderItemBean>()
}
public void buy(int nid) {
OrderItemBean order = itemMap.get(nid)
McBean mb
if (order == null) {
mb = new Database().getMcBean(nid)
order = new OrderItemBean(mb, 1)
itemMap.put(nid, order)
update(nid, 1)
} else {
order.setCount(order.getCount() + 1)
update(nid, 1)
}
}
public void delete(int nid) {
OrderItemBean delorder = itemMap.remove(nid)
totalCount = totalCount - delorder.getCount()
totalPrice = totalPrice - delorder.getThing().getPrice() * delorder.getCount()
}
public void update(int nid, int count) {
OrderItemBean updorder = itemMap.get(nid)
totalCount = totalCount + count
totalPrice = totalPrice + updorder.getThing().getPrice() * count
}
public void clear() {
itemMap.clear()
totalCount = 0
totalPrice = 0.0
}
public void show() {
DecimalFormat df = new DecimalFormat("¤#.##")
System.out.println("商品编号\t商品名称\t单价\t购买数量\t总价")
Set set = itemMap.keySet()
Iterator it = set.iterator()
while (it.hasNext()) {
OrderItemBean order = itemMap.get(it.next())
System.out.println(order.getThing().getId() + "\t"
+ order.getThing().getName() + "\t"
+ df.format(order.getThing().getPrice()) + "\t" + order.getCount()
+ "\t" + df.format(order.getCount() * order.getThing().getPrice()))
}
System.out.println("合计: 总数量: " + df.format(totalCount) + " 总价格: " + df.format(totalPrice))
System.out.println("**********************************************")
}
}
---OrderItemBean.java
public class OrderItemBean {
private McBean thing//商品的实体
private int count//商品的数量
public OrderItemBean(McBean thing, int count) {
super()
this.thing = thing
this.count = count
}
public McBean getThing() {
return thing
}
public void setThing(McBean thing) {
this.thing = thing
}
public int getCount() {
return count
}
public void setCount(int count) {
this.count = count
}
}
---TestShoppingCar.java
package com.shop
public class TestShoppingCar {
public static void main(String[] args) {
ShoppingCar s = new ShoppingCar()
s.buy(1)//购买商品编号1的商品
s.buy(1)
s.buy(2)
s.buy(3)
s.buy(1)
s.show()//显示购物车的信息
s.delete(1)//删除商品编号为1的商品
s.show()
s.clear()
s.show()
}
}
3.打印输出结果
商品编号 商品名称 单价 购买数量 总价
1 地瓜 ¥2 3 ¥6
2 土豆 ¥1.2 1 ¥1.2
3 丝瓜 ¥1.5 1 ¥1.5
合计: 总数量: ¥5 总价格: ¥8.7
**********************************************
商品编号 商品名称 单价 购买数量 总价
2 土豆 ¥1.2 1 ¥1.2
3 丝瓜 ¥1.5 1 ¥1.5
合计: 总数量: ¥2 总价格: ¥2.7
**********************************************
商品编号 商品名称 单价 购买数量 总价
合计: 总数量: ¥0 总价格: ¥0
**********************************************
4.打字太累了,比较匆忙,但是主要靠你自己领会。哪里不清楚再提出来。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)