欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

有趣java_有趣的Java

发布时间:2023/12/15 java 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 有趣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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。