扑克牌-练习

来源:互联网 发布:大仓忠义 知乎 编辑:程序博客网 时间:2024/04/29 14:23
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+1System.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]