A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

我是深圳第9期基础班学员,这两天面试已经陆陆续续结束了,所以对面试的代码题大概做了一个总结,希望对后面学弟有点作用。

评分

参与人数 4技术分 +1 黑马币 +18 收起 理由
岁月如歌2013 + 6 总结的很好!
杨小楠 + 1
wzg76777 + 6 很给力!
oooohnick + 6 很好的总结! 几乎涵盖了基础班所有的知识点.

查看全部评分

24 个回复

倒序浏览
第一题:九九乘法表打印到目的文件
public class Test1 {
        public static void main(String[] args) throws IOException {
                FileWriter fw = new FileWriter("a.txt");
                for (int i = 1; i <= 9; i++) {
                        for (int j = 1; j <= i; j++) {
                                fw.write(j + "*" + i + "=" + i * j + "\t");
                        }
                        fw.write("\r\n");
                }
                fw.close();
        }
}
回复 使用道具 举报
第二题:两种基本的排序算法(冒泡,选择)
public class Test2 {
        public static void main(String[] args) {
                int[] arr = { 48, 98, 26, 36, 56 };
                System.out.println(Arrays.toString(arr));

                // bubbleSort(arr);

                selectSort(arr);
                System.out.println(Arrays.toString(arr));
        }

        public static void bubbleSort(int arr[]) {
                for (int i = 0; i < arr.length - 1; i++) {
                        for (int j = 0; j < arr.length - i - 1; j++) {
                                if (arr[j] > arr[j + 1]) {
                                        int tem = arr[j];
                                        arr[j] = arr[j + 1];
                                        arr[j + 1] = tem;
                                }
                        }
                }
        }

        public static void selectSort(int arr[]) {
                for (int i = 0; i < arr.length - 1; i++) {
                        for (int j = i + 1; j < arr.length; j++) {
                                if (arr[i] > arr[j]) {
                                        int tem = arr[i];
                                        arr[i] = arr[j];
                                        arr[j] = tem;
                                }
                        }
                }
        }
}
回复 使用道具 举报
第三题:二维数组求最大值
public class Test3 {
        public static void main(String[] args) {
                int[][] arr = { { 2, 3, 5 }, { 54, 41, 3 }, { 8, 16, 42 } };
                System.out.println(getMax(arr));
        }

        public static int getMax(int arr[][]) {
                int max = arr[0][0];
                for (int i = 0; i < arr.length; i++) {
                        for (int j = 0; j < arr[i].length; j++) {
                                if (max < arr[i][j]) {
                                        max = arr[i][j];
                                }
                        }
                }
                return max;
        }
}
回复 使用道具 举报
蚊子先生 来自手机 中级黑马 2015-8-26 12:30:09
报纸
不错,赞一个
回复 使用道具 举报
第四题:ArrayList集合存不重复元素
public class Test4 {
        public static void main(String[] args) {
                int[] arr = { 12, 45, 23, 12, 47, 26, 8, 35, 8 };
                ArrayList<Integer> list = new ArrayList<Integer>();
                for (int i = 0; i < arr.length; i++) {
                        if (!list.contains(arr[i])) {
                                list.add(arr[i]);
                        }
                }
                System.out.println(list);
        }
}
回复 使用道具 举报
第五题:Map集合的两种遍历方式
public class Test5 {
        public static void main(String[] args) {
                Map<String, String> map = new HashMap<String, String>();
                map.put("鸣人", "雏田");
                map.put("佐助", "小樱");
                map.put("路飞", "女帝");
                map.put("索隆", "师姐");

                Set<String> set = map.keySet();
                for (String key : set) {
                        String gf = map.get(key);
                        System.out.println(key + "\t" + gf);
                }

                Set<Map.Entry<String, String>> set2 = map.entrySet();
                for (Map.Entry<String, String> entry : set2) {
                        String key = entry.getKey();
                        String value = entry.getValue();
                        System.out.println(key + "--" + value);
                }
        }
}
回复 使用道具 举报
第六题:字符串字母大写变小写,小写变大写,不能使用方法
public class Test6 {
        public static void main(String[] args) {
                String s = "fawifHIjdaD /IwDKDasdkn";
                StringBuilder sb = new StringBuilder();
                char[] ch = s.toCharArray();
                for (int i = 0; i < ch.length; i++) {
                        if (ch[i] >= 'a' && ch[i] <= 'z') {
                                ch[i] = (char) (ch[i] - 32);
                        } else if (ch[i] >= 'A' && ch[i] <= 'Z') {
                                ch[i] = (char) (ch[i] + 32);
                        }
                        sb.append(ch[i]);
                }
                System.out.println(sb.toString());
        }
}
回复 使用道具 举报
这些都是本人自己写的,不是绝对的标准,很简单的注释也就没写了,谅解
回复 使用道具 举报
第七题:100以内不含7的数
public class Test7 {
        public static void main(String[] args) {
                for (int i = 0; i < 100; i++) {
                        if ((i / 10) != 7 && (i % 10) != 7)
                                System.out.println(i);
                }
        }
}
回复 使用道具 举报
第八题:获取某个文件下的所有文件名打印到另一个文件
public class Test8 {
        public static void main(String[] args) throws IOException {
                File file = new File("D:\\360安全浏览器下载");
                BufferedWriter bw = new BufferedWriter(new FileWriter("b.txt"));
                File[] fileArray = file.listFiles();
                for (File file2 : fileArray) {
                        bw.write(file2.getName());
                        bw.newLine();
                        bw.flush();
                }
                bw.close();
        }
}
回复 使用道具 举报
第九题:匿名线程
public class Test9 {
        public static void main(String[] args) {
                new Thread(new Runnable() {
                        public void run() {
                                for (int x = 0; x < 100; x++) {
                                        // getName()方法是Thread类的,而MyRunnable只实现了Runnable接口,本身没有getName(),所以不能使用。
                                        System.out.println(Thread.currentThread().getName() + "---hello" + x);
                                }
                        }

                }).start();
        }
}
回复 使用道具 举报
本帖最后由 青春随了风 于 2015-8-26 12:45 编辑

