首先sb数组定义错了 public pai sb[];应该是public pai[] sb;后面sb=new pai[108];//牌堆中有108张牌这句只是定义了sb数组,对于数组中的元素,比如sb[0]都没有定义要在下面的for循环中定义sb[i] = new pai();另外13种大小4种花色 应该是i%13 i%4看控制台你认识的哪一行报空指针异常了,双击断点,然后右键你的程序Debug as-Java Application调试一下。dates[0],这个你都没给他赋值,你怎么能输出它的值呢?java.lang.nullpointerexception是空指针异常,一般情况下,你改变或者输出未赋值的变量,就会报这个异常。