题目要求
代码
package PokerGame;
import java. util. *;
public class PokerGame {
int m;
int n;
int warning = 0 ;
int poker[ ] [ ] ;
int people[ ] [ ] ;
int poker_number;
String[ ] poker_name = { "A" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "10" , "J" , "Q" , "K" } ;
public PokerGame ( ) {
Scanner reading = new Scanner ( System. in) ;
System. out. print ( "输入扑克牌幅数:" ) ;
m= reading. nextInt ( ) ;
System. out. print ( "输入人数:" ) ;
n= reading. nextInt ( ) ;
poker_number= ( m* 52 ) / n;
if ( ( m* 52 ) % n!= 0 ) {
warning = 1 ;
}
poker= new int [ m] [ 52 ] ;
people= new int [ n] [ ( ( m* 52 ) / n) + 2 ] ;
for ( int i = 0 ; i < n; i++ ) {
Arrays. fill ( people[ i] , - 1 ) ;
}
reading. close ( ) ;
}
void xipai ( ) {
for ( int i = 0 ; i < m ; i++ ) {
for ( int j = 0 ; j < 52 ; j++ ) {
this . poker[ i] [ j] = j;
}
}
for ( int k= 0 ; k< m; k++ ) {
for ( int i= 0 ; i< 52 ; i++ ) {
int index = ( int ) ( Math. random ( ) * 52 ) ;
int temp = poker[ k] [ i] ;
poker[ k] [ i] = poker[ k] [ index] ;
poker[ k] [ index] = temp;
}
}
}
void fapai ( ) {
int a= 0 , b= 0 ;
for ( int i = 0 ; i < m; i++ ) {
for ( int j = 0 ; j < 52 ; j++ ) {
people[ a] [ b] = poker[ i] [ j] ;
a++ ;
if ( a== n) {
b++ ;
a= 0 ;
}
}
}
}
void print ( )
{
int i= 0 ;
while ( i!= this . n) {
ArrayList< Integer> black = new ArrayList < Integer> ( ) ;
ArrayList< Integer> red = new ArrayList < Integer> ( ) ;
ArrayList< Integer> flower = new ArrayList < Integer> ( ) ;
ArrayList< Integer> block = new ArrayList < Integer> ( ) ;
int j = 0 ;
while ( people[ i] [ j] != - 1 ) {
if ( people[ i] [ j] < 13 ) {
black. add ( people[ i] [ j] ) ;
} else if ( people[ i] [ j] < 26 ) {
red. add ( people[ i] [ j] ) ;
} else if ( people[ i] [ j] < 39 ) {
flower. add ( people[ i] [ j] ) ;
} else if ( people[ i] [ j] < 52 ) {
block. add ( people[ i] [ j] ) ;
}
j++ ;
}
black. sort ( Comparator. reverseOrder ( ) ) ;
red. sort ( Comparator. reverseOrder ( ) ) ;
flower. sort ( Comparator. reverseOrder ( ) ) ;
block. sort ( Comparator. reverseOrder ( ) ) ;
System. out. println ( "第" + ( i+ 1 ) + "个人:" ) ;
System. out. print ( "黑桃:" ) ;
for ( int k : black) {
System. out. print ( poker_name[ k% 13 ] + ' ' ) ;
}
System. out. println ( ) ;
System. out. print ( "红心:" ) ;
for ( int k : red) {
System. out. print ( poker_name[ k% 13 ] + ' ' ) ;
}
System. out. println ( ) ;
System. out. print ( "草花:" ) ;
for ( int k : flower) {
System. out. print ( poker_name[ k% 13 ] + ' ' ) ;
}
System. out. println ( ) ;
System. out. print ( "方块:" ) ;
for ( int k : block) {
System. out. print ( poker_name[ k% 13 ] + ' ' ) ;
}
System. out. println ( ) ;
i++ ;
}
}
public static void main ( String[ ] args) {
PokerGame mygame= new PokerGame ( ) ;
mygame. xipai ( ) ;
mygame. fapai ( ) ;
mygame. print ( ) ;
}
}