现在的位置: 首页 > 综合 > 正文

扑克牌-练习

2013年10月23日 ⁄ 综合 ⁄ 共 2076字 ⁄ 字号 评论关闭
package test; 
public class Test8_Init {
	public static void main(String[] args) {
		String[] str1 ={"方块A","梅花A","红心A","黑桃A","方块k","梅花k","红心k","黑桃k"};
		String[] str2 ={"甲","乙","丙","丁"};
		int i =0;
		while(i<8){
			String card = str1[i];
			String person = str2[i++%4];
			System.out.print(person+":"+card+"  "); 
			if( i%4 == 0){ System.out.println(); }
		} 
	}

}

执行的结果:
甲:方块A  乙:梅花A  丙:红心A  丁:黑桃A  
甲:方块k  乙:梅花k  丙:红心k  丁:黑桃k  

改进:

package test;

import java.util.ArrayList;
import java.util.List;

public class Test8 {
	public static void main(String[] args) {
		String[] s1={"♦","♣","♥","♠"};
		String[] s2={"2","3","4","5","6","7","8","9","10","J","Q","K","A"};
		String str;
	    List cards= new ArrayList();;// str.split("[,,]"); 
	    //将点数组合成52张扑克牌
		for(int j=0; j<=12; j++){
			for(int i=0; i<4; i++){ 
				str = s1[i]+s2[j]; 
				cards.add(str);   //将组合的字符串添加到List集合中
			} 
		}   
		//System.out.println(cards);  //输出所有的扑克牌 
        String[] str2 ={"甲",  //东边
                        "乙",  //南边
                        "丙",  //西边
                        "丁"   //北边 
                        };
		int i=0;
		while(i<cards.size()){  
			int k=i;  //避免i++,影响k的取值为i+1
			System.out.print(str2[i++%4]+":"+cards.get(k)+"   ");
			if( i%4 == 0){ System.out.println(); }
		} 
	}
}

执行结果:
甲:♦2   乙:♣2   丙:♥2   丁:♠2   
甲:♦3   乙:♣3   丙:♥3   丁:♠3   
甲:♦4   乙:♣4   丙:♥4   丁:♠4   
甲:♦5   乙:♣5   丙:♥5   丁:♠5   
甲:♦6   乙:♣6   丙:♥6   丁:♠6   
甲:♦7   乙:♣7   丙:♥7   丁:♠7   
甲:♦8   乙:♣8   丙:♥8   丁:♠8   
甲:♦9   乙:♣9   丙:♥9   丁:♠9   
甲:♦10  乙:♣10  丙:♥10  丁:♠10   
甲:♦J   乙:♣J   丙:♥J   丁:♠J   
甲:♦Q   乙:♣Q   丙:♥Q   丁:♠Q   
甲:♦K   乙:♣K   丙:♥K   丁:♠K   
甲:♦A   乙:♣A   丙:♥A   丁:♠A 

再改进:

package test;

import java.util.ArrayList;
import java.util.List;

public class Test8_csdn {
	public static void main(String[] args) {
        String[] s1 = { "♦", "♣", "♥", "♠" };
        String[] s2 = { "2", "3", "4", "5", "6",
        				"7", "8", "9", "10", "J", 
        				"Q", "K", "A" };
        String str;
        //List cards = new ArrayList();
        /**
         * 他现在都在一个list中了 在第一个for的结束给他拆开就好了
         * */
        List p = new ArrayList(); 
        // 将点数组合成52张扑克牌
        for (int i = 0; i < 4; i++) {
            List cards = new ArrayList();
            for (int j = 0; j < 13; j++) {
                str = s1[i] + s2[j];
                cards.add(str); // 将组合的字符串添加到List集合中
            }
            p.add(cards);
        } 
        String[] str2 = { "甲",   "乙",   "丙",    "丁"    }; 
        for(int i = 0;i<p.size();i++){
            System.out.println(str2[i]+p.get(i));
        }
    }
}

执行结果:
甲[♦2, ♦3, ♦4, ♦5, ♦6, ♦7, ♦8, ♦9, ♦10, ♦J, ♦Q, ♦K, ♦A]
乙[♣2, ♣3, ♣4, ♣5, ♣6, ♣7, ♣8, ♣9, ♣10, ♣J, ♣Q, ♣K, ♣A]
丙[♥2, ♥3, ♥4, ♥5, ♥6, ♥7, ♥8, ♥9, ♥10, ♥J, ♥Q, ♥K, ♥A]
丁[♠2, ♠3, ♠4, ♠5, ♠6, ♠7, ♠8, ♠9, ♠10, ♠J, ♠Q, ♠K, ♠A]

抱歉!评论已关闭.