c#-C#中关于集合类的一个问题

问题描述

C#中关于集合类的一个问题

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;

namespace ConsoleApplication1
{
public class Cards
{
Hashtable htCards;
ArrayList randomList;
public Hashtable SetCards() //哈希表添加54张牌
{
htCards = new Hashtable(54, 1);
int i;
string card = "";
for (i = 1; i <= 13; i++)
{

            if (i <= 10)
            {
                card = "红桃" + i.ToString();

            }
            else
            {
                switch (i)
                {
                    case 11: card = "红桃J"; break;
                    case 12: card = "红桃Q"; break;
                    case 13: card = "红桃K"; break;
                }
            }
            htCards.Add(i, card);
        }

        for (i = 14; i <= 26; i++)
        {

            if (i <= 23)
            {
                card = "黑桃" + (i - 13).ToString();

            }
            else
            {
                switch (i)
                {
                    case 24: card = "黑桃J"; break;
                    case 25: card = "黑桃Q"; break;
                    case 26: card = "黑桃K"; break;
                }
            }
            htCards.Add(i, card);
        }

        for (i = 27; i <= 39; i++)
        {
            if (i <= 36)
            {
                card = "方片" + (i - 26).ToString();

            }
            else
            {
                switch (i)
                {
                    case 37: card = "方片J"; break;
                    case 38: card = "方片Q"; break;
                    case 39: card = "方片K"; break;
                }
            }
            htCards.Add(i, card);
        }

        for (i = 40; i <= 52; i++)
        {
            if (i <= 49)
            {
                card = "梅花" + (i - 39).ToString();

            }
            else
            {
                switch (i)
                {
                    case 50: card = "梅花J"; break;
                    case 51: card = "梅花Q"; break;
                    case 52: card = "梅花K"; break;
                }
            }
            htCards.Add(i, card);
        }

        htCards.Add(53, "小王");
        htCards.Add(54, "大王");
        return htCards;
    }
    public ArrayList SendCards()   //发牌,生成13个不重复的随机数
    {
        randomList = new ArrayList();
        Random r = new Random();
        for (int j = 0; j < 13; j++)
        {
            int index;
            index = r.Next(1, 54);
            htCards.Remove(index);
            while (!htCards.Contains (index)||randomList.Contains(index))
            {
                index = r.Next(1, 54);
            }
            randomList.Add(index);

        }
        return randomList;

    }

}
class Program
{
    static void Main(string[] args)
    {
        Cards cards = new Cards();
        Hashtable hxCards = cards.SetCards();

        int count = 0;
        for (int i = 0; i < 2; i++)
        {
             ArrayList indexList = cards.SendCards();
            Console.WriteLine("第{0}位玩家的牌已发,如下:",i+1);
            foreach (int index in indexList)
            {
                if (count % 5 == 0)
                {
                    Console.WriteLine();

                }
                count++;
                Console.Write("{0}t", hxCards[index]);

            }
            Console.WriteLine();
        }

        Console.ReadLine();
    }

}

}
程序用VS运行出来各种问题!!!各位大神帮我看看。

解决方案

hxCards[index]有空白项,调试下。另外几行代码就能写好的代码,你能写这么多,佩服。

解决方案二:

如果你采纳了回答,我可以从头写一个给你。

时间: 2024-09-22 13:06:47

c#-C#中关于集合类的一个问题的相关文章

Objective-C中的集合类

       下面详细的介绍Objective-C中的集合类以及每个集合类的用法,学过其他面向对象编程语言的小伙伴们看到OC的集合类会有种莫名的亲切感,理解起来问题不大,可以类比Java中的集合类去学习. 在Objective-C中的集合类中主要包括不可变的数组--NSArray,  可变的数组--NSMutableArray,   不可变的字典--NSDictionary,    可变的字典--NSMutableDictionary, 不可变的集合--NSSet,可变的集合--NSMutabl

