问到 基础知识
1. 适配器模式在 安卓中的应用。
2. Service 的启动方式。
3. 广播的注册方式有几种? 有什么不同?
4.public private protected 以及缺省的作用域。
5.自定义控件中 onMeasure() 方法的作用?
6.android中多线程操作如何实现?
7.android 的各种存储方式。
编程题:
1 一个整数 ,它加上100后是一个完全平方数,加上168后又是一个完全平方数,这个数是多少?
- private void cal() {
- int i=1;
- while(true)
- {
- int a=(int)Math.sqrt(i+100);
- int b=(int)Math.sqrt(i+168);
- if(a*a==(i+100) && b*b==(i+168))
- {
- System.out.println(i);
- break;
- }
- i++;
- }
- }
2.一个球从100m高度自由落下,每次落地后反跳会原高度的一半,在落下,求它落下10次 经过的路程,以及落下十次反弹多高。
3 在一个数组中,找出出现次数最多 且数值最大的数 输出。
- private void sort() {
- int[] array = {2, 1, 2, 3, 3, 5, 3, 3, 2,2,5,5,5,5};
- //map的key存放数组中存在的数字,value存放该数字在数组中出现的次数
- HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
- for(int i = 0; i < array.length; i++)
- {
- if(map.containsKey(array[i]))
- {
- int temp = map.get(array[i]);
- map.put(array[i], temp + 1);
- }
- else
- {
- map.put(array[i], 1);
- }
- }
- Collection<Integer> count = map.values();
- //找出map的value中最大的数字,也就是数组中数字出现最多的次数
- int maxCount = Collections.max(count);
- int maxNumber = 0;
- for(Map.Entry<Integer, Integer> entry : map.entrySet())
- {
- //得到value为maxCount的key,也就是数组中出现次数最多的数字
- if(maxCount == entry.getValue())
- {
- maxNumber = entry.getKey();
- System.out.println("maxNumber"+maxNumber);
- }
- }
- System.out.println("出现次数最多的数字为:" + maxNumber);
- System.out.println("该数字一共出现" + maxCount + "次");
- }
4.写两个单例模式。