Cards

news/2024/9/23 10:25:25/

Java 训练营

数组

长度与遍历数据元素

使用.length 属性获取当前数组的长度, 长度就是数组中元素的个数.

package day05;
​
public class Demo01 {public static void main(String[] args) {/** 数组的长度*/String[] names = {"Tom", "Andy", "Jerry", "Wang", "John"};int l = names.length;System.out.println(l);/** 利用长度遍历数组的元素*///               5for(int i = 0; i<names.length; i++){//i = 0 1 2 3String name = names[i];System.out.println(name);}}
}

存储一副扑克牌

String[] cards=new String[54];
String[] rank={"3","4","5","6","7","8","9","10","J","Q","K","A","2"};
for(int i=0;i<rank.length; i=i+1){cards[i] = "黑桃" + rank[i];cards[13+i] = "红桃" + rank[i];cards[13+13+i] = "梅花" + rank[i];cards[13+13+13+i] = "方块" + rank[i];
}
​
​
周五,上边的扑克牌数组构建方式逻辑理解不了的话就请把cards数组写成下边方式:
String[] cards={ "红桃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","方块2","大王" ,"小王"
};
​
​
​
​

package day05;
​
public class Demo02 {public static void main(String[] args) {/** 创建一副扑克牌*///点数(rank)数组String[] rank = {"3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", "2"};//扑克牌数组, 预留54个数组元素String[] cards = new String[54];//创建扑克牌添加到cards数组中//              13for (int i = 0; i < rank.length; i++) {//value 代表每个点数值String value = rank[i];//创建了 黑桃3 黑桃4 ... 黑桃2//放到扑克牌数组中cards[i] = "黑桃" + value;cards[i + 13] = "红桃" + value;cards[i + 13 + 13] =  "梅花" + value;cards[i + 13 + 13 + 13] = "方块" + value;}cards[52] = "小王";cards[53] = "大王";//检查扑克牌数组的内容for (int i = 0; i < cards.length; i++) {String card = cards[i];System.out.print(card + " ");if ((i + 1) % 13 ==0){System.out.println();}}}
}

随机数

Java 提供了随机数API

使用步骤:

  • import java.util.Random;

  • Random random = new Random();

