模拟从一副扑克中选择一张牌,程序应显示牌的大小以及花色。

解决方案 »

  1.   

    产生一个随机数从1-541-52%4  余数为四个花数  1-52/4+1是牌的大小
    如果有必要,一个boolean[54]标志牌是否被取出
      

  2.   


    import java.util.Random;public class Read {
    public static void main(String[] args) { System.out.println(getPai());
    } private static String getPai() {
    Random r = new Random();
    int i = r.nextInt(54);
    return getName(i);
    } private static String getName(int i) {
    if (i == 53) {
    return "小王";
    } else if (i == 54) {
    return "大王";
    }
    int p = i % 13;
    int c = (i - 1) / 13;
    return getColor(c) + getPoint(p);
    } private static String getColor(int c) {
    String color = "";
    switch (c) {
    case 0:
    color = "方块";
    break;
    case 1:
    color = "梅花";
    break;
    case 2:
    color = "黑桃";
    break;
    default:
    color = "红桃";
    break;
    }
    return color;
    } private static String getPoint(int p) {
    String point = "";
    if (p == 0) {
    point = "K";
    } else if (p < 11) {
    point = String.valueOf(p);
    } else if (p == 11) {
    point = "J";
    } else {
    point = "Q";
    }
    return point;
    }
    }