`
huxiaoqing
  • 浏览: 5265 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

面试题汇总

阅读更多
1、用递归复制文件目录
public void copyFiles(String fromPath, String toPath){
    File fromFile = new File(fromPath);
    if (fromFile.isDirectory()){
        File toFile = new File(toPath);
        if(!toFile.exists()) {
            System.out.println("正在创建文件夹:" + toFile.getName());
            toFile.mkdir();
        }
        File[] files = fromFile.listFiles();
        for(File f : files){
            copyFile(f.getAbsolutePath(), toPath+ "/" + f.getName());
        }
    } else {
        System.out.println("正在复制文件:" + frompath);
        copy(fromPath, toPath);
    }
}

/**
 * 复制单个文件
 * @param fromPath
 * @param toPath
 */
private void copy(String fromPath, String toPath){
    try{
        // 建立一个输入流
        DataInputStream in = new DataInputStream(
                BufferedInputStream(
                        FileInputStream(fromPath)));
        byte[] data = new byte[in.available()];
        in.read(data);
        // 建立一个输出流
        DataOutputStream out = new DataOutputStream(
                BufferedOutputStream(
                        FileOutputStream(toPath)));
        out.write(data);
        // 关闭输入输出流
        out.close();
        in.close();
    } catch(Exception e){
        e.printStackTrace();
    }
}


2、try{}语句块有return语句,在try{}后面有finally{}code,该code是否会执行,什么情况下执行?
    我们先看个例子吧


import java.math.BigDecimal;

public class TryCatchTest {
	public static void main(String[] args){
		try {
			System.out.println("运行try{}代码块");
			new BigDecimal("a");
			return;
		} catch(Exception e) {
			e.printStackTrace();
			System.out.println("运行到catch代码块了");
		} finally {
			System.out.println("运行到finally代码块了");
		}
		System.out.println("运行try finally外代码");
	}
}

运行的结果为
运行try{}代码块
java.lang.NumberFormatException
	at java.math.BigDecimal.<init>(Unknown Source)
	at java.math.BigDecimal.<init>(Unknown Source)
	at hxq.study.test.TryCatchTest.main(TryCatchTest.java:9)
运行到catch代码块了
运行到finally代码块了
运行try finally外代码

从中可以看出,code还是有可能被执行的,当try中捕捉的异常时code就会执行,而且finally{}代码块始终都会执行

3、归并排序算法实现
import java.util.ArrayList;
import java.util.Iterator;

public class MergerSortor {
	
	public void sort(ArrayList<Integer> list){
		if(list == null) return;
		if(list.size() <= 1) return;
		
		ArrayList<Integer> l1 = new ArrayList<Integer>();
		ArrayList<Integer> l2 = new ArrayList<Integer>();
		Iterator<Integer> it = list.iterator();
		while(it.hasNext()){
			l1.add(it.next());
			if (it.hasNext()) l2.add(it.next());
		}
		sort(l1);
		sort(l2);
		// 归并
		list.clear();
		merger(list, l1, l2);
	}
	
	/**
	 * 将l1,l2归并到list中
	 * @param list
	 * @param l1
	 * @param l1
	 */
	private void merger(ArrayList<Integer> list, ArrayList<Integer> l1, ArrayList<Integer> l2){
		while (!l1.isEmpty() || !l2.isEmpty()) {
			if (l1.isEmpty()){
				list.add(l2.get(0));
				l2.remove(0);
			} else if (l2.isEmpty()) {
				list.add(l1.get(0));
				l1.remove(0);
			} else {
				Integer int1 = l1.get(0);
				Integer int2 = l2.get(0);
				if (int1 < int2) {
					list.add(int1);
					l1.remove(0);
				} else {
					list.add(int2);
					l2.remove(0);
				}
			}
		}
	}
	
	
	public static void main(String[] args){
		MergerSortor sortor = new MergerSortor();
		ArrayList<Integer> list = new ArrayList<Integer>();
		// 随机生成20个100内的整数
		int i = 20;
		while (i > 0) {
			int a = (int)Math.round(Math.random() * 100);
			list.add(a);
			i --;
		}
		
		System.out.println("排序前:" + list);
		sortor.sort(list);
		System.out.println("排序后:" + list);
	}
}

分享到:
评论

相关推荐

    C语言面试题总结汇总经典.pdf

    C语言面试题总结汇总经典.pdfC语言面试题总结汇总经典.pdfC语言面试题总结汇总经典.pdfC语言面试题总结汇总经典.pdfC语言面试题总结汇总经典.pdfC语言面试题总结汇总经典.pdfC语言面试题总结汇总经典.pdfC语言面试题...

    超全的嵌入式工程师笔试面试题汇总.zip

    超全的嵌入式工程师笔试面试题汇总 单片机嵌入式应聘测试题(含答案).pdf 经典嵌入式面试题.pdf 嵌入式工程师笔试题带答案.pdf 嵌入式工程师经典面试题.pdf 嵌入式软件工程师笔试集锦.pdf 嵌入式软件工程师笔试题__...

    2020年最新版--Java+最常见的+200++面试题汇总+答案总结汇总.pdf

    面试题汇总

    Redis面试题汇总.zip

    Redis面试题汇总.zipRedis面试题汇总.zipRedis面试题汇总.zipRedis面试题汇总.zipRedis面试题汇总.zipRedis面试题汇总.zipRedis面试题汇总.zipRedis面试题汇总.zipRedis面试题汇总.zipRedis面试题汇总.zipRedis面试...

    Vue面试题汇总.zip

    Vue面试题汇总.zipVue面试题汇总.zipVue面试题汇总.zipVue面试题汇总.zipVue面试题汇总.zipVue面试题汇总.zipVue面试题汇总.zipVue面试题汇总.zipVue面试题汇总.zipVue面试题汇总.zipVue面试题汇总.zipVue面试题汇总...

    2023最新前端面试题总结

    2023最新前端面试题总结

    Mysql面试题汇总资料

    Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql面试题汇总Mysql...

    java常见面试题汇总

    java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见面试题汇总 java常见...

    mysql常见面试题汇总

    mysql常见面试题汇总,mysql常见面试题汇总 mysql常见面试题汇总,mysql常见面试题汇总 mysql常见面试题汇总,mysql常见面试题汇总 mysql常见面试题汇总,mysql常见面试题汇总 mysql常见面试题汇总,mysql常见面试题...

    Redis面试题汇总经典.docx

    Redis面试题汇总经典.docxRedis面试题汇总经典.docxRedis面试题汇总经典.docxRedis面试题汇总经典.docxRedis面试题汇总经典.docxRedis面试题汇总经典.docxRedis面试题汇总经典.docxRedis面试题汇总经典.docxRedis...

    web前端笔试题面试题汇总+前端优化总结

    web前端笔试题面试题汇总+前端优化总结 web前端笔试题面试题汇总+前端优化总结 web前端笔试题面试题汇总+前端优化总结 web前端笔试题面试题汇总+前端优化总结 web前端笔试题面试题汇总+前端优化总结 web前端笔试题...

    vue面试题汇总.pdf

    vue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总.pdfvue面试题汇总...

    redis面试题汇总.pdf

    redis面试题汇总.pdfredis面试题汇总.pdfredis面试题汇总.pdfredis面试题汇总.pdfredis面试题汇总.pdfredis面试题汇总.pdfredis面试题汇总.pdfredis面试题汇总.pdfredis面试题汇总.pdfredis面试题汇总.pdfredis面试...

    Netty面试题汇总.pdf

    Netty面试题汇总.pdfNetty面试题汇总.pdfNetty面试题汇总.pdfNetty面试题汇总.pdfNetty面试题汇总.pdfNetty面试题汇总.pdfNetty面试题汇总.pdfNetty面试题汇总.pdfNetty面试题汇总.pdfNetty面试题汇总.pdfNetty面试...

    dubbo面试题汇总.pdf

    dubbo面试题汇总.pdfdubbo面试题汇总.pdfdubbo面试题汇总.pdfdubbo面试题汇总.pdfdubbo面试题汇总.pdfdubbo面试题汇总.pdfdubbo面试题汇总.pdfdubbo面试题汇总.pdfdubbo面试题汇总.pdfdubbo面试题汇总.pdfdubbo面试...

    Spring面试题汇总.pdf

    Spring面试题汇总.pdfSpring面试题汇总.pdfSpring面试题汇总.pdfSpring面试题汇总.pdfSpring面试题汇总.pdfSpring面试题汇总.pdfSpring面试题汇总.pdfSpring面试题汇总.pdfSpring面试题汇总.pdfSpring面试题汇总....

    JVM面试题汇总.pdf

    JVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总.pdfJVM面试题汇总...

    mybatis面试题汇总.pdf

    mybatis面试题汇总.pdfmybatis面试题汇总.pdfmybatis面试题汇总.pdfmybatis面试题汇总.pdfmybatis面试题汇总.pdfmybatis面试题汇总.pdfmybatis面试题汇总.pdfmybatis面试题汇总.pdfmybatis面试题汇总.pdfmybatis面试...

    RabbitMQ面试题汇总.pdf

    RabbitMQ面试题汇总.pdfRabbitMQ面试题汇总.pdfRabbitMQ面试题汇总.pdfRabbitMQ面试题汇总.pdfRabbitMQ面试题汇总.pdfRabbitMQ面试题汇总.pdfRabbitMQ面试题汇总.pdfRabbitMQ面试题汇总.pdfRabbitMQ面试题汇总....

Global site tag (gtag.js) - Google Analytics