packagecom.xt.java.base25;importjava.sql.Connection;importjava.sql.ResultSet;importjava.sql.Statement;importjava.util.Scanner;public classMain {
GoodDAO gDao=GoodDAO.getGoodDAO();
Connection conn;
Statement stat;
ResultSet rs;
Scanner scanner=newScanner(System.in);static doublesumMonNum;//显示货物清单, 清单要求包含每种商品的剩余数量。
public voidshowList(){
String sql="select *from autoGoods";try{
conn=gDao.getConnection();
stat=conn.createStatement();
rs=stat.executeQuery(sql);while(rs.next()){
System.out.println("商品编号:"+rs.getString("ID"));
System.out.print("商品名称:"+rs.getString("name"));
System.out.print(" 商品剩余数量:"+rs.getInt("number"));
System.out.print("商品单价:"+rs.getDouble("price")+"\n\n");
}
}catch(Exception e) {
e.printStackTrace();
}finally{
gDao.closeResultSet(rs);
gDao.closeStatement(stat);
gDao.closeConnection(conn);
}
}//选择一个商品编号购买东西
public voidbuyGoods(){
System.out.println("请输入你要购买的商品编号:");int buyID=scanner.nextInt();
System.out.println("请投币:");
sumMonNum=scanner.nextDouble();
System.out.println("您的商品将要出货!!!");
String sql="update autoGoods set number=(number-1) where ID='"+buyID+"'";
String sql1="select price from autoGoods where ID='"+buyID+"'";try{
conn=gDao.getConnection();
stat=conn.createStatement();
rs=stat.executeQuery(sql1);while(rs.next()){
sumMonNum=sumMonNum-rs.getDouble("price");
System.out.println("您的零钱为"+sumMonNum);
}if(stat.executeUpdate(sql)>0){
System.out.println("购买成功!!");
}
}catch(Exception e) {//TODO Auto-generated catch block
e.printStackTrace();
}finally{
gDao.closeResultSet(rs);
gDao.closeStatement(stat);
gDao.closeConnection(conn);
}
}//询问继续的操作
public voidaskOpration(){while(true){
System.out.println("--------请选择您接下来得操作-------");
System.out.println("继续购买-------1");
System.out.println("结束购买,找零-------2");int operationNum=scanner.nextInt();switch(operationNum){case 1:{
System.out.println("请输入你要购买的商品编号:");int buyID=scanner.nextInt();
System.out.println("您的商品将要出货!!!");
String sql="update autoGoods set number=(number-1) where ID='"+buyID+"'";
String sql1="select price from autoGoods where ID='"+buyID+"'";try{
conn=gDao.getConnection();
stat=conn.createStatement();
rs=stat.executeQuery(sql1);while(rs.next()){
sumMonNum=sumMonNum-rs.getDouble("price");if(sumMonNum<0){
System.out.println("余额不足,请重新选择!!");break;
}else{
System.out.println("您的零钱为"+sumMonNum);if(stat.executeUpdate(sql)>0){
System.out.println("购买成功!!");
}
}
}
}catch(Exception e) {//TODO Auto-generated catch block
e.printStackTrace();
}finally{
gDao.closeStatement(stat);
gDao.closeConnection(conn);
}break;
}case 2:{
System.out.println("将要为您找零,谢谢您的使用,期待您的下次光临~");
System.exit(0);
}
}
}
}public static voidmain(String[] args) {
Main main=newMain();while(true){
main.showList();
main.buyGoods();
main.askOpration();
}
}
}