编写一个发牌程序(Java语言描述)
程序员文章站
2022-07-14 23:18:12
...
import java.util.Random;
public class Cards {
/**
* 初始化标志数组,牌均未发出
*/
private int[][] cards = new int[4][13];
/**
* 花色
*/
private String[] suits;
/**
* 点数
*/
private String[] points;
/**
* 构造器初始化花色、点数
* @param suits
* @param points
*/
public Cards(String[] suits, String[] points) {
super();
this.suits = suits;
this.points = points;
}
public int[][] getCards() {
return cards;
}
public void setCards(int[][] cards) {
this.cards = cards;
}
public String[] getSuits() {
return suits;
}
public void setSuits(String[] suits) {
this.suits = suits;
}
public String[] getPoints() {
return points;
}
public void setPoints(String[] points) {
this.points = points;
}
public void sendCards(int n) {
//记录扑克牌信息
String sendCards = new String("发放的扑克牌为:");
//生成随机数的生成对象
Random randomBuilder = new Random();
//定义发放扑克牌花色、点数
int suit, point;
for (int i = 0; i < n; ) {
suit = randomBuilder.nextInt(4);
point = randomBuilder.nextInt(13);
if (cards[suit][point] == 1) {
continue;
} else {
cards[suit][point] = 1;
//追加新发扑克牌花色
sendCards = sendCards + suits[suit];
//追加点数
sendCards = sendCards + points[point] + " ";
//准备发放下一张牌
i++;
}
}
System.out.println(sendCards.toString());
}
public static void main(String[] args) {
String[] suits = {"红心", "方片", "梅花", "黑桃"};
String[] points = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
Cards cards = new Cards(suits, points);
cards.sendCards(10);
}
}
运行程序,发现在0<=x<=52范围内可以得到随机发牌的准确结果。
提供代码的main方法里是发10张牌,运行示例:
发放的扑克牌为:黑桃8 方片J 红心3 黑桃J 黑桃10 方片10 红心7 黑桃A 黑桃Q 红心A
下一篇: 编写第一个Java程序
推荐阅读
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。
-
java基础------环境变量的配置及编写第一个程序
-
Java入门(一)——编写一个简单的Java程序
-
Java语言入门-第一个HelloWorld程序
-
C语言 编写加密程序,将用户输入的一个英文句子加密为加密字符串,然后输出加密字符串。
-
Java经典编程习题100例:第18例:编写程序,将一个数组中的元素倒排过来。例如原数组为1,2,3,4,5;则倒排后数组中的值
-
使用C语言编写程序,计算N个整数的和(随机输入一个值,例如1到100之间所有整数的和)
-
编写第一个Java程序总结03
-
java学习之路-练习题:编写一个计算速度的程序,距离时间常量。
-
编写一个JAVA程序-遍历日志文件