java中的集合类 以及 迭代器

  /* java中的集合类   实现了 Connection接口 ArrayList这个集合类  java.util.*这个包的类  toArray()方法可以返回一个 Object类型的对象数组     我们部队 ArratList进行泛型规范那么就会警告 但是还是可以运行的 这是因为JDK1.5中引进了泛型,但是你的ArrayList却没有采用,所有会有安全问题,比如你可以把一个别的对象放入al里面去,但是取出来的时候可能就会出错了,所以为了安全,在JDK1.5中引进了泛型这个概念. 你可

jsp-JSP中编写JS代码过程中,调用了一个JSP表达式,发现一个问题,麻烦各位大神解答

问题描述 JSP中编写JS代码过程中,调用了一个JSP表达式,发现一个问题,麻烦各位大神解答 背景: 楼主使用Myelipse新建了一个Web项目,在编写一个JSP文件的时候遇到一个问题,首先是使用了img,并且写了一个事件,代码如下: <imgclass="poke" src="poke/back.jpg" title="hit" id="play_id_3" onClick="change_pic()&qu

在asp.cs的页面中 如何弹出一个模态窗口 然后一秒后自动关闭 ()

问题描述 在asp.cs的页面中 如何弹出一个模态窗口 然后一秒后自动关闭 () 如题,在asp.cs的页面中 如何弹出一个模态窗口 然后一秒后自动关闭 (求高手指教) 解决方案 http://www.3lian.com/edu/2013/05-22/71072.html

jpanel-java开发中我设置了一个JPanel里面装了图片作为背景 但是为什么没有显示出来背景图片

问题描述 java开发中我设置了一个JPanel里面装了图片作为背景 但是为什么没有显示出来背景图片 此段代码中什么地方出错了?为什么我的ip,h还有rs,drgl这三个地方的背景图片 无法显示或者切换? p4=new JPanel(new BorderLayout()); p2=new JPanel(new CardLayout()); //处理p2,p3,p4 p2_lab1=new JLabel(new ImageIcon("image/21.jpg")); p2_lab2=ne

博奥新能求救:html中的DIV嵌套一个DIV,怎么让里面的DIV剧中?

问题描述 博奥新能求救:html中的DIV嵌套一个DIV,怎么让里面的DIV剧中? 博奥新能在写代码的时候发现这个问题一直没办法解决,IE和360都不能,所以博奥新能不知道哪里出了问题,请大神帮忙解决一下.谢谢.. 解决方案 div剧中css代码div上下左右剧中 解决方案二: 可以尝试一下: 1.对需要水平居中的DIV层添加以下属性: margin-left: auto; margin-right: auto; 2.主要的样式定义如下: body {TEXT-ALIGN: center;} #

android-在一个连接选择器中似乎不能解决一个语法错误

问题描述 在一个连接选择器中似乎不能解决一个语法错误 大家好,我在一行代码中得到了一个语法错误,而且我找不到错误在哪.我学android的时间不长但是我很确定我是完全按照例子来的但是仍然不能避免这个错误.代码是写一个连接选择器,所以我可以用一段代码来写一个edittext然后用一个流媒体协议发送一个图片给哪个数字.我已经在我得到错误的地方做了标记,但是因为这个错误没有解决,我仍然不能得到我想要的效果. break;case R.id.contact: Intent k = new Intent(

ios开发中uiscrollview里嵌套一个uiscrollview

问题描述 ios开发中uiscrollview里嵌套一个uiscrollview ios开发中uiscrollview里嵌套一个uiscrollview 其中小得scrollview是一个用于放滚动图片的.大得scrollview是用于整个view滚动的..其中还有很多别的view譬如imageview等,现在遇到这样的问题:我滚动大得scrollview,放滚动图片的scroll不跟着动,就一直悬在固定的位置.求解 急呀 解决方案 如果小的uiscrollview是作为subview添加到外部

scanner-java中如果键盘输入一个字符串,这个字符串为一个空格……

问题描述 java中如果键盘输入一个字符串,这个字符串为一个空格-- java中如果键盘输入一个字符串,这个字符串为一个空格,则用toCharArray()方法,将其转换为一个字符数组,这个数组里面是什么内容?import java.util.Scanner;public class Main { public static void main(String[] args){ System.out.println(""请输入一串字符:""); Scanner in=