  • int n = random.nextInt(8); // 8是边界范围, 当写8的时候产生: 0 ~ 7 的随机数

package day05;
​
import java.util.Random;
​
public class Demo03 {public static void main(String[] args) {/** 测试随机数*/Random random = new Random();int n = random.nextInt(8);System.out.println(n);}
}

抽取一张扑克牌

扑克牌的位置0~53: random.nextInt(cards.length)

洗牌

package com.zyq;
import java.util.Arrays;
import java.util.Random;
public class Cards {public static void main(String[] args) {//1.创建一副扑克牌放入cards数组中String[] rank = {"3", "4", "5", "6", "7", "8", "9","10", "J", "Q", "K", "A", "2"};//点数(rank)数组//扑克牌数组, 预留54个数组元素String[] cards = new String[54];//创建扑克牌添加到cards数组中//              13for (int i = 0; i < rank.length; i++) {//value 代表每个点数值String value = rank[i];//创建了 黑桃3 黑桃4 ... 黑桃2//放到扑克牌数组中cards[i] = "黑桃" + value;cards[i + 13] = "红桃" + value;cards[i + 13 + 13] =  "梅花" + value;cards[i + 13 + 13 + 13] = "方块" + value;}cards[52] = "小王";cards[53] = "大王";//2.调用printCards()方法打印cards数组中生成的每张牌printCards(cards);//3.洗牌: 随机从数组中取出一张牌和第i张牌进行交换(i是一个不断减小的数组下标)Random random = new Random();for(int i=cards.length-1; i>=1; i--){int j = random.nextInt(i);String t = cards[i];cards[i] = cards[j];cards[j] = t;}//4.调用printCards()方法打印洗牌后的数组cards中的每张牌printCards(cards);//5.发牌: 将cards数组中的每张牌按顺序取出依次放入wang、lee、zhang三个数组中String[] wang  = new String[17];String[] lee   = new String[17];String[] zhang = new String[17];for (int i=0; i<17; i++){wang[i]  = cards[i*3];lee[i]   = cards[i*3+1];zhang[i] = cards[i*3+2];}//6.显示一下每个人手里的牌System.out.println("老王手上的牌是:"+Arrays.toString(wang));System.out.println("老李手上的牌是:"+Arrays.toString(lee));System.out.println("老张手上的牌是:"+Arrays.toString(zhang));}//打印cards数组中的每张牌private static void printCards(String[] cards) {//检查扑克牌数组的内容for (int i = 0; i < cards.length; i++) {String card = cards[i];System.out.print(card + " ");if ((i + 1) % 13 ==0){System.out.println();}}System.out.println();}}

发牌

 

练习题:


http://www.ppmy.cn/news/390145.html

相关文章

Android MyCard支付

MyCard支付&#xff1a; 1、通过商务联系MyCard进行技术对接&#xff0c;获得最新MyCardPaySDK.jar和接入文档 2、导入MyCardPaySDK.jar 3、根据MyCard提供文档设置AndroidManifest.xml 4、根据自身需求确定是走SDK支付方式还是WebView支付方式 4-1、SDK支付方式 MyCa…

【实战与杂谈】如何复活一个开源网站-游戏王卡片生成器

1. 杂谈 作为一名十多年游戏王玩家&#xff0c;学生时代玩的是PSP和PS2上的游戏&#xff0c;到毕业后使用YGOPRO同步新卡片进行联网对战&#xff0c;再到现在约到线下进行实体卡片游戏。有些卡片价格太贵&#xff0c;因此我们对于这些卡在未购买之前都会自己打印出来暂时游玩…

【RabbitMQ教程】第四章 —— RabbitMQ - 交换机

&#x1f4a7; 【 R a b b i t M Q 教程】第四章—— R a b b i t M Q − 交换机 \color{#FF1493}{【RabbitMQ教程】第四章 —— RabbitMQ - 交换机} 【RabbitMQ教程】第四章——RabbitMQ−交换机&#x1f4a7; &#x1f337; 仰望天空&#xff0c;妳我亦是行人.✨ &…

叶舞大神

hello world &#xff01; 以后我会常来 总目录

为什么会显示未找到服务器,为什么我点开始游戏他显示未找到服务器列表呢 – 手机爱问...

2009-03-08 为什么打开一些网页总是出现找不到 首先将一切带监控的软件的监控全部暂是关闭&#xff0c;将防火墙关闭&#xff0c;如果故障排除&#xff0c;说明与他们有关系&#xff0c;然后你在慢慢找出问题所在&#xff0c;加以解决。如果故障依旧&#xff0c;按下面方法修复…

C# 基础函数内容

public static void BlockCopy(Array src, int srcOffset, Array dst, int dstOffset, int count); Buffer.BlockCopy 参数 src 初始的数组srcoffset 初始数组的偏移量 从0开始&#xff0c;0代表数组[0]dst 接受的数组dstoffset 接受数组的偏移量 从0开始&#xff0c;表示从数…

作为一名SAP从业人员,需要专门学习数学么

最近和SAP成都研究院的开发同事聊到过这个话题&#xff0c;Jerry来说说自己的看法。 先回忆回忆自己本科和研究生学过的数学课程。Jerry的大一生活是在电子科技大学的九里堤校区度过的&#xff0c;本科第一门数学课就是微积分。 因为微积分是计算机专业的学生参加研究生入学考试…

pycharm + django 解决跨域无提示

如何解决pycharm配置跨域不提示? 正常我们需在在如上中间件内配置跨域,但是2019之前的版本配置中间件可能需要全部自己敲出来,不会有提示,那我们不妨换个位置试试 在TEMPLATES模板的最后一行(如上图位置所示)编写跨域的中间件会出现完整提示,如若提示不准确,可多打几个…