Day04 第二个小程序:斗地主,以及数组的概念
2019-08-08 20:47
120 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/AKSLUDGFH/article/details/98884824
扑克牌的基本原理代码
package com.zhongruan.demo; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Random; public class Dome1 { public static void main(String[] args){ /* * 功能: * 1.准备一幅牌(54张) * 2.洗牌(打乱牌序) * 3.发牌(三个人) * 4.留三张底牌 * 5.每个人拿到牌后,对牌进行排序 */ //1.准备一幅牌(54张) List<String> poker = new ArrayList<>(); String[] color = {"黑桃", "红桃", "方片", "梅花"}; String[] nums = {"2", "A", "K", "Q", "J", "10", "9", "8", "7", "6", "5", "4", "3"}; for (String c : color){ for(String num : nums){ String p = c + num; poker.add(p); } } poker.add("大王"); poker.add("小王"); //2.洗牌 Collections.shuffle(poker); //3.先留底牌 List<String> dipai = new ArrayList<>(); Random random = new Random(); for (int i = 0; i < 3; i++){ int index = random.nextInt(poker.size()); String pai = poker.remove(index); dipai.add(pai); } System.out.println(dipai); //4.发牌 List<String> you = new ArrayList<>(); List<String> me = new ArrayList<>(); List<String> he = new ArrayList<>(); for (int i = 0; i < poker.size(); i++){ String pai = poker.get(i); int j = i % 3; if(j == 0){ you.add(pai); }else if(j == 1){ me.add(pai); }else{ he.add(pai); } } System.out.println(you); System.out.println(me); System.out.println(he); } }
Java三大特性
继承,多态,封装,抽象
数组
容器的概念
是将多个数据存储到一起,每个数据称之为容器的元素
//水杯,衣柜,教室
数组
就是用来存储固定长度的容器,并且保障所有元素的类型统一
数组的定义方式
1.静态绑定
2.动态绑定
思考
面向对象, 面向过程
java,c#; c语言
-
数组是不是对象吗
高级一点:现实世界的抽象,有一些属性(实例域),有一些行为(方法) 不是某类具体的事物
低级一点:内存中的一块空间,里面存放数据 是对象
数组就是对象
-
数组是什么类型(强类型,弱类型)
类型分两种
1. 基本数据类型: byte,int,short,long,boolean,double,float, char
2. 引用数据类型: String
jvm(java虚拟机) 创建数组类型[I,于八大基本数据类型一样,是我们的内建类型
- 数组的继承
Object是所有类的超类
特例:
数组类型可以向上转型为Object[],但是真实父类其实是Object。
相关文章推荐
- 字符、字节、编码的概念解析和程序实现以及几种误解解惑
- 指针函数,函数指针和函数指针数组的概念详解以及实例应用说明
- 通过编写一个程序,来说明字符数组 以及操作字符数组的函数的用法。该程序读入一组文本行,并把最长的文本行打印出来。
- 数组的应用以及建立临时容器存储程序运行产生的数据-作者:逝秋
- Strom程序的并发机制,配置并行度(代码实现)、动态改变并行度,local or shuffle分组,分组的概念以及分组类型
- 数组练习以及运用cout测试程序
- 方法调用和数组概念以及for each
- day10 反射创建数组 线程的基本概念 线程的编写和启动方式 线程的运行状态以及状态转换方法 线程的调度和优先级设置
- 数组名和数组首个元素之间的关系,以及他们之间的概念混同的错误
- java小程序——给数组随机赋值,查找输入的值以及冒泡和选择排序数组并输出
- 编写一个程序,最多将10个donation值读入到一个double数组中。程序遇到非数字输入时将结束输入,并报告这些数字的平均值以及数组中有多少个数字大于平均值。
- Android For JNI(一)——JNI的概念以及C语言开发工具dev-c++,编写你的第一个C语言程序,使用C启动JAVA程序
- java--封装一类Java对象,用户从输入对话框输入两个日期,程序将判断两个日期的大小关系(比如输出:您输入的第二个日期大于第一个日期)以及两个日期之间的间隔天数(比如输出:2006年6月6日和
- Java学习笔记 Day04 (for循环嵌套、函数以及函数重载、数组)
- 数组指针 原理以及三个经典C程序的解惑 C知识回顾第二天
- 小程序(九)找出数组中出现最多的数字以及它的出现次数
- 数组的概念,定义格式,取值,赋值以及数组的初始化
- 编写一个程序,创建两个8元素的double数组,第一个数组有用户键入8个值,第二个为第一个的累积,例如,第二个数组的第四个元素应该等于第一个数组的前四个元素之和
- 大端模式和小端模式的概念以及使用程序来辨别
- 黑马程序—java概念以及循环,函数小结