欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 语言基础 > 第一阶段模块三作业

程序员文章站 2022-04-14 14:05:23
1. 编程题编程统计字符串"ABCD123!@#$%ab"中大写字母、小写字母、数字、其它字符的个数并打印出来。答案跳转2. 编程题准备一个 HashMap 集合,统计字符串"123,456,789,123,456"中每个数字字符串出现的次数并打印出来。答案跳转如: 123 出现了 2 次 456 出现了 2 次 789 出现了 1 次 3. 编程题使用集合实现斗地主游戏的部分功能,要求如下:(1)首先准备 54 张扑克牌并打乱顺序。(2)由三...

1. 编程题

编程统计字符串"ABCD123!@#$%ab"中大写字母、小写字母、数字、其它字符的个数并打印出来。
答案跳转

2. 编程题

准备一个 HashMap 集合,统计字符串"123,456,789,123,456"中每个数字字符串出现的次数并打印出来。
答案跳转

如:

    123 出现了 2 次 

    456 出现了 2 次 

    789 出现了 1 次 

3. 编程题

使用集合实现斗地主游戏的部分功能,要求如下:
(1)首先准备 54 张扑克牌并打乱顺序。
(2)由三个玩家交替摸牌,每人 17 张扑克牌,最后三张留作底牌。
(3)查看三个玩家手中的扑克牌和底牌。
(4)其中玩家手中的扑克牌需要按照大小顺序打印,规则如下:
手中扑克牌从大到小的摆放顺序:大王,小王,2,A,K,Q,J,10,9,8,7,6,5,4,3
答案跳转

答案总汇

编程统计字符串"ABCD123!@#$%ab"中大写字母、小写字母、数字、其它字符的个数并打印出来。

package test3;

/**
 * @author cyh
 * @create 2020/12/25 16:03
 */
public class Test1 {
    public static void main(String[] args) {
        String str ="ABCD123!@#$%ab";
        int upperCase = 0;    //大写
        int lowerCase = 0;  //小写
        int number = 0;     //数字
        int symbol = 0;     //符号
        //循环str字符串,判断每个字符类型
        for (int i = 0; i < str.length(); i++) {
            if(Character.isUpperCase(str.charAt(i))){
                upperCase++;
            }else if(Character.isLowerCase(str.charAt(i))){
                lowerCase++;
            }else if(Character.isDigit(str.charAt(i))){
                number++;
            }else {
                symbol++;
            }
        }
        System.out.println(str + "中大写字母有:" + upperCase +
                                "个,小写字母有" + lowerCase +
                                "个,数字有:" + number +
                                "个,其它符号有" + symbol + "个");
    }
}

准备一个 HashMap 集合,统计字符串"123,456,789,123,456"中每个数字字符串出现的次数并打印出来。

package test3;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

/**
 * @author cyh
 * @create 2020/12/25 17:10
 */
public class Test2 {
    public static void main(String[] args) {
        String str ="123,456,789,123,456";
        //声明一个HashMap集合,用于存放数字字符串与数字字符串出现的次数
        HashMap<String,Integer> hm = new HashMap<String,Integer>();
        //把str的","清除,并把每个数字字符串存进一个新的数组里
        String[]sArr = str.split(",");
        //循环新在数字字符串数组,存进HashMap集合里,
        //如果key里没有的数字字符串,就生成新的key
        //如果有就直接在value里+1
        for (int i = 0; i < sArr.length; i++) {
            if (!hm.containsKey(sArr[i])){
                hm.put(sArr[i],1);
            } else {
                hm.put(sArr[i],hm.get(sArr[i])+1);
            }
        }
        //遍历HashMap集合
        Iterator it = hm.entrySet().iterator();
        while (it.hasNext()){
            Map.Entry entry = (Map.Entry) it.next();
            System.out.println(entry.getKey()+"出现了"+entry.getValue()+"次!");
        }
    }
}

PS:斗地主写到另一个文章里。

本文地址:https://blog.csdn.net/Guai_Ka/article/details/112219095