第十题:随机5个数存入list集合并排序(不能使用封装好的排序方法)
public class Test10 {
        public static void main(String[] args) {
                List<Integer> list = new ArrayList<Integer>();
                Random r = new Random();
                for (int i = 0; i < 5; i++) {
                        list.add(r.nextInt(10) + 1);
                }
                System.out.println(list);
                for (int i = 0; i < list.size() - 1; i++) {
                        for (int j = 0; j < list.size() - i - 1; j++) {
                                if (list.get(j) > list.get(j + 1)) {
                                        int tem = list.get(j);
                                        list.set(j, list.get(j + 1));
                                        list.set(j + 1, tem);
                                }
                        }
                }
                System.out.println(list);
        }
}
回复 使用道具 举报
第十一题:创建10个线程,第一个线程计算1+2+3+....+10的和,第二线程计算11+12+13+...+20的和,以此类推
最后输出10个线程的总和。
public class Test11 {
        public static void main(String[] args) {
                for (int i = 0; i < 10; i++) {
                        System.out.println("第" + (i + 1) + "个线程的和:");
                        MyRunnable mr = new MyRunnable();
                        Thread t = new Thread(mr);
                        t.start();
                        try {
                                t.join();
                        } catch (InterruptedException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                        }
                }
                System.out.println("10个线程的总和:");
                new MyRunnable().getAllSum();
        }
}

class MyRunnable implements Runnable {
        int sum = 0;
        static int allSum = 0;
        static int count = 0;

        public void add(int sum) {
                allSum += sum;
        }

        @Override
        public void run() {
                for (int i = 0; i < 10; i++) {
                        sum += ++count;
                }
                System.out.println(sum);
                add(sum);
        }

        public void getAllSum() {
                System.out.println(allSum);
        }

}
回复 使用道具 举报
第十二题:单例模式-饿汉式
public class Test12 {
        public static void main(String[] args) {
               
                Student s1 = Student.getStudent();
                Student s2 = Student.getStudent();
                System.out.println(s1 == s2);
                s1.show();
                s2.show();
        }
}

class Student {
        private Student() {

        }

        private static Student s = new Student();

        public static Student getStudent() {
                return s;
        }

        public void show() {
                System.out.println("hello");
        }
}
回复 使用道具 举报
第十三题:单例模式-懒汉式
public class Test13 {
        public static void main(String[] args) {
                Thecher t1 = Thecher.getThecher();
                Thecher t2 = Thecher.getThecher();
                System.out.println(t1 == t2);
                t1.show();
                t2.show();
        }
}

class Thecher {
        private Thecher() {

        }

        private static Thecher t = null;

        public synchronized static Thecher getThecher() {
                if (t == null) {
                        t = new Thecher();
                }
                return t;
        }

        public void show() {
                System.out.println("world");
        }
}
回复 使用道具 举报
第十四题:使用递归获取某个目录文件下的所有.java文件
public class Test14 {
        public static void main(String[] args) {
                File file = new File("E:\\");
                getFile(file);
        }

        private static void getFile(File file) {
                File[] fileArray = file.listFiles();
                for (File f : fileArray) {
                        if (!f.isHidden()) {
                                if (f.isDirectory()) {
                                        getFile(f);
                                } else if (f.getName().endsWith(".java")) {
                                        System.out.println(f.getName());
                                }
                        }
                }
        }
}
回复 使用道具 举报
后面的网络通信和反射考的可能性不大,但也不是说不会考,如果考的话也是老师上课讲的最基本的。
面试代码题就大概总结这些,凑合着看一下吧。
回复 使用道具 举报
看起来好流弊的样子  就等着基础班开学认真学习了  先32个赞
回复 使用道具 举报
不错,基础扎实
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马