阅读 137

Java学习之switch循环案例——自动抽牌

Java学习之switch循环案例——自动抽牌

前期,我们对switch循环有了一定的了解,那么在switch循环中能否使用String对象呢?其实,是可以使用的,但是要Java SE7之后的版本才能运行。


我们来看下面这个案例,系统自动生成某张牌:从一副牌中任意抽取一张,并打印出抽取的牌。


首先,我们的分析一下:

(1)一副牌有52张(除去大小王),4种花色(黑桃、红桃、方块和梅花),每种花色有13张。

(2)我们可以将52张牌进行编号:0~51。我们规定:0-12为黑桃,13-25为红桃,26-38为梅花,39-51为方块。

(3)我们可以使用整数的除法运算来确定是哪一种花色,用求余数运算确定是哪一张。原理是我们假设抽中的数是n,计算n/13的结果,如果商为0,则牌的花色为黑桃;如果商为1,则牌的花色为红桃;如果商为2,则牌的花色为方块;如果商为3,则牌的花色为梅花。最后再计算n%13即可得到是第几张牌。

举个例子:抽中的数是33,33/13=2,33%13=7,所以抽中的牌是方块7。


案例效果图:


案例代码:


public class PickCards {

public static void main(String[] args) {

int card = (int) (Math.random()*52);

String suit = "", rank = "";

switch(card / 13) {

case 0:suit = "黑桃";break;

case 1:suit = "红桃";break;

case 2:suit = "方块";break;

case 3:suit = "梅花";break;

}

switch(card % 13) {

case 0:suit = "A";break;

case 10:suit = "J";break;

case 11:suit = "Q";break;

case 12:suit = "K";break;

default:rank = ""+(card % 13 + 1);

}

System.out.println("您抽取的牌是:" + suit + "  " + rank);

}

}

————————————————

版权声明:本文为CSDN博主「崇志广勤」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/weixin_47062907/article/details/114730347


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