编程题
1.程序启动后,要求用户输入一个文件名,如果文件存在则提示,并要求用户更换,直到该文件还不存在为止,然后将这个文件在当前目录中创建出来。
public static void method1(){ Scanner sc = new Scanner(System.in); System.out.println("请输入文件名:"); String str = sc.next(); File file = new File("./"+str); File dir[] = new File("./src").listFiles(); for (int i = 0; i < dir.length; i++) { if(str.equals(dir[i].getName())){ System.out.println("已经存在,请更换!!"); method1(); }else if(i==dir.length-1){ file.mkdirs(); System.out.println(str+"已经创建完毕!"); } } System.out.println(Arrays.toString(dir)); }
2.获取当前目录中所有后缀为.txt的文件(使用匿名内部类和lambda两种写法)
public static void method2(){ //使用匿名内部类的方式创建文件过滤器: File file = new File("./src/haha"); File dir[] = file.listFiles(new FileFilter() { @Override public boolean accept(File pathname) { return pathname.isFile()&&pathname.getName().endsWith(".txt"); } }); System.out.println(Arrays.toString(dir)); File dir2[] = file.listFiles((file1) -> file1.isFile()&&file1.getName().endsWith(".txt")); System.out.println(Arrays.toString(dir2)); }
3.程序启动后要求用户输入一个关键字,然后列出当前项目下所有名字中包含该关键字的子项
public static void method3(){ Scanner sc = new Scanner(System.in); System.out.print("请输入关键字:"); String str = sc.next(); File file = new File("./src/haha"); File dir[] = file.listFiles(); for (int i = 0; i < dir.length; i++) { if(dir[i].getName().contains(str)){ System.out.println(dir[i].getName()); } } }
提高:
编写程序1+2+3+4+....100,并输出结果
要求:程序中不能出现for,while关键字
* 注:这是一道实际面试题
public static void method4(int i,int sum){ sum += i; i++; if (i<101){ method4(i,sum); }else { System.out.println(sum); } }