实操笔记17

一、双色球,6红1蓝;红1-33,蓝1-16;随机生成一注双色球号码(要求同色球号码不重复)

package com.home;

import java.util.HashSet;
import java.util.Set;

public class Test01 {
    public static void main(String[] args) {
        Set set = new HashSet<>();
        while (set.size() < 6) {
            int red = (int) ((Math.random() * 33) + 1);
            set.add(red);
        }
        System.out.println(set);

        int blue = (int) (Math.random() * 16) + 1;
        System.out.println(blue);

    }
}

二、定义泛型为String的List集合,统计集合中每个字符出现的次数。

package com.home;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Test02 {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("asd");
        list.add("gaw");
        list.add("aed");
        list.add("rnw");
        Map<Character, Integer> m = new HashMap<>();

        for (String s : list) {
            char[] chars = s.toCharArray();
            for (char c : chars) {
                if (!m.containsKey(c)) {
                    m.put(c, 1);
                } else {
                    m.put(c, (m.get(c) + 1));
                }
            }
        }
        System.out.println(m);
    }
}

三、在原有世界杯Map的基础上,添加功能:读入一个球队的名字,输出其获得世界杯的年份。

package com.home;

import java.util.*;

public class Test03 {
    public static void main(String[] args) {
        Map<Integer, String> map = new HashMap<>();
        map.put(1930, "乌拉圭");
        map.put(1934, "意大利");
        map.put(1938, "意大利");
        map.put(1942, "乌拉圭");
        map.put(1946, "西德");
        map.put(1950, "乌拉圭");
        map.put(1954, "德国");
        map.put(1958, "巴西");
        map.put(1962, "巴西");
        map.put(1966, "英格兰");
        map.put(1970, "巴西");

        Collection col = showInfo(map, "巴西");
        if (col.size() > 0) {
            System.out.println(col);
        } else {
            System.out.println("没有冠军");
        }
    }

    public static Collection showInfo(Map<Integer, String> map, String str) {
        Collection col = new ArrayList();
        Set<Integer> set = map.keySet();
        for (Integer in : set) {
            String value = map.get(in);
            if (value.equals(str)) {
                col.add(in);
            }
        }
        return col;
    }
}

四、已知数组存放一批QQ号码,最长11,最短5。将该数组里面的所有qq号存放到LinkedList中,将list中重复元素删除,将list中所有元素分别用迭代器和增强for循环打印出来。

package com.home;

import java.util.ArrayList;
import java.util.List;

public class Test04 {
    public static void main(String[] args) {
        String[] arrays = {"12345", "3345656", "233456", "345654", "12345"};
        List<String> list = new ArrayList<>();
        for (int i = 0; i < arrays.length; i++) {
            list.add(arrays[i]);
        }

        for (int i = list.size() - 1; i >= 0; i--) {
            if (selectCount(list, list.get(i)) >= 2) {
                list.remove(i);
            }
        }

        for (String s : list) {
            System.out.println(s);
        }
    }

    public static Integer selectCount(List<String> list, String s) {
        Integer count = 0;
        for (String s1 : list) {
            if (s1.equals(s)) {
                count++;
            }
        }
        return count;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值