有趣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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql5.0源码安装_linux小白
- 下一篇: web java工程的创建_简单Java