黑马程序员技术交流社区

标题: 第一次点招模拟考题 [打印本页]

作者: 2457740857    时间: 2016-6-6 23:40
标题: 第一次点招模拟考题
题目一:
        *已知一个二维数组int arr[3][3]里面的元素需要键盘录入
        *将二维数组遍历,并且输出格式为一个正方形
        *比如arr[3][3]里面的元素为{{1,2,3},{4,5,6},{7,8,9}}那么输出格式为
                1 2 3
                4 5 6
                7 8 9
        *计算求出所有元素的平均值。
package com.itheima.exam;

import java.util.Scanner;


public class Test1 {
        public static void main(String[] args) {
                // 创建一个三行三列的二维数组
                int[][] arr = new int[3][3];
                // 创建键盘录入对象
                Scanner sc =new Scanner(System.in);
                System.out.println("请输入9个数组成二维数组");
                // 遍历二维数组通过键盘录入的方式分别赋值
                for (int i = 0; i < arr.length; i++) {
                        for (int j = 0; j < arr[i].length; j++) {
                                arr[i][j] = sc.nextInt();
                        }
                }
               
                int sum = 0;
                int count = 0;
                // 按照格式打印
                for (int i = 0; i < arr.length; i++) {
                        for (int j = 0; j < arr[i].length; j++) {
                                sum += arr[i][j];
                                System.out.print(arr[i][j] + "\t");
                                count ++;
                        }
                        System.out.println();
                }
               
                System.out.println("二维数组的平均数为:" + sum/count);
        }
}


题目二:
* 具体事物:基础班学生,就业班学生
        * 共性:姓名,年龄,学习。
        * 就业班学生有个特有方法,做项目
        * 请使用继承体系去完成该需求(温馨提示,可以使用抽象类方式或不使用)

题目三:
         * 键盘录入一段字符串,要求使用map集合统计出字符串中字母和数字出现的次数,如果有其他字符则当做*号来统计,最后按指定方式输出(不要求排序)
         * 例如录入字符串:aaaabbbcccddd1112233^^^
         * 输出的格式为: *(3),1(3),2(2),3(2),a(4),b(3),c(3),d(3) (注意:括号前面是字符,里面是次数)

package com.itheima.exam;

import java.util.HashMap;
import java.util.Scanner;
import java.util.Set;


public class Test3 {
        public static void main(String[] args) {
                // 创建键盘录入对象
                Scanner sc = new Scanner(System.in);
                System.out.println("请输入要转换的字符串:");
                // 创建一个Hashmap集合
                HashMap<Character, Integer> hm = new HashMap<>();
                // 获取键盘录入的字符串
                String line = sc.nextLine();
                // 将字符串转换成字符数组
                char[] charArray = line.toCharArray();
                // 遍历字符数组
                for (char c : charArray) {
                        if (c >= '0' && c <= '9' || c >= 'a' && c <= 'z' || c >= 'A'
                                        && c <= 'Z') {
                                // 判断集合中是否包含c这个键,如果不包含就存键为c值为1,如果包含就存键为c值为以前的值(hm.get(c) + 1)+1
                                /*
                                 * if(!hm.containsKey(c)){ hm.put(c, 1); }else{ hm.put(c,
                                 * hm.get(c) + 1); }
                                 */

                                hm.put(c, hm.containsKey(c) ? hm.get(c) + 1 : 1);
                        } else {
                                // 判断集合中是否包含*这个键,如果不包含就存键为*值为1,如果包含就存键为*值为以前的值(hm.get(*) + 1)+1
                                /*
                                 * if(!hm.containsKey('*')){ hm.put('*', 1); }else{ hm.put('*',
                                 * hm.get('*') + 1); }
                                 */
                                hm.put('*', hm.containsKey('*') ? hm.get('*') + 1 : 1);
                        }
                }

                // System.out.println(hm);

                // 输出的格式为: *(3),1(3),2(2),3(2),a(4),b(3),c(3),d(3) (注意:括号前面是字符,里面是次数)
                // 创建一个字符串缓冲区
                StringBuffer sb = new StringBuffer();
                // 通过获取键拿值的方式遍历map集合
                Set<Character> keySet = hm.keySet();
                for (Character c : keySet) {
                        sb.append(c).append("(").append(hm.get(c)).append(")").append(",");
                }

                System.out.println(sb.substring(0, sb.length() - 1));
        }

}


作者: 坂田银时    时间: 2016-6-7 05:29
谢楼主分享
作者: TCK8888    时间: 2016-6-7 09:27
谢楼主分享
作者: XSL_yzSu4    时间: 2016-6-7 10:31
谢谢楼主分享
作者: demon凯    时间: 2016-6-7 12:13
谢谢楼主分享  
作者: what987    时间: 2016-6-7 22:29
感谢分享。这个总分是30分吗




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2