重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
import java.util.Scanner;
目前创新互联建站已为上1000家的企业提供了网站建设、域名、网络空间、网站托管运营、企业网站设计、金秀网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
/**
*
* @author 12052010
* @Date December 05,2014
*
*/
public class Film {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int [][] num = new int[2][10];
int fg1,fg2;//标志顾客选择 的座位fg1:排数 fg2:列数
for(int i=0;inum.length;i++){
for(int j=0;jnum[i].length;j++)
num[i][j]=0;//赋初值,所有座位没有被预定
}
randomBook(num);
System.out.print("\n-----------电影院座位订票情况(0:还没被预定 1: 已经被预定)------------");
for(int i=0;inum.length;i++){
System.out.println("");
for(int j=0;jnum[i].length;j++)
System.out.print(" "+num[i][j]);
}
/**
* 顾客输进的排数必须符合0 or 1
*/
do{
System.out.print("\nInput fg1: ");
fg1=input.nextInt();
} while(fg10||fg12);
/**
* 顾客输进的列数必须符合 0-9
*/
do{
System.out.print("Input fg2: ");
fg2=input.nextInt();
} while(fg20||fg29);
if(num[fg1][fg2]==1){
System.out.print("\n已经被人订了,不好意思");
}else{
System.out.print("\n你要订的座位是: "+ fg1+"排 "+ fg2+"列, 票价:");
if(fg1==1)
System.out.print("10000文");
else
System.out.print("20000文");
}
}
/**
* 随即设置电影院的座位被预定
*/
public static void randomBook(int[][] num){
for(int i=0;inum.length;i++){
for(int j=0;jnum[i].length;j++){
//随机设置
num[i][j]=(int)(Math.random()*2);
}
}
}
}
你是说这个意思吗: 比如让周六周日时是不可选中的。
那就设置个定时器就行了,让定时器在那个时间点到来的时候执行一段代码。就可以完成你要的功能了。定时器使用java JDK自带的TimerTask。具体的使用方式自己查吧。
物车的逻辑业务的实现(MyCartBO.java),能够满足用户的添加,删除,修改,清空,查看购物车的信息!
ConnDB.java(这只是一个得到数据库连接和类)
01 //连接数据库
02 package cn.fqfx.model;
03
04 import java.sql.*;
05
06 public class ConnDB
07 {
08 //定义一个连接
09 private Connection ct = null;
10
11 //得到连接
12 public Connection getConn()
13 {
14 try {
15 //加载驱动
16 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
17 //得到连接
18 ct = DriverManager.getConnection
19 ("jdbc:microsoft:sqlserver://localhost:1433;databaseName=whdb2","sa","sa");
20 } catch (Exception e) {
21 e.printStackTrace();
22 // TODO: handle exception
23 }
24 return ct;
25 }
26 }
GoodsBean.java(这个文件主要用来保存从数据库的goods表中取得的信息)
01 //这是一个与Goods表对应的java bean
02 //表的信息可以保存在这里面
03 package cn.fqfx.model;
04
05 public class GoodsBean
06 {
07 //分别与goods表的各个字段相对应
08 private int goodsId = 0;
09 private String goodsName = "";
10 private String goodsInfo = "";
11 private String goodsPlace = "";
12
13
14 public int getGoodsId() {
15 return goodsId;
16 }
17 public void setGoodsId(int goodsId) {
18 this.goodsId = goodsId;
19 }
20
21
22 public String getGoodsName() {
23 return goodsName;
24 }
25 public void setGoodsName(String goodsName) {
26 this.goodsName = goodsName;
27 }
28
29
30 public String getGoodsInfo() {
31 return goodsInfo;
32 }
33 public void setGoodsInfo(String goodsInfo) {
34 this.goodsInfo = goodsInfo;
35 }
36
37
38 public String getGoodsPlace() {
39 return goodsPlace;
40 }
41 public void setGoodsPlace(String goodsPlace) {
42 this.goodsPlace = goodsPlace;
43 }
44 }
MyCartBO.java(这个就是购物车,主要以HashMap实现存放用户想买的商品id,商品数量.然后,通过方法的调用把购物车中的信息返回到界面让用户看)
001 //这是一个业务对象,相当于一个购物车!!
002 //--使用说明:这个购物车最好是在session中使用,因为一个用户一辆购物车,这样东西才不会一直丢
003 package cn.fqfx.model;
004
005 import java.sql.*;
006 import java.util.*;
007
008 public class MyCartBO
009 {
010 //定义几个数据库的连接
011 private Connection ct = null;
012 private PreparedStatement ps = null;
013 private ResultSet rs = null;
014
015 //定义一个HashMap充当购物车,第一个用来存放goodsId,值就是goods的数量
016 HashMapString, String hm = new HashMapString, String();
017
018 //当用户想购买的时候,就加入 购物车里面
019 public void addGoods(String goodsId, String goodsNumber)
020 {
021 hm.put(goodsId, goodsNumber);
022 }
023
024 //当用户不想要东西的时候,就把它删除
025 public void delGoods(String goodsId)
026 {
027 hm.remove(goodsId);
028 }
029
030 //当用户什么也不想要的时候,就清空它
031 public void clearGoods()
032 {
033 hm.clear();
034 }
035
036 //当用户想更换物品的数量的时候,就更新一下
037 public void upGoods(String goodsId, String newNumber)
038 {
039 //还是用加入物品的方法,因为会自动替换掉它,如果货物名字想换,那说明用户想删除了
040 hm.put(goodsId, newNumber);
041 }
042
043 //得到单个物品的数量,要用的话把它转成int型再使用
044 public String getGoodsNumberByGoodsId(String goodsId)
045 {
046 return hm.get(goodsId);
047 }
048
049 //把购物车的东西全部取出来,放入ArrayList里面
050 public ArrayListGoodsBean getAllGoods()
051 {
052 //要知道这个ArrayList是用来放GoodsBean,因为GoodsBean与表相对应,所以可以保存物品的信息
053 ArrayListGoodsBean al = new ArrayListGoodsBean();
054 try {
055 //得到连接
056 ct = new ConnDB().getConn();
057
058 //想一个sql语句,主要是取得goodsId,就可以全部取出来给外面的使用
059 String sql = "select * from goods where goodsId in (";
060 IteratorString it = hm.keySet().iterator();
061 while(it.hasNext())
062 {
063 //把goodsId取出来
064 String goodsId = it.next();
065 if(it.hasNext()){
066 sql += goodsId+",";
067 }else{
068 sql += goodsId+")";
069 }
070 }
071
072 //创建ps,上面把sql语句组织好
073 ps = ct.prepareStatement(sql);
074
075 //执行
076 rs = ps.executeQuery();
077
078 //取出来,放在GoodsBean,再把GoodsBean一个个放入ArrayList中,显示的页面就可以调用了
079 while(rs.next())
080 {
081 GoodsBean gb = new GoodsBean();
082 gb.setGoodsId(rs.getInt(1));
083 gb.setGoodsName(rs.getString(2));
084 gb.setGoodsInfo(rs.getString(3));
085 gb.setGoodsPlace(rs.getString(4));
086
087 //把gb放入al,相当于保存了从数据库中获得的数据
088 al.add(gb);
089 }
090 } catch (Exception e) {
091 e.printStackTrace();
092 // TODO: handle exception
093 }finally{
094 this.closeDBResource();
095 }
096 return al;
097 }
098
099 //关闭数据库资源
100 public void closeDBResource()
101 {
102 try {
103 if(rs != null){
104 rs.close();
105 rs = null;
106 }
107 } catch (Exception e2) {
108 e2.printStackTrace();
109 // TODO: handle exception
110 }
111 try {
112 if(ps != null){
113 ps.close();
114 ps = null;
115 }
116 } catch (Exception e2) {
117 e2.printStackTrace();
118 // TODO: handle exception
119 }
120 try {
121 if(ct != null){
122 ct.close();
123 ct= null;
124 }
125 } catch (Exception e2) {
126 e2.printStackTrace();
127 // TODO: handle exception
128 }
129 }
130 }