有趣java_有趣的Java
斗地主小游戏
package DouDiZhu;
import java.util.ArrayList;
import java.util.Collections;
/*
* 斗地主案例:
* 1、准备牌
* 2、洗牌
* 3、发牌
* 4、看牌
* */
public class demoDouDiZHu {
public static void main(String[] args) {
/*
1、准备牌
*/
// 定义一个存储54张牌的集合ArrayList,泛型使用String数据类型
ArrayList poker = new ArrayList<>();
// 定义两个数组,一个用来存储牌的花色,一个用来存储牌的序号
String[] colors = {"♠","♥","♣","♦"};
String[] numbers = {"2","A","K","Q","J","10","9","8","7","6","5","4","3"};
// 先将大王和小王存储poker集合中
poker.add("大王");
poker.add("小王");
// 循环嵌套两个数组,组装成52张牌(使用增强for循环)
for (String number : numbers){
for (String color : colors) {
// System.out.println(color + number);
poker.add(color + number);
}
}
// System.out.println(poker);
/*
* 2、洗牌
* 可以使用集合的工具类Collections中的方法
* static void shuffle(list > list)使用默认随机源对指定列表进行置换
* */
Collections.shuffle(poker);
// System.out.println(poker);
/*
3、发牌
*/
// 定义4个集合存储玩家的牌和底牌
ArrayList player01 = new ArrayList<>();
ArrayList player02 = new ArrayList<>();
ArrayList player03 = new ArrayList<>();
ArrayList dipai = new ArrayList<>();
/*
* 遍历poker集合,获取每一张牌
* 使用poker集合的索引%3给3个玩家轮流发牌
* 剩余3张牌给底牌
* 注意:
* 1、先判断底牌(i>=51),否则牌就没了
* */
for (int i = 0; i
//获取每一张牌
String p = poker.get(i);
//轮流发牌
if (i >= 51){
//给底牌发牌
dipai.add(p);
}else if (i % 3 == 0){
//给玩家1发牌
player01.add(p);
}else if (i % 3 == 1){
//给玩家2发牌
player02.add(p);
}else if (i % 3 == 2){
//给玩家3发牌
player03.add(p);
}
}
/*
4、看牌
* */
System.out.println("刘德华" + player01);
System.out.println("周润发" + player02);
System.out.println("周星驰" + player03);
System.out.println("底牌" + dipai);
}
}
计算一个字符串中字符出现的次数
package test4Map;
import java.util.HashMap;
import java.util.Scanner;
/*
练习:
计算一个字符串中每个字符出现次数
分析:
1、使用Scanner获取用户输入的字符串
2、创建Map集合。其中key是字符串中的字符,value是字符个数
3、遍历字符串,获取每一个字符
4、使用获取到的每一个字符,去Map集合判断key是否存在
key存在:
通过字符(key),获取value(字符个数)
value++
put(key,value)把新的value存储到Map集合中
key不存在:
put(key,1)
5、遍历Map集合,输出结果
*/
public class demoMapTest {
public static void main(String[] args) {
// 1、使用Scanner获取用户输入的字符串
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String str = sc.next();
// 2、创建Map集合。其中key是字符串中的字符,value是字符个数
HashMap map = new HashMap<>();
// 3、遍历字符串,获取每一个字符
//使用增强for循环遍历
for (char c : str.toCharArray()) {
// 4、使用获取到的每一个字符,去Map集合判断key是否存在
if (map.containsKey(c)){
//key存在
Integer value = map.get(c);
value++;
map.put(c,value);
}else{
//key不存在
map.put(c,1);
}
}
// 5、遍历Map集合,输出结果
//使用增强for循环遍历集合
for (Character key : map.keySet()) {
Integer value = map.get(key);
System.out.println(key + "--->" + value);
}
}
}
有趣java_有趣的Java相关推荐
- 有趣现象:同一个java文件中有2个类,一个public,一个无类修饰符,各有一个main函数,谁在前先执行谁!
发现一有趣现象:同一个java文件中有2个类,一个public,一个无类修饰符,个有一个main函数,谁在前先执行谁! //Detergent.java //Class:Detergent,Clean ...
- 细数GitHub上既有趣又有用的Java项目Top14
转载:http://news.51cto.com/art/201901/591528.htm 细数GitHub上既有趣又有用的Java项目Top14 在 GitHub 上有很多项目,能够帮我们优化手头 ...
- 这是一个有趣的问题,Java 8 Lambda 表达式被编译成了什么?
在了解了Java 8 Lambda的一些基本概念和应用后, 我们会有这样的一个问题: Lambda表达式被编译成了什么? 这是一个有趣的问题,涉及到JDK的具体的实现.本文将介绍OpenJDK对Lam ...
- java做比较有趣的_初学java可以用来做什么有趣的事
思显露学的java可能后成立些什么乐趣的步伐呢,大神们研习的时刻都写过什么步伐呢? 初学英语,可能写什么乐趣的作品呢? 大学那会学Java,写过黑乎乎的闲话步伐,也写过花哨的博客网站,总之众折腾,找找 ...
- 有趣的游戏,Java版斗地主游戏实现
近日,使用Java编写了斗地主单机小游戏,作为经典小游戏,它也给大家带来不少乐趣,通过对这款游戏的简单实现,加深了我对对Java基础算法的理解. 一.思路: 1.首先要了解斗地主的游戏规则,针对游戏整 ...
- 有趣的java代码_【有趣】这段java代码太古怪
首先呢,来一段java代码来开点胃.等等等等,耍我呢,这是java代码? \u0070\u0075\u0062\u006c\u0069\u0063\u0020\u0063\u006c\u0061\u0 ...
- 【有趣的实验】JAVA 遍历数组的几种方式的耗时对比
一.前言 出于对遍历方式的耗时想法,是普通for循环.fori.foreach.迭代器 iterator.还是steam流的形式哪种耗时更少呢? 首先添加一个List 集合,这边采用ArraryLis ...
- try catch语句 java_深入剖析java的try…catch…finally语句
一.前言 前些天参加面试的时候有一道题: public classtest { public static voidmain(String[] args){try{return; }finally{ ...
- 口袋妖怪 java_简单的Java口袋妖怪扑灭模拟器
我已经写了一个类创建和战斗口袋妖怪,但我不知道如何调用测试类中的战斗方法,以测试我写的类.简单的Java口袋妖怪扑灭模拟器 我的任务是编写和测试模拟两个口袋妖怪之间的战斗模拟.每个口袋妖怪都有一个健康 ...
最新文章
- java建立_利用Java创建Windows服务
- 深度学习果实即将摘尽?11位大牛谈AI的当下(2018)与未来(2019)
- phpcms发布新闻到数据库_Phpcms V9网站从本地上传到服务器需要修改的地方小结
- 单步调试时遇到cout和cin会自动跳到ostream文件中的解决方案
- 不分大小写的Strstr
- python 小说 云_python小说网站
- 推荐系统之CTR预估-FNN模型解析
- 数建--LINGO软件介绍
- 5G接入网学习:什么是C-RAN、D-RAN?
- 串口收 程序FPGA
- uniapp 密码显示隐藏
- 三针风扇接法_三针和四针CPU风扇有什么区别?
- 计算机变式教学,试论大学公共计算机网络课程变式练习.pdf
- 抖音电商的带货情况究竟如何,抖音电商带货前景如何
- 关于matlab中矩阵的运算
- B4A +GoLang 实现手机端webserver
- 线性回归(Linear Regression)和最小二乘法(ordinary least squares)
- Java解惑 电子书
- 写给程序猿的把妹指南:概述篇
- 《20年后,你靠什么生存(孙继滨)》讲座观后感 转