标题:一个集合的题目,我第四问不会做,求帮忙啊!
取消只看楼主
Kingbox_tang
Rank: 7Rank: 7Rank: 7
来 自:天津师范大学
等 级:黑侠
威 望:3
帖 子:146
专家分:677
注 册:2012-11-27
结帖率:80%
已结贴  问题点数:30 回复次数:3 
一个集合的题目,我第四问不会做,求帮忙啊!
package com.chinasoft.pai;
//编程课题:利用Collection提供的排序,搜索,洗牌方法编写一个程序使其具有以下功能:
//(1)对一副扑克牌洗牌。(2)按照红桃,黑桃,梅花,方块排序。
//(3)按照2或4人分牌,并显示每人的牌。(4)查询是否有一对牌以及他在牌中的位置。
//这个第四问怎么做啊??求解。
import java.util.*;
public class Xipai {
    public static void main(String[] args){
    String[] paiList=new String[]{"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
    String[] huase=new String[]{"红桃","黑桃","梅花","方块"};
    String[] paiz=new String[52];
    String[] shit=new String[52];
    int j=0;
    int r=0;
    int e=0;
    for(int i=0;i<huase.length;i++){
        for(int o=0;o<paiList.length;o++){            
                paiz[r]=huase[i]+"   "+paiList[o];
                ++r;
                }
        }
    for(int i=0;i<paiz.length;i++)    //以下是对上面字符串数组的按花色排序
    {
        if(paiz[i].substring(0, 2).equals("红桃"))
        {
            shit[j]=paiz[i];
            j++;
        }
    }
    for(int i=0;i<paiz.length;i++)
    {
        if(paiz[i].substring(0, 2).equals("黑桃"))
        {
            shit[j]=paiz[i];
            j++;
        }
    }
    for(int i=0;i<paiz.length;i++)
    {
        if(paiz[i].substring(0, 2).equals("方块"))
        {
            shit[j]=paiz[i];
            j++;
        }
    }
    for(int i=0;i<paiz.length;i++)
    {
        if(paiz[i].substring(0, 2).equals("梅花"))
        {
            shit[j]=paiz[i];
            j++;
        }
    }
    for(int k=0;k<shit.length;k++)    //以下是将原来的数组赋值到新的数组中,实现排序的输出
    {
        System.out.print(shit[k]+" ");
    }
    System.out.println();
    System.out.println("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
    List<String> pai= Arrays.asList(shit);    //以下三行是将数组转换成集合,并调用洗排方法洗排
    Collections.shuffle(pai);
    System.out.println("洗牌后的结果为:\n"+pai);
    //以下 三行为分排实现
    System.out.println("$$$$$$$$$$$$$$$$$$$$$$$$$---将排分给二个人---$$$$$$$$$$$$$$$$$$$$$$$$");
        System.out.println("第一个人分到的排:\n"+pai.subList(0,26));
        System.out.println("第二个人分到的排:\n"+pai.subList(26,52));
    //查询是否有相同的排?
    }
    }
搜索更多相关主题的帖子: package public import 
2013-03-18 18:27
Kingbox_tang
Rank: 7Rank: 7Rank: 7
来 自:天津师范大学
等 级:黑侠
威 望:3
帖 子:146
专家分:677
注 册:2012-11-27
得分:0 
怎么没有人回复啊


旨在提高编程水平,学有所用,学有所成,学有所为。
2013-03-19 12:25
Kingbox_tang
Rank: 7Rank: 7Rank: 7
来 自:天津师范大学
等 级:黑侠
威 望:3
帖 子:146
专家分:677
注 册:2012-11-27
得分:0 
楼上写的不错,谢谢了,给分。
 Stack<Pai> stack=new Stack<Pai>();和list2.indexOf(p1)+1)用的太亮了!!!



旨在提高编程水平,学有所用,学有所成,学有所为。
2013-03-19 20:35
Kingbox_tang
Rank: 7Rank: 7Rank: 7
来 自:天津师范大学
等 级:黑侠
威 望:3
帖 子:146
专家分:677
注 册:2012-11-27
得分:0 
Collections.sort(list, new
Comparator<Pai>() {
@Override
public int compare(Pai o1,
Pai o2) {
int x=(o1.getHuase
()+1)*50+(o1.getShuzhi()+1);
int y=(o2.getHuase
()+1)*50+(o2.getShuzhi()+1);
return x-y;
}
});四楼,求解释啊。

旨在提高编程水平,学有所用,学有所成,学有所为。
2013-03-25 17:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-401204-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.043257 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved