JAVA期末考试题库中的编程题.docx
- 文档编号:8175896
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:12
- 大小:18.88KB
JAVA期末考试题库中的编程题.docx
《JAVA期末考试题库中的编程题.docx》由会员分享,可在线阅读,更多相关《JAVA期末考试题库中的编程题.docx(12页珍藏版)》请在冰豆网上搜索。
JAVA期末考试题库中的编程题
大二上学期JAVA期末考试题库中的编程题
1.(6分)编写一个输出"HelloWorld!
"的程序,用两种方式实现(Application、Applet)。
①Application(2分)
②Applet(4分)
2.(8分)用输入/输出写一个程序,让用户输入一些姓名和电话。
每一个姓名和电话将加在文件里。
用户通过输入"quit"来告诉系统整个列表已输入完毕。
如果用户输完整个列表,程序将创建一个输出文件phoneno.dat。
文件phoneno.dat中的数据格式如:
88078549,张三
12345678-123,李四
3.编写一个输出"WelcometoJavaWorld!
"的Applet程序和嵌入该Applet的HTML页面。
①//Welcome.java(4分)
②//Welcome.html(2分)
4.(8分)用输入/输出写一个程序,让用户输入一些学生的姓名和学号。
将每一个姓名和学号都加在文件里。
用户通过输入"quit"来告诉系统整个列表已输入完毕。
如果用户输完整个列表,程序将创建一个输出文件studentno.dat。
文件studentno.dat中的数据格式如:
2004001,杨一
2004002,张三
2004003,李四
5.编写一个完整的JavaApplication程序。
包含接口ShapeArea、类Rectangle和Test,具体要求如下:
⑴接口ShapeArea
接口方法
doublegetArea():
求一个形状的面积
doublegetPerimeter():
求一个形状的周长
⑵类Rectangle
实现ShapeArea接口,并有以下属性和方法:
①属性
width:
double型,表示长方形的宽度
height:
double型,表示长方形的长度
②方法
Rectangle(doublew,doubleh):
构造函数
toString():
输出矩形的描述信息,如“width=1.0,height=2.0,perimeter=6.0,area=2.0”
⑶类Test作为主类要完成测试功能
①生成Rectangle对象,长方形的宽度和长度分别为1和2
②调用对象的toString方法,输出对象的描述信息
(注:
程序框架已给出,请填写完整。
)
importjava.io.*;
interfaceShapeArea//接口定义2分
{
}
classRectangleimplementsShapeArea
{
//属性定义1分
Rectangle(doublew,doubleh)//构造函数定义(1分)
{
}
publicdoublegetPerimeter()//方法定义(1分)
{
}
publicdoublegetArea()//方法定义(1分)
{
}
publicStringtoString()//方法定义(2分)
{
}
}
publicclassTest
{
publicstaticvoidmain(Stringargs[])//main方法定义(2分)
{
}
}
6.编写一个完整的JavaApplication程序,包括ShapeArea接口、MyTriangle类、Test类,具体要求如下:
⑴接口ShapeArea:
doublegetArea():
求一个形状的面积
doublegetPerimeter():
求一个形状的周长
⑵类MyTriangle:
实现ShapeArea接口,另有以下属性和方法:
③属性
x,y,z:
double型,表示三角形的三条边
s:
周长的1/2(注:
求三角形面积公式为,s=(x+y+z)/2,开方可用Math.sqrt(double)方法)
④方法
MyTriangle(doublex,doubley,doublez):
构造函数,给三条边和s赋初值。
toString():
输出矩形的描述信息,如“threesides:
3.0,4.0,5.0,perimeter=12.0,area=6.0”
⑶Test类作为主类要完成测试功能
②生成MyTriangle对象
②调用对象的toString方法,输出对象的描述信息
7.编写一个完整的JavaApplication程序。
该程序包含类Person、Student、TestStudent,具体要求如下:
⑴类Person
①属性
name:
String对象,表示一个人姓名
sex:
char类型,用来表示性别
id:
String对象,表示身份证号
phone:
String对象,表示联系电话
email:
String对象,表示E-mail地址
②方法
Person(Namename,charsex,Stringid):
构造函数
StringgetId():
获得身份证号
voidsetEmail(Stringemail):
设置E-mail地址
voidsetPhone(Stringphone):
设置联系电话
publicStringtoString():
返回个人的各项信息,包括姓名、性别等上述属性
⑵类Student
从Person类派生,增加了以下属性和方法:
①属性
sNo:
long类型,表示学生的学号
sClass:
String对象,表示学生的班级
②方法
Student(longsNo,Stringname,charsex,Stringid):
构造函数
setClass(StringsClass):
设置学生的班级信息
publicStringtoString():
返回学生的各项信息,包括学号、班级、姓名等上述属性
(3)类TestStudent作为主类要完成测试功能
(注:
程序框架已给出,请填写完整。
)
importjava.io.*;
classPerson
{
protectedStringname;
protectedcharsex;
protectedStringid;
protectedStringphone;
protectedStringemail;
Person(Stringname,charsex,Stringid)//定义构造方法(2分)
{
}
StringgetId()//定义方法(1分)
{
}
StringgetName()//定义方法(1分)
{
}
voidsetEmail(Stringemail)//定义方法(1分)
{
}
voidsetPhone(Stringphone)//定义方法(1分)
{
}
publicStringtoString()
{Strings=newString("\n\t姓名:
"+name+"\n\t性别:
"+sex);
if(id!
=null)s+="\n\t身份证号:
"+id;
if(phone!
=null)s+="\n\t联系电话:
"+phone;
if(email!
=null)s+="\n\t联系email:
"+email;
returns;}
}
}
classStudentextendsPerson
{
//定义属性(1分)
Student(longsNo,Stringname,charsex,Stringid)//定义构造方法(2分)
{
}
voidsetClass(StringsClass)//定义方法(1分)
{
}
publicStringtoString()
{Strings=newString("\n\t姓名:
"+name+"\n\t性别:
"+sex+"\n\t学号:
"+sNo);
if(sClass!
=null)s+="\n\t班级:
"+sClass;
if(id!
=null)s+="\n\t身份证号:
"+id;
if(phone!
=null)s+="\n\t联系电话:
"+phone;
if(email!
=null)s+="\n\t联系email:
"+email;
returns;
}
}
publicclassTestStudent
{publicstaticvoidmain(Stringargs[])
{StudentaStudent=newStudent(2004001,"王非",'女',"2202198506070222");
aStudent.setPhone("88078549");
aStudent.setEmail("wangfei@");
System.out.println("studentinfo:
"+aStudent);}
}
}
8.编写一个完整的JavaApplication程序。
包含抽象类Shape,MyCircle类及Test类,具体要求如下:
⑴抽象类Shape:
doublegetArea():
求一个形状的面积
doublegetPerimeter():
求一个形状的周长
⑵类MyCircle:
由Shape类派生的具体类,除实现Shape类中的方法外,另有以下属性和方法:
①属性
radius:
double类型,表示圆的半径
②方法
MyCircle(doubler):
构造函数
toString()方法:
输出圆的描述信息,如“radius=1.0,perimeter=6.28,area=3.14”
⑶Test类作为主类要完成测试功能
③生成MyCircle对象,半径为1.0
②调用对象的toString方法,输出对象的描述信息
(注:
程序框架已给出,请填写完整。
)
importjava.io.*;
abstractclassShape//抽象类定义(3分)
{
}
classMyCircleextendsShape
{
finaldoublePI=3.14;
doubleradius;
MyCircle(doubler)//构造函数定义(1分)
{
}
publicdoublegetPerimeter()//方法定义(1分)
{
}
publicdoublegetArea()//方法定义(1分)
{
}
publicStringtoString()//方法定义(2分)
{
}
}
publicclassTest
{
publicstaticvoidmain(Stringargs[])//main方法定义(2分)
{
}
}
----------------------答案------------------------------------------------
1.①(application占2分)
publicclassWelcome
{ publicstaticvoidmain(Stringargs[])(1分)
{ System.out.println("HelloWorld!
");}(1分)
}
②(applet占4分)
importjava.awt.Graphics;
importjava.applet.Applet;(1分)
publicclassWelcomeextendsApplet{(1分)
Strings;
publicvoidinit(){s="HelloWorld!
"; }(1分)
publicvoidpaint(Graphicsg){g.drawString(s,25,25); }(1分)
}
2.importjava.io.*;
publicclassStudentFile
{staticFileOutputStreamfos;
publicstaticfinalintlineLength=81;
publicstaticvoidmain(Stringargs[])throwsIOException
{byte[]phone=newbyte[lineLength];
byte[]name=newbyte[lineLength];
try{fos=newFileOutputStream("phoneno.dat");}
catch(FileNotFoundExceptione){}
while(true)
{System.out.println("Enteraname(enter'quit'toquit)");
readLine(name);
if("quit".equalsIgnoreCase(newString(name,0,0,4)))
{break;}
System.out.println("Enterthephonenumber");
readLine(phone);
for(inti=0;phone!
=0;i++)
{fos.write(phone);}
fos.write(',');
for(inti=0;name!
=0;i++)
{fos.write(name);}
fos.write('\n');
}
fos.close();
}
privatestaticvoidreadLine(byteline[])throwsIOException
{inti=0,b=0;
while((i ='\N')) {line[i++]=(byte)b;} line=(byte)0; } } 3.(6分) ①//Welcome.java importjava.awt.Graphics; importjava.applet.Applet;(1分) publicclassWelcomeextendsApplet{(1分) Strings; publicvoidinit(){s="WelcometoJavaWorld! "; }(1分) publicvoidpaint(Graphicsg){g.drawString(s,25,25); }(1分) } ② //Welcome.html (2分) 4.(8分) importjava.io.*; publicclassStudentFile {staticFileOutputStreamfos; publicstaticfinalintlineLength=81; publicstaticvoidmain(Stringargs[])throwsIOException {byte[]no=newbyte[lineLength]; byte[]name=newbyte[lineLength]; try{fos=newFileOutputStream("studentno.dat");} catch(FileNotFoundExceptione){} while(true) {System.out.println("Enteraname(enter'quit'toquit)"); readLine(name); if("quit".equalsIgnoreCase(newString(name,0,0,4))) {break;} System.out.println("Enterthestudentnumber"); readLine(no); for(inti=0;no! =0;i++) {fos.write(no);} fos.write(','); for(inti=0;name! =0;i++) {fos.write(name);} fos.write('\n'); } fos.close(); } privatestaticvoidreadLine(byteline[])throwsIOException {inti=0,b=0; while((i ='\N')) {line[i++]=(byte)b;} line=(byte)0; } } 5.publicclassTest{//主类定义2分 publicstaticvoidmain(Stringargs[]) {Rectangler=newRectangle(1,2); System.out.println(r.toString());} } interfaceShapeArea//接口定义2分 {publicabstractdoublegetPerimeter(); publicabstractdoublegetArea(); } classRectangleimplementsShapeArea{ doublewidth,height;//属性定义1分 Rectangle(doublew,doubleh)//构造函数定义1分 {width=w;height=h;} publicdoublegetPerimeter()//1分 {return2*(width+height);} publicdoublegetArea()//1分 {returnwidth*height;} publicStringtoString()//2分 {return"width="+width+",height="+height+ ",perimeter="+getPerimeter()+",area="+getArea(); } } 6.//参考源程序如下,具体评分标准见程序注释 publicclassTestShape//主类定义1分 {publicstaticvoidmain(Stringargs[]) {MyTrianglet=newMyTriangle(3.0,4.0,5.0); System.out.println(t.toString());} } interfaceShapeArea//接口定义2分 {publicabstractdoublegetPerimeter(); publicabstractdoublegetArea(); } classMyTriangleimplementsShapeArea{ doublex,y,z; doubles; MyTriangle(doublet1,doublet2,doublet3)//构造方法1分 {x=t1;y=t2;z=t3;s=(x+y+z)/2;} publicdoublegetPerimeter(){returnx+y+z;}//求周长方法2分 publicdoublegetArea(){returnMath.sqrt(s*(s-x)*(s-y)*(s-z));}//求面积方法2分 publicStringtoString()//toString()2分 {return"threesides: "+x+","+y+","+z+","+"perimeter="+getPerimeter()+",area="+getArea();} } 7. classPerson { protectedStringname; protectedcharsex; protectedStringid; protectedStringphone; protectedStringemail; //定义构造方法(2分) Person(Stringname,charsex,Stringid) {this.name=name; this.sex=sex; this.id=id;} //定义方法(1分) StringgetId() {returnid;} //定义方法(1分) StringgetName() {returnname;} //定义方法(1分) voidsetEmail(Stringemail) {this.email=email;} //定义方法(1分) voidsetPhone(Stringphone) {this.phone=phone;} publicStringtoString() {Strings=newString("\n\t姓名: "+name+"\n\t性别: "+sex); if(id! =null)s+="\n\t身份证号: "+id; if(phone! =null)s+="\n\t联系电话: "+phone; if(email! =null)s+="\n\t联系email: "+email; returns; } } classStudentextendsPerson { //定义属性(1分) longsNo; StringsClass; //定义构造方法(2分) Student(longsNo,Stringname,charsex,Stringid) {super(name,sex,id); this.sNo=sNo; } //定义方法(1分) voidsetClass(StringsClass) {this.sClass=sClass;} publicStringtoString()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 期末考试 题库 中的 编程