一、模拟斗地主
1.准备一副牌(54张)
List< String> pokers = new ArrayList<>();
//花色、牌点
String [] colors = new String[]{"黑桃", "红桃", "方块", "梅花"};
String [] numbers = new String[]{"A", "02", "03", "04", "05", "06", "07", "08", "09", "10", "J", "Q", "K"};
for(String color:colors){
for(String number: numbers){
String poker = number + color;
pokers.add(poker);
}
}
pokers.add("大王");
pokers.add("小王");
2.洗牌(打乱顺序)
Collections.shuffle(pokers);
3.留三张底牌(地主牌)
List <String> dipai = new ArrayList<>();
Random random = new Random();
for(int i = 0; i < 3; i++){
int index = random.nextInt(pokers.size()-1); //0——53的随机数
String pai = pokers.remove(index);
dipai.add(pai);
}
System.out.println(dipai);
4.发牌(三人)
List <String> wanjia1 = new ArrayList<>();
List <String> wanjia2 = new ArrayList<>();
List <String> wanjia3 = new ArrayList<>();
for(int i = 0; i < pokers.size(); i++){
String pai = pokers.get(i);
int mod = i % 3;
if(mod == 0){
wanjia1.add(pai);
}else if(mod == 1){
wanjia2.add(pai);
}else{
wanjia3.add(pai);
}
}
5.随机地主
int dizhu = random.nextInt(3);
if(dizhu == 0){
wanjia1.addAll(dipai);
System.out.println("地主是:玩家1");
}else if(dizhu == 1){
wanjia2.addAll(dipai);
System.out.println("地主是:玩家2");
}else {
wanjia3.addAll(dipai);
System.out.println("地主是:玩家3");
}
6.手牌排序
Collections.sort(dipai);
Collections.sort(wanjia1);
Collections.sort(wanjia2);
Collections.sort(wanjia3);
7.显示手牌
System.out.println("玩家1:" + wanjia1);
System.out.println("玩家2:" + wanjia2);
System.out.println("玩家3:" + wanjia3);
二、数据库
1.增加:
情况一:总体增加
insert into 表名 value('数据1', '数据2', '数据3')
情况二:个体增加
insert into 表名 ('字段名1','字段名2') values ('数据1','数据2')
2.删除
情况一:全部删除
delete from?表名 where 字段名 = '需要删除的数据'
情况二:批量删除
delete from 表名 where 字段名 in ('该字段里面的数据1', '该字段里面的数据2', ……)
3.修改
update 表名 set 字段 = '修改后的数据' where 字段 = '修改前数据'
4.查询
情况一:全体查询
select * from 表名
情况二:但条件查询
select * from 表名 where 字段 = '需要查询的数据'
三、JDBC的使用
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("");
System.out.println("创建连接");
PreparedStatement preparedStatement = connection.prepareStatement(sql);
ResultSet resultSet = preparedStatement.executeQuery();
while (resultSet.next()){
System.out.println(resultSet.getInt(1));
System.out.println(resultSet.getString(2));
System.out.println(resultSet.getString(3));
}
resultSet.close();
preparedStatement.close();
connection.close();