打发时间

欢迎斧正

1、统计 int[] arr={1,4,1,4,2,5,4,5,8,77,88,5,4,9,6,2,4,1,5}中每个数字出现的次数

 @org.junit.Test
    public void test(){
        HashMap<Integer, Integer> hashMap=new HashMap<>();
        int[] arr={1,4,1,4,2,5,4,5,8,77,88,5,4,9,6,2,4,1,5};
        for (int i = 0; i < arr.length; i++) {
            if(hashMap.get(arr[i])==null){
                hashMap.put(arr[i],1);
            }else {
                hashMap.put(arr[i],hashMap.get(arr[i])+1);
            }
        }
        Set<Integer> integers = hashMap.keySet();
        for (Integer integer : integers) {
            System.out.println(integer+"出现"+hashMap.get(integer)+"次");
        }
    }

2、小明和小红去书店买同一本书,小明带的钱差4.98元,小红差1分钱,他俩的钱合起来还不够,问小明带多少钱,小红带多少钱,书的定价是多少

 String[] names = {"小明", "小红", "书价"};
        double[] arr = new double[3];
        //小明的钱
        for (int i = 0; ; i++) {
            //小红的钱
            for (int j = 0; j < i; j++) {
                //小明的钱加一分等于小红的钱加499分
                //两个人的钱加起来也不够
                if (i + 1 == j + 499 && i + j < i + 1 && i + j < j + 499) {
                    arr[0] = i / 100.0;
                    arr[1] = j / 100.0;
                    arr[2] = (i + 1) / 100.0;
                    for (int k = 0; k < arr.length; k++) {
                        System.out.println(names[k] + "是" + arr[k]);
                    }
                    return true;
                }

            }
        }

3、小张参加一个聚会,聚会中每个人都需要相互握手,他注意到大家总共需要握手45次,那么总共有多少人参加了聚会

定义一个方法求当人数为num时的握手次数

public static int shackMan(int num) {
        if (num < 2) {
            return 0;
        } else if (num == 2) {
            return 1;
        } else {
            return (num - 1) + shackMan(num - 1);
        }
    }

然后调用

        for (int i = 0; ; i++) {
            if (shackMan(i) == 45) {
                System.out.println("共有" + i + "人参加宴会");
                break;
            }
        }

4、一个青蛙向井口怕,井深10m,它每上升3m下降两米,问它需要爬几次能爬出井

    public static int frogClimb(int climbed, int time) {//climbed表示已爬,time表示当前是第几次爬
        if (climbed + 3 >= 10) {
            return time;
        } else {
            return frogClimb(time + 1, time + 1);
        }
    }

调用出传入0,1即可

猜你喜欢

转载自www.cnblogs.com/kitor/p/11333306.html