A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package z.Collections;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
/*思路:
* 1,买牌,
* 创建两个String类型的数组,分别建立花色数组(黑桃,红桃,梅花,方块) 和(1-k)
*
* 定义一个集合,存放大王小王。
* 使用for嵌套循环,使用string中的concat方法,将花色组合点数组结合起来。装入集合当中去

* 2,洗牌
* 使用Collections.shuffle()将拍随机打乱
* 3,发牌
* 使用for循环遍历所有的牌,遍历的同时,判断x%3=0 则把牌发给第一个人。如果x%3=1,则把牌发给第二个人,如果x%3=2,
* 则把牌发给第三个人。这样就能平均
* 遍历的同时,将牌数总数减一留作底牌,再将其遍历输出
* 4,开牌
* 输出打印三个人各自的牌
*
*
*/

public class DouDiZhu {
          public static void main(String[] args) {
                  //定义花色数组
                  String []s={"黑桃","红桃","梅花","方块"};
                  
//              定义点数数组
                  String []s1={"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
                  
//                  定义一个集合,将牌装入集合当中
                  ArrayList<String> l=new ArrayList<String>();
                  l.add("大王");
                  l.add("小王");
                  
                  
                  
                  for(String s2:s){ //使用加强for,需要遍历的对象为S 当s为黑桃时
                        for(String s3:s1)  {// 遍历点数数组,当s为黑桃时,点数数组为A
                                l.add(s2.concat(s3));//将黑桃和A组合成黑桃A,存入数组当中,以下循环
                        }
                  }
                  
//                  洗牌
                  Collections.shuffle(l)  ;
                  
//                  发牌
                  System.out.println("发牌中");
                  ArrayList<String> 乐乐=new ArrayList<String>();
                  ArrayList<String> 威威=new ArrayList<String>();
                  ArrayList<String> 胖树=new ArrayList<String>();
                  
                  for (int x=0;x<l.size()-3;x++) {
                                if(x%3==0){
                                        乐乐.add(l.get(x));
                                }
                                if(x%3==1){
                                        威威.add(l.get(x));
                                       
                                }
                                if(x%3==2){
                                        胖树.add(l.get(x));
                                }
                        }
                  System.out.println("发牌结束,请叫地主");
                while(true){
                  Scanner sc=new Scanner(System.in);
                  
                  
                  
                  System.out.println("1");
                 
                  System.out.println("2");
                 
                  System.out.println("3");
                w: System.out.println("请叫分");
                  String s7=sc.nextLine();
                  switch(s7){
                  case"1": {
                      System.out.println("叫一分");
                       System.out.println("没有抢到地主,请等候");
                       break;}
                  case"2":{
                          System.out.println("叫两分");
                          System.out.println("没有抢到地主,请等候");
                         break;}
                  case"3":{
                          System.out.println("叫三分");
                          System.out.println("恭喜,您抢到了地主,请看底牌");
                          for (int i = l.size()-3; i < l.size() ;i++) {
                              乐乐.add(l.get(i));
                              System.out.println(l.get(i));
                                   
                          }
               
}
               
                  System.out.println("乐乐的牌"+乐乐);
                  System.out.println("威威的牌"+威威);
                  System.out.println("胖树的牌"+胖树);
                        }
               
                                    
          }
}
}

评分

参与人数 1黑马币 +10 收起 理由
zimi626 + 10 很给力!

查看全部评分

11 个回复

倒序浏览
写的挺不错的,不过还需要努力,很多需要完善。
回复 使用道具 举报
不错不错
回复 使用道具 举报
惊呆中Σ( ° △ °|||)︴
回复 使用道具 举报
看不懂,都是大神啊我才基础班
回复 使用道具 举报
给力,赞一个
回复 使用道具 举报
Ruby 中级黑马 2015-7-8 01:21:48
7#
牛逼 楼主加油
回复 使用道具 举报
楼主好有面子
回复 使用道具 举报
写的很不错...
回复 使用道具 举报
楼主现在是什么级别。。。。。
回复 使用道具 举报
牛神啊,加油啊
回复 使用道具 举报
真厉害,学习多长时间了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马