打发时间
Posted kitor
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打发时间相关的知识,希望对你有一定的参考价值。
欢迎斧正
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即可
5、使用Linked实现先入先出的队列效果
@org.junit.Test public void test() LinkedList linkedList=new LinkedList(); char[] chars=‘a‘,‘c‘,‘d‘,‘s‘,‘s‘,‘e‘,‘f‘; System.out.println("存储的顺序为:"); for (char c:chars) System.out.print(c+" "); linkedList.addFirst(c); System.out.println("\n取出的顺序为:"); int size = linkedList.size(); for (int i = 0; i <size ; i++) System.out.print(linkedList.removeLast()+" ");
以上是关于打发时间的主要内容,如果未能解决你的问题,请参考以下文章