日期:2014-05-20  浏览次数:20649 次

前几遇到的几道面试题目帖出来 有兴趣的来试试的????
1.实现一个通用的文件拷贝函数,给定要拷贝的文件和目标目录,如果目标目录下存在相同名称的文件则覆盖.
2.实现一个对元素类型为String的List进行排序的函数,要求按照字符串的倒序进行排列.


3.给定一个整数N,假设N一定大于零,要求不使用循环和本地变量实现如下功能:按顺序捋N、2*N、4*N、8*N等数字输出到标准输出,直到要打印的数字大于5000,然后再将前面已输出过的数字按照相反的顺序输出到标准输出。
比如N=1234,那么标准输出上会有如下的数字被输出:
1234
2468
4936
9872
9872
4936
2468
1234

------解决方案--------------------
3.给定一个整数N,假设N一定大于零,要求不使用循环和本地变量实现如下功能:按顺序捋N、2*N、4*N、8*N等数字输出到标准输出,直到要打印的数字大于5000,然后再将前面已输出过的数字按照相反的顺序输出到标准输出。
比如N=1234,那么标准输出上会有如下的数字被输出:
1234
2468
4936
9872
9872
4936
2468
1234


移位操作
------解决方案--------------------
作业题?
------解决方案--------------------
不使用循环?
难道写
1234 < <0
1234 < <1
1234 < <2
1234 < <3
1234 < <3
1234 < <2
1234 < <1
1234 < <0
?????????
------解决方案--------------------
移位只能在移少量位时候才行吧,如果N=0.1时,到5000不是得移好多次,还不是得要循环啊??
------解决方案--------------------
输出也不能用循环??

------解决方案--------------------
采用递归
------解决方案--------------------
关注
------解决方案--------------------
public class Test {

private void print(int n,int i,boolean f) {
if (n <=5000&&f){
i++;
n=n < <1;
}else {
f=false;
i--;
n=n> > 1;
}
System.out.println(n);
if (i!=0)
print(n,i,f);
}


public static void main(String[] args) {
Test test = new Test();
test.print(1234,0,true);
}

}
------解决方案--------------------
楼上好办法

------解决方案--------------------
作业题目

------解决方案--------------------
其他的不会

第2题 把字符串用循环 用charat 一个一个拿出来放到堆栈 先压 再弹 再连上就倒过来了
------解决方案--------------------
作业题吧。路过友情UP