Java笔试题共23题附答案文档格式.docx
- 文档编号:20427902
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:43
- 大小:28.34KB
Java笔试题共23题附答案文档格式.docx
《Java笔试题共23题附答案文档格式.docx》由会员分享,可在线阅读,更多相关《Java笔试题共23题附答案文档格式.docx(43页珍藏版)》请在冰豆网上搜索。
//创建一个map对象
HashMap<
String,String>
map=newHashMap<
();
//向map中添加元素
map.put("
A"
"
101"
);
B"
102"
C"
103"
D"
104"
//获取键的集合
Set<
String>
set=map.keySet();
//循环遍历键集合
for(Stringstr:
set){
//通过键获取值
System.out.println(str+"
---"
+map.get(str));
}
System.out.println("
----------------------"
//获取map的键值对集合
Entry<
String,String>
>
mset=map.entrySet();
//循环遍历键值对集合
for(Entry<
me:
mset)
{
//用键值对对象分别获取键和值
System.out.println(me.getKey()+"
+me.getValue());
}
}
////////////////////////////////////////////////////////////////////
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[])
//创建集合1
List<
list1=newArrayList<
//向集合1添加元素
list1.add("
a"
b"
c"
d"
e"
//创建集合2
list2=newArrayList<
//向集合2添加元素
list2.add("
f"
g"
h"
//获取集合2的迭代器
Iteratorit=list2.iterator();
//遍历集合2
while(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
//封装数据源及目的地File
Filea=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();
复制成功"
4
编写一个程序,将指定目录下所有.java文件拷贝到另一个目录中,
并将扩展名改为.txt
思路:
1、用File对象封装目录
2、通过listFiles()方法获取该目录下所有的文件或者文件夹的File对象数组
3、遍历这个File数组,得到每一个File对象
4、判断该File对象是否是文件
a、如果是文件
b、继续判断是否以.java结尾
是:
先改名后复制文件
否:
不复制
importjava.io.BufferedInputStream;
importjava.io.BufferedOutputStream;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
classTest
publicstaticvoidmain(String[]args)throwsIOException
{
//用File对象封装目录
Filesrcfile=newFile("
D:
\\demos\\"
FiledestFile=newFile("
\\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("
.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
将项目路径下java_all目录下所有的.java文件复制到项目路径下Java_jad
文件夹下,并将文件名从原来的.java修改成.jad*/
编写一个程序,把一个目录里边的所有带.java文件拷贝到另一个目录中,
拷贝成功后,把后缀名是.java的文件改为.txt文件。
(注意事项:
是先拷贝,
拷贝成功后才可以改后缀名的)*/
"
(★将以下代码改改路径和扩展名即可★)
复制文件
在复制完成后改名
classFileCopySingleFolderByByte
//新文件
FilenewFile=newFile(destFile,file.getName());
//得到新文件名
StringnewName=newFile.getName().replace("
//根据新文件名创建新文件对象
FiletempFile=newFile(destFile,newName);
//改名
newFile.renameTo(tempFile);
6
统计一个文件夹下的txt文件个数,包括所有子文件夹内,
并将它们全部复制到D盘任意目录下
(★提示★)用高效字节流可以用来复制任意类型文件
1、定义一个统计变量
2、用File对象封装目录
3、通过listFiles()方法获取该目录下所有的文件或者文件夹的File对象数组
4、遍历这个File数组,得到每一个File对象
5、判断该File对象是否是文件夹
a、如果是文件夹回到第3步
b、继续判断是否以.txt结尾
复制文件并将统计文件变量加1
classFileCopyMultiFolderByByte
//用来统计复制文件的总个数
publicstaticintcount=0;
copyFolder(srcfile,destFile);
文件复制完毕,共复制文件"
+count+"
个"
publicstaticvoidcopyFolder(FilesrcFile,FiledestFile)throwsIOException
//判断该File对象是否是文件夹
if(file.isDirectory())
//多级目录递归
copyFolder(file,destFile);
else
//文件
copyFile(file,newFile);
//复制文件并计数的方法
publicstaticvoidcopyFile(FilesrcFile,FilenewFile)throwsIOException
//如果不是以txt为后缀的不复制,跳出循环
if(!
srcFile.getName().endsWith("
continue;
//统计文件个数的变量加1
count++;
//用高效的字节输入流封装数据源
BufferedInputStreambis=newBufferedInputStream(newFileInputStream(srcFile));
//用高效的字节输出流封装目的地
BufferedOutputStreambos=newBufferedOutputStream(newFileOutputStream(newFile));
byte[]bys=newbyte[1024];
intlen=0;
//判断是否读到文件结尾
while((len=bis.read(bys))!
//将数据写到文件中
bos.write(bys,0,len);
//刷新缓存流
bos.flush();
//关闭流对象
bis.close();
bos.close();
7
创建多线程的方式有几种?
请代码实现
解答:
一共两种。
1、通过实现Runnable接口,重写run()方法
2、通过继承THread类,重写run()方法。
//
classThreadTest
publicstaticvoidmain(String[]arg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 笔试 23 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)