手记

java第三季课程扑克游戏程序(一个主函数写下来,需要改进)

package immo.there.pk;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Scanner;

public class Test12 {
        /**
         * map集合,取出TestPerple中value值当新的map集合中的Key值
         * */
        public static void main(String[] args) {
        //1、洗牌
            List<String> list=new ArrayList<String>();
            list.add("黑桃A");
            list.add("黑桃2");
            list.add("黑桃3");
            list.add("黑桃4");
            list.add("黑桃5");
            list.add("黑桃6");//把所有的都添加进集合中
            System.out.println("集合元素中的元素为:"+list);

            //随机删除集合中的元素在插到集合最后位置
            for(int i=0;i<list.size();i++){
            System.out.println("集合list的元素个数为:"+list.size());
            int sum=(int) (Math.random()*list.size());
            System.out.println("随机取出的数为:"+sum);
            String newstr=list.remove(sum);
            System.out.println("取出的元素为:"+newstr);
            System.out.println("取出一个元素后,剩余元素为:"+list);
            list.add(list.size(), newstr);//把取出的元素添加到集合最后的位置
            System.out.println("取出元素后,插入到集合最后位置,集合元素为:"+list);
            }
            System.out.println("洗牌后集合中元素顺序为:"+list);
            System.out.println("---------------------------------------------");
        //2、输入玩家信息
            Scanner sc=new Scanner(System.in);
            Map<Integer,String> map=new HashMap<Integer,String>();
            String[]  arr=new String[2];
            for(int i=0;i<2;i++){
            System.out.println("输入id");
            int id=sc.nextInt();
            System.out.println("输入name");
            String name=sc.next();
            map.put(id, name);
            arr[i]=name;
            }
            System.out.println(arr[0]+":"+arr[1]);

        System.out.println("---------------------------------------------");
            //发牌,删除list集合中的牌放到玩家arr1和arr2集合中
            List arr1=new ArrayList();
            List arr2=new ArrayList();
            arr1.add(list.remove((int) (Math.random()*list.size())));
            arr2.add(list.remove((int) (Math.random()*list.size())));
            arr1.add(list.remove((int) (Math.random()*list.size())));
            arr2.add(list.remove((int) (Math.random()*list.size())));
            System.out.println(arr[0]+"的牌为:"+arr1);
            System.out.println(arr[1]+"的牌为:"+arr2);
            System.out.println("---------------------------------------------");
        //比较大小
            for(int i=0;i<arr1.size();i++){
            String arr11=(String) arr1.remove(i);
            String arr12=(String) arr2.remove(i);
            String arr21=(String) arr1.remove(i);
            String arr22=(String) arr2.remove(i);
            //使用if..else进行断送.compareTo来比较字符的asc码大小
            if(arr11.compareTo(arr21)>0){
                System.out.println(arr[0]+":"+"胜利了");
                break;
            }else if(arr11.compareTo(arr21)<0){
                System.out.println(arr[1]+":"+"胜利了");
                break;
            }
            if(arr12.compareTo(arr22)>0){
                System.out.println(arr[0]+":"+"胜利了");
                break;
            }else if(arr12.compareTo(arr22)<0){
                System.out.println(arr[1]+":"+"胜利了");
                break;
            }else{
                System.out.println("平局");
            }
            }
            System.out.println("游戏结束");
        }
}
2人推荐
随时随地看视频
慕课网APP