您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > Java笔试题共23题(附答案)
★里面有解题思路一样的没有全部解答,仅仅将题目列出,稍微改变即可得出结果★笔试题重点,1、复制文件2、多线程3、集合4、反射/////////////////////////////////////////////////////////////////////1/*Collection集合体系图Collection|----List元素有序,可重复|----ArrayList底层数据结构是数组,查询快,增删慢,线程不安全,效率高|----Vector底层数据结构是数组,查询快,增删慢,线程★安全★,效率低|----LinkedList底层数据结构是链表,查询慢,增删快,线程不安全,效率高|----Set元素无序,唯一。|----HashSet|----TreeSet遍历集合的两种方式:1、通过获取键的集合,遍历键的集合,通过键获取值2、通过键值对集合,遍历键值对对象,分别取得键值*/importjava.util.HashMap;importjava.util.Set;importjava.util.Map.Entry;importjava.util.Map;classForMap{publicstaticvoidmain(String[]args){//创建一个map对象HashMapString,Stringmap=newHashMapString,String();//向map中添加元素map.put(A,101);map.put(B,102);map.put(C,103);map.put(D,104);//获取键的集合SetStringset=map.keySet();//循环遍历键集合for(Stringstr:set){//通过键获取值System.out.println(str+---+map.get(str));}System.out.println(----------------------);//获取map的键值对集合SetEntryString,Stringmset=map.entrySet();//循环遍历键值对集合for(EntryString,Stringme:mset){//用键值对对象分别获取键和值System.out.println(me.getKey()+---+me.getValue());}System.out.println(----------------------);}}////////////////////////////////////////////////////////////////////2/*题目1:创建ArrayList对象,添加5个元素,使用Iterator遍历输出。*/******************************************************************************/*题目2:两个集合{“a”,“b”,“c”,“d”,“e”}和{“d”,“e”,“f”,“g”,“h”},把这两个集合去除重复项合并成一个思路:这道题主要是考察集合的知识的,可以用ArrayList解决问题1、先创建这两个集合2、向这两个集合分别添加元素3、用第二个集合的调用iterator()方法获取Iterator对象4、遍历第二个集合,并用第一个集合判断是否包含第一个集合的元素,如果不包含就向集合一添加元素5、打印集合1,就是想要的结果*///导包importjava.util.List;importjava.util.ArrayList;importjava.util.Iterator;classTest{publicstaticvoidmain(Stringargs[]){//创建集合1ListStringlist1=newArrayListString();//向集合1添加元素list1.add(a);list1.add(b);list1.add(c);list1.add(d);list1.add(e);//创建集合2ListStringlist2=newArrayListString();//向集合2添加元素list2.add(d);list2.add(e);list2.add(f);list2.add(g);list2.add(h);//获取集合2的迭代器Iteratorit=list2.iterator();//遍历集合2while(it.hasNext()){Stringstr=(String)it.next();//如果不包含就向集合1添加此元素if(!list1.contains(str)){list1.add(str);}}System.out.println(list1);}}/////////////////////////////////////////////////////////////////////3/*题目:已知文件a.txt文件中的内容为“bcdeadferwplkou”,请编写程序读取该文件内容,并按照自然排序顺序后输出到b.txt文件中。即b.txt文件内容应为abc......这样的顺序思路:1、先将a.txt文件内容读取出来并存到字符数组中2、用Arrays.sort(字符数组)将这个字符数组排序3、将字符数组输出到b.txt文件中*/importjava.io.IOException;importjava.io.File;importjava.io.BufferedReader;importjava.io.BufferedWriter;importjava.io.FileReader;importjava.io.FileWriter;importjava.util.Arrays;classReadFileAndSortString{publicstaticvoidmain(Stringargs[])throwsIOException{//封装数据源及目的地FileFilea=newFile(a.txt);Fileb=newFile(b.txt);//高效字符输入流得到数据源BufferedReaderbr=newBufferedReader(newFileReader(a));//高效字符输出流得到目的地BufferedWriterbw=newBufferedWriter(newFileWriter(b));Stringline=null;//循环读取文件while((line=br.readLine())!=null){//得到读取一行字符串的长度intlen=line.length();char[]chrs=newchar[len];//转换成字符数组chrs=line.toCharArray();//通过Arrays的sort方法排序Arrays.sort(chrs);System.out.println(字符串:+newString(chrs));//写到文件中bw.write(chrs);bw.newLine();//刷新缓冲区bw.flush();}//关闭资源br.close();bw.close();System.out.println(复制成功);}}/////////////////////////////////////////////////////////////////////4/*题目:编写一个程序,将指定目录下所有.java文件拷贝到另一个目录中,并将扩展名改为.txt思路:1、用File对象封装目录2、通过listFiles()方法获取该目录下所有的文件或者文件夹的File对象数组3、遍历这个File数组,得到每一个File对象4、判断该File对象是否是文件a、如果是文件b、继续判断是否以.java结尾是:先改名后复制文件否:不复制*///导包importjava.io.IOException;importjava.io.File;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.io.FileInputStream;importjava.io.FileOutputStream;classTest{publicstaticvoidmain(String[]args)throwsIOException{//用File对象封装目录Filesrcfile=newFile(D:\\demos\\);//用File对象封装目录FiledestFile=newFile(D:\\copyTo\\);//调用复制的方法copyFile(srcfile,destFile);}//复制方法publicstaticvoidcopyFile(FilesrcFile,FiledestFile)throwsIOException{//通过listFiles()方法获取该目录下所有的文件或者文件夹的File对象数组File[]fileArray=srcFile.listFiles();//遍历这个File数组,得到每一个File对象for(Filefile:fileArray){//判断该File对象是否是文件if(file.isFile()){//如果不是以java为后缀的不复制,执行下次循环if(!file.getName().endsWith(.java)){continue;}//新文件File对象//复制前改名FilenewFile=newFile(destFile,file.getName().replace(.java,.txt));//用高效的字节输入流封装数据源BufferedInputStreambis=newBufferedInputStream(newFileInputStream(file));//用高效的字节输出流封装目的地BufferedOutputStreambos=newBufferedOutputStream(newFileOutputStream(newFile));byte[]bys=newbyte[1024];intlen=0;//判断是否读到文件结尾while((len=bis.read(bys))!=-1){//将数据写到文件中bos.write(bys,0,len);//刷新缓存流bos.flush();}//关闭流对象bis.close();bos.close();}}}}///////////////////////////////////////////////////////////5/*题目1:将项目路径下java_all目录下所有的.java文件复制到项目路径下Java_jad文件夹下,并将文件名从原来的.java修改成.jad*/******************************************************************************/*题目2:编写一个程序,把一个目录里边的所有带.java文件拷贝到另一个目录中,拷贝成功后,把后缀名是.java的文件改为.txt文件。(注意事项:是先拷贝,拷贝成功后才可以改后缀名的)*/(★将以下代码改改路径和扩展名即可★)/*思路:1、用File对象封装目录2、通过listFiles()方法获取该目录下所有的文件或者文件夹的File对象数组3、遍历这个File数组,得到每一个File对象4、判断该File对象是否是文件a、如果是文件b、继续判断是否以.java结尾是:复制文件在复制完成后改名否:不复制*///导包importjava.io.IOException;importjava.io.File;importjava.io.BufferedInputStream;importjava.io.BufferedOutputStream;importjava.i
本文标题:Java笔试题共23题(附答案)
链接地址:https://www.777doc.com/doc-2881336 .html