java考试复习资料黄河科技学院考试复习资料.docx
- 文档编号:6791056
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:13
- 大小:27.04KB
java考试复习资料黄河科技学院考试复习资料.docx
《java考试复习资料黄河科技学院考试复习资料.docx》由会员分享,可在线阅读,更多相关《java考试复习资料黄河科技学院考试复习资料.docx(13页珍藏版)》请在冰豆网上搜索。
java考试复习资料黄河科技学院考试复习资料
1.制作一个JFrame的应用程序,设置背景色为蓝色(blue),布局管理为流式布局,该JFrame包含一个JButton,名为“关闭”,点击后关闭该JFrame,退出程序。
(10分)
解;importjava.awt.*;
importjavax.swing.*;
publicclassFlow
{publicstaticvoidmain(String[]args)
{FlowLayoutflow=newFlowLayout();
JFramef=newJFrame("Test");
f.getContentPane().setLayout(flow);
JButtonbutton=newJButton(“关闭”)
button.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
System.exit(0);}});
f.getContentPane().add(button);
f.setSize(100,200);
f.setBackground(Color.blue);
f.setVisible(true);} }
2.有下面一段Server段程序,目的是能够同时服务多个客户,客户的请求是一句话(一个String)。
如果这个请求的内容是字符串"plain"的话,服务器仅将"hello"字符串返回给用户。
否则将用户的话追加到当前目录的文本文件Memo.txt中(路径为"Memo.txt"),并向用户返回"OK"。
注意Server并发的处理多用户,Memo.txt被共享,要求不能出现数据不一致。
Server的程序如下文件Server.java:
。
。
。
。
。
。
请根据题目的要求和现有的Server.java,UserThread.java的程序,完成类MemoController.java的程序。
(10分)
解:
importjava.io.*;
publicclassMemoController{
FileOutputStreamfos;
OutputStreamWriterosw;
BufferedWriterbw;
publicMemoController(){
try{
fos=newFileOutputStream("memo.txt",true);
osw=newOutputStreamWriter(fos);
bw=newBufferedWriter(osw);
}catch(FileNotFoundExceptione){};}
publicsynchronizedvoidappend(Strings){
try{bw.write(s,0,s.length());
bw.flush();
bw.close();
osw.close();
fos.close();
}catch(IOExceptione){}}
publicstaticvoidmain(Stringargs[]){
MemoControllermmc=newMemoController();
mmc.append("Iamxubin");}}
3.下面的程序A.java是一个应用程序(其源文件中还定义了另一个类B),其实现各自功能的代码没有给出,若程序的功能是在命令行把当前文件夹下的所有后缀名为.java文件显示在命令行界面,每行显示一个文件名,请完成程序后面的1、2小题,将程序补充完整。
(8分)
1):
importjava.io2):
publicclassA{3):
publicstaticvoidmain(Stringargs[]){
…//将当前目录下所有以.java结尾的文件显示在命令行,每行显示一个文件名。
9):
}10):
11):
12):
classBimplementsFilenameFilter{
13):
publicbooleanaccept(Filedir,Strings){
…//过滤文件名以.java结尾的文件。
18):
}19):
}
(1).类B实现了文件名过滤器接口FilenameFilter,请为接口中的accept方法编写方法体,实现以下功能:
若代表文件名的第2个参数s是以字符串.java结尾,则返回true,否则返回false。
if(s.endsWith(".java"))
returntrue;
else
returnfalse;
(2).类A中的main方法的功能是:
将当前目录下所有以.java结尾的文件显示在命令行,每行显示一个文件名。
请写出main方法中的所有代码。
Filefile=newFile(".");
String[]str1=file.list(newB());
for(inti=0;i {System.out.println(str1[i]);} 4.编写一个完整的JavaApplication程序。 包含类Student、TestStudent,具体要求如下: (10分) ⑴Student类: ①属性 name: String对象,表示一个人姓名sex: char类型,用来表示性别id: long类型,表示学号 classinfo: String对象,表示班级address: String对象,表示家庭地址 ②方法Student(Stringname,charsex,longid): 构造函数StringgetName(): 返回姓名voidsetId(longid): 设置学号voidsetAddress(Stringadd): 设置家庭地址 voidsetClass(Stringclassinfo): 设置班级信息publicStringtoString(): 返回学生的各项信息,包括姓名、性别等上述属性 (2)类TestStudent作为主类要完成测试功能: ①用以下信息生成一个Student对象aGirl 姓名: 杨阳性别: 女学号: 1234567②设置家庭地址: 浙江杭州教工路42号设置班级信息: 2004计算机1班③输出对象aGirl的各项 classStudent {//表示学生的类 protectedStringname; protectedcharsex; protectedlongid; protectedStringclassinfo; protectedStringaddress; Student(Stringname,charsex,longid) {this.name=name; this.sex=sex; this.id=id; } voidsetId(longid) {this.id=id;} voidsetAddress(Stringaddr) {this.address=addr;} voidsetClass(Stringclassinfo) {this.classinfo=classinfo;} publicStringtoString() {Strings=newString("\n姓名: "+name +"\n性别: "+sex); s+="\n学号: "+id; if(classinfo! =null) s+="\n班级: "+classinfo; if(address! =null) s+="\n家庭地址: "+address; returns;} } publicclassTestStudent {publicstaticvoidmain(Stringargs[]) {StudentaGirl=newStudent("杨阳",'女',1234567); aGirl.setClass("2004计算机1班"); aGirl.setAddress("浙江杭州教工路42号"); System.out.println("aGirl: "+aGirl);//这样会输出一个对象的所有属性的现有值 }} 1.阅读程序,回答问题 1): publicclassA{ 2): publicstaticvoidmain(Stringargs[]){ 3): intx=1; 4): for(inti=1;i<=5;i++){ 5): if(i%2==0) 6): continue; 7): x*=i; 8): } 9): System.out.println("x="+x); 10): } 11): } (1)这是那一类java程序? Application (2)程序输出的结果是什么? 15 2.阅读下面的程序(或程序片段),回答问题。 importjava.awt.Graphics; importjava.applet.Applet; publicclassBreakTestextendsApplet { publicvoidpaint(Graphicsg) { intcount,xPos=25; for(count=1;count<=10;count++) { if(count==8) break; g.drawString(""+count,xPos,25); xPos+=10; } } } 问题: 1)程序的输出结果是什么? (1)程序输出的结果是: 从坐标(25,25)开始,沿水平线每隔10个像素点输出数字从1-7,即1234567 2)方法调用g.drawString(""+count,xPos,25);的第一个实参中为什么要有串""? 方法drawString的第一个参数应是String类的对象 3.写出下列程序的功能(3分) importjava.awt.*; importjava.applet.Applet; publicclassApplet1extendsApplet { publicvoidpaint(Graphicsg) { g.drawLine(30,5,100,45); g.drawRect(30,50,50,20); g.drawOval(30,80,50,40); }} 在Applet界面中显示一些由直线段、矩形框和椭圆组成的图形,其中: 直线段从坐标(30,5)起到坐标(100,45)止;矩形左上角坐标为(30,50),长为50,高为20;椭圆外接矩形左上角坐标为(30,80),水平轴长50,垂直轴长40 4.阅读程序,根据程序功能,在指定的空白处填上适当的语句或语法成分,使程序完整。 下面程序的功能是输出数组各元素的和。 (每空3分) importjava.awt.Graphics; importjava.applet.Applet; publicclassSumArrayextendsApplet { float[]a; a=new_float______[6]; floatsum=0.0f; publicvoidinit() { for(intj=0;j a[j]=j+1; for(inti=0;i sum+=a[i]; } publicvoidpaint(Graphicsg) { g.drawString("Totalofarrayelements: "+__sum______,25,25); } } 5.阅读程序,回答问题 1): publicclassA{ 2): publicstaticvoidmain(Stringargs[]){ 3): Xx=newX(); 4): Yy=newY(); 5): x.showX(); 6): y.showY(); 7): } 8): } 9): 10): classX{ 11): publicvoidshowX(){ 12): System.out.println("aaaaa"); 13): } 14): } 15): 16): classY{ 17): Xa=newX(){ 18): publicvoidshowX(){ 19): System.out.println("bbbbb"); 20): } 21): }; 22): publicvoidshowY(){ 23): a.showX(); 24): } 25): } 程序第5行的方法调用输出的结果如何? 结果: aaaaa 6.阅读程序,回答问题 1): publicclassA{ 2): publicstaticvoidmain(String[]args){ 3): longfirst=1,second=1,third; 4): System.out.print(first+""+second+""); 5): for(inti=3;i<=6;i++){ 6): third=first+second; 7): System.out.print(third+""); 8): first=second; 9): second=third; 10): } 11): } 12): } (1)程序第5~10行的for循环共循环几次? (1)4次循环结束条件是i<=6,则i值分别是3、4、5、6,故4次 (2)程序输出的结果是什么? (2)输出的结果是: 112358 1.阅读程序,回答问题 1): publicclassA{ 2): publicstaticvoidmain(Stringargs[]){ 3): Bb=newB(); 4): b.start(); 5): } 6): } 7): classBextendsThread{ 8): publicvoidrun(){ 9): for(inti=1;i<3;i++){ 10): System.out.println("第"+i+"次"+""); 11): try{ 12): sleep(1000); 13): } 14): catch(InterruptedExceptione){ 15): e.printStackTrace(); 16): } 17): } 18): } 19): } (1)程序第12行的sleep方法调用的功能是什么? 休眠1000毫秒 (2)程序输出的结果是什么? 第1次,第2次(3分) 2.阅读程序,回答以下问题. publicclassInheritTest1 {publicstaticvoidmain(String[]args) {Aaa; Bbb; aa=newA(); bb=newB(); aa.show(); bb.show();}} //A.java publicclassA {inta=1; doubled=2.0; voidshow() {System.out.println("ClassA: "+"\ta="+a+"\td="+d); }} //B.java publicclassBextendsA {floata=3.0f; Stringd="Javaprogram."; intb=4; voidshow() {System.out.println("ClassA: "+"\ta="+super.a+"\td="+super.d); super.show(); System.out.println("ClassB: "+"\ta="+a+"\td="+d+"\tb="+b);}} 问题: 1)类A和类B是什么关系? )类A是类B的父类 2)按程序输出的格式写出程序运行后的结果。 2)ClassA: a=1d=2.0 ClassA: a=1d=2.0 ClassA: a=1d=2.0 ClassB: a=3.0d=Javaprogram.b=4 3.阅读程序,根据程序功能,在指定的空白处填上适当的语句或语法成分,使程序完整。 下面是用户程序对Applet类中方法action()的重新定义,功能为从单行文本编辑区input中输入数据赋给k。 TextField类的对象input和int型变量k已在类体中正确说明。 (每空3分) public_boolean___action(Evente,Objecto) {if(e.target==input) k=Integer.parseInt(_input_.getText()); repaint(); returntrue;} 4.阅读程序,根据程序功能,在指定的空白处填上适当的语句或语法成分,使程序完整。 下面是一个类的定义。 (每空3分) class__myclass__//定义名为myclass的类 {__static__intvar=666; staticintgetvar() {returnvar;}} 5.阅读下面的程序(或程序片段),回答问题。 classstudent {Stringname; intage; intscore=88; student(Stringa1,inta2,inta3) {name=a1; age=a3; score=a2;}} 在使用该类时,已使用下面语句生成了该类的对象: students1,s2; s1=newstudent("张三",20,33); s2=newstudent(); 问题: (1)s1.name,s1.age,s1.score的值各是什么? s1.name="张三",s1.age=33,s1.score=20 (2)s2.nae,s2.age,s2.score的值各是什么? s2.name=null,s2.age=0,s2.score=88 6.写出下列程序的功能(3分) importjava.io.*; publicclassClass1 {publicstaticvoidmain(Stringargs[]) {inti,Max,Min; inta[]={12,67,8,98,23,56,124,55,99,100}; Max=Min=a[0]; for(i=1;i {if(a[i] if(a[i]>Max)Max=a[i];} System.out.println(Max+""+Min); System.out.println();}} 一、判断题(每小题1分,共10分) 1.Java1.5的编译器javac.exe和以前版本一样,可以向下兼容。 N 2.Java支持多继承。 N 3.任何类都有构造函数,如果没有构造函数,就不能创建该类的对象。 Y 4.一个类如果实现了某个接口,那么它必须覆盖该接口中的所有方法。 Y 5.用“+”可以实现字符串的拼接,用-可以从一个字符串中去除一个字符子串。 N 6.容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。 N 7.Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。 Y 8.重载的方法可以通过它们的返回值类型的不同来区分。 N 9.面向对象的软件开发方法用类把数据和基于数据的操作封装在一起,并且类之间可以存在继承关系。 Y 10.Java源程序的文件名必须和公共类的类名相同。 Y 二、单项选择题(每小题1分,共20分)下列各题A、B、C、D四个选项中,只有一个选项时正确的。 1.下面属于Java关键字的是(D、while)。 A、NULL B、IF C、DO D、while 2.类JPanel默认的布局管理器是(CFlowLayout) A、GridLayout B、BorderLayout C、FlowLayout D、CardLayout 3.在Java中,能实现多重继承效果的方式是(C接口) A、内部类 B、适配器 C、接口 D、同步 4.下列关于JavaApplication与Applet的说法中,正确的是B都通过“appletviewer”命令执行) A、都包含main()方法 B、都通过“appletviewer”命令执行 C、都通过“javac”命令编译 D、都嵌入在HTML文件中 5.关于以下代码所画图形的说明,正确的是(A) g.setColor(Color.black); g.drawLine(10,10,10,50);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java考试复习资料 黄河科技学院考试复习资料 java 考试 复习资料 黄河 科技学院