Java 综合实验及练习参考答案.docx
- 文档编号:6856804
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:16
- 大小:36.93KB
Java 综合实验及练习参考答案.docx
《Java 综合实验及练习参考答案.docx》由会员分享,可在线阅读,更多相关《Java 综合实验及练习参考答案.docx(16页珍藏版)》请在冰豆网上搜索。
Java综合实验及练习参考答案
Java实验综合实验及练习
第一部分:
编程题
1、编写程序实现输入整数n,输出如下所示由数字组成的菱形。
(图中n=5)
1
121
12321
1234321
123454321
1234321
12321
121
1
2.给出年、月、日,计算该日是该年的第几天?
3、利用求素数的方法,就6~2000000之间的所有偶数验证歌德巴赫猜想:
任何一个大于6的偶数可以分解为两个素数之和。
4、现有15位选手参加比赛,有6个评委每个评委都要给每位选手打分,分数为60~100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输出选手得分以及选手最后得分,以及选手名次。
评分规则:
分数为60~100分。
选手最后得分为:
去掉一个最高分和一个最低分后其余4个分数的平均值。
5、设计一个描述二维平面上点的类Position,该类需要描述点的横坐标和纵坐标,并提供属性的set/get访问器方法和计算两点间距离的方法。
写一个程序测试这个类
6、设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x和y值的public方法。
设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。
7、编写一个完整的JavaApplication程序。
包含接口Shape,MyRectangle类,MyTriangle类及Test类,具体要求如下:
⑴、接口Shape:
doublearea():
求一个形状的面积
doubleperimeter():
求一个形状的周长
⑵、类 MyRectangle:
实现Shape接口,并有以下属性和方法:
1属性
width:
double类型,表示矩形的长
height:
double类型,表示矩形的高
2方法
MyRectangle(doublew,doubleh):
构造函数
ToString()方法:
输出矩形的描述信息,如“width=1.0,height=2.0,perimeter=6.0,area=2.0”
⑶、类MyTriangle:
实现Shape接口,并有以下属性和方法:
1属性
x,y,z:
double型,表示三角形的三条边
s:
周长的1/2(注:
求三角形面积公式为
,s=(x+y+z)/2,开方可用Math.sqrt(double)方法)
2方法
MyTriangle(doublex,doubley,doublez):
构造函数,给三条边和s赋初值。
ToString():
输出矩形的描述信息,如“threesides:
3.0,4.0,5.0,perimeter=12.0,area=6.0”
⑷、Test类作为主类要完成测试功能
1生成MyRectangle对象
2调用对象的ToString方法,输出对象的描述信息
8完成以下窗体制作
参考:
这一题考虑使用组合布局,将上面控件放置在JPanel上,再将JPanel放到内容面板的中间。
下面四个按钮先放在某JPanel再放置在内容面板的South部分
9、以JDBC技术创建一个通讯录应用程序,要求通讯录中必须含有编号、姓名,性别、电话、地址、Email等等。
实现该类并包含添加、删除、修改、按姓名查等几个方法。
编写主程序测试。
参考如下:
第一步:
编写一个Person联系人类
publicclassPerson{
privateintpid;//编号
privateStringname;//姓名
privateStringsex;//性别
privateStringtel;//电话
privateStringaddress;//地址
privateStringemail;//email
/*构造函数以及set-get函数*/
}
第二步:
编写一个PersonDao封装对联系人类的有关操作
publicclassPersonDao{
//添加联系人
publicvoidaddPerson(Personp){
Stringsql=””;
DBHelper.executeUpdate(sql);
}
//通过人的编号删除联系人
publicvoiddeletePersonByID(intpid){
Stringsql=”deletefrompersonwherepid=”+pid;
DBHelper.executeUpdate(sql);
}
//通过人的姓名查找联系人,返回一个集合
publicList
….
}
//...其余方法
}
第三步:
编写一个测试Swing类,有界面使用JTable显示,参考书本上关于JTable控件的使用,参考界面如下
publicclassTestFrmextendsJFrame{
}
第二部分:
选择题
1、下面关于变量及其作用范围的陈述哪个是不对的?
()
A.实例变量是类的成员变量。
B.实例变量用关键字static声明。
C.在方法中定义的局部变量在该方法被执行时创建。
D.局部变量在使用前必须被初始化。
2、下面哪条语句把方法声明为抽象的公共方法?
()
A.publicabstractmethod();
B.publicabstractvoidmethod();
C.publicabstractvoidmethod(){}
D.publicvoidmethod()extendsabstract;
3、若在某一个类定义中定义有如下的方法:
finalvoidaFinalFunction();
则该方法属于()。
A、本地方法B、静态方法C、最终方法D、抽象方法
4、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序的特性称为()。
A、隐藏B、覆盖C、重载D、Java不支持此特性
5、在Javaapplet程序中,用户自定义的Applet子类常常覆盖父类的()方法来完成applet界面的初始化工作。
A、start()B、stop()C、init()D、paint()
6、下列关于构造方法的叙述中,错误的是( )
A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明
C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
7、关于被私有访问控制符private修饰的成员变量,以下说法正确的是( )
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、
在其他包中的该类的子类
B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
8、执行完以下代码int[] x=newint[10];后,以下哪项说明是正确的( )
A.x[9]为0
B.x[9]未定义
C.x[10]为0
D.x[0]为空
9、类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){}
3.
4.}
将以下哪种方法插入行3是不合法的。
()
A、publicfloataMethod(floata,floatb,floatc){}
B、publicfloataMethod(floatc,floatd){}
C、publicintaMethod(inta,intb){}
D、privatefloataMethod(inta,intb,intc){}
10、以下哪个接口的定义是正确的?
()
A、 interfaceA
{voidprint(){};}
B、 abstractinterfaceA
{voidprint();}
C、 abstractinterfaceAextendsI1,I2//I1、I2为已定义的接口
{abstractvoidprint(){};}
D、 interfaceA
{voidprint();}
11、关于以下程序段,正确的说法是()
1. String s1=“a”+“b”;
2. String s2=new String(s1);
3. if(s1==s2)
4. System.out.println(“== issucceeded”);
5. if(s1.equals(s2))
6. System.out.println(“.equals()issucceeded”);
A.行4与行6都将执行 B.行4执行,行6不执行
C.行6执行,行4不执行 D.行4、行6都不执行
12、下面哪个函数是public void aMethod(){...}的重载函数?
( )
A、void aMethod( ){...}
B、public int aMethod(){...}
C、public void aMethod(){...}
D、public int aMethod ( int m){...}
13、下面关于继承的哪些叙述是正确的?
()
A.在java中允许多继承。
B. 在java中一个类只能实现一个接口。
C. 在java中一个类不能同时继承一个类和实现一个接口。
D. java的单一继承使代码更可靠。
14、关于length()这个方法的表述正确的是哪个?
()
A.数组有length()这个方法,string也有length()这个方法。
B.数组有length()有这个方法,string没有length()这个方法。
C.数组没有length()这个方法,string有length()这个方法。
D.数组没有length()这个方法,string也没有length()这个方法。
15、选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。
现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择()。
A)最大的B)最小的C)任意的D)头上的
16、类与对象的关系是()。
A.类是对象的抽象
B.类是对象的具体实例
C.对象是类的抽象
D.对象是类的子类
17、下列关于修饰符混用的说法,错误的是()
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.static方法中能处理非static的属性
18、编译并运行下述程序段的结果是:
()。
publicclassTest{
publicstaticvoidmain(Stringargv[]){
int[]count=newint[4];
System.out.println(count[4]);
}
}
A.编译时错误
B.运行时错误
C.输出0
D.输出null
19、下面是有关子类继承父类构造函数的描述,其中正确的是()。
A.创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
B.子类无条件地继承父类不含参数的构造函数。
C.子类必须通过super关键字调用父类的构造函数。
D.子类无法继承父类的构造函数。
20、下面哪个不是String类的方法?
()
A、subString()
B、startsWith()
C、toString()
D、toUpperCase()
21、编译并运行以下程序段的结果是:
()
publicclassMyClass{
finalstaticinti;
MyClass(){i=0;}
publicstaticvoidmain(Stringargs[]){
System.out.println(i);
}
}
A、编译出错
B、null
C、1
D、0
22、下面关于java中类的说法哪个是不正确的?
()
A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造函数是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
D、一个java文件中可以有多个class定义。
23、下列哪个类声明是正确的?
()
A、abstractfinalclassH1{…}
B、abstractprivatemove(){…}
C、protectedprivatenumber;
D、publicabstractclassCar{…}
24、方法重载是指()
A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同
B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同
C.两个以上的方法名字不同,但形参的个数或类型相同
D.两个以上的方法取相同的方法名,并且方法的返回类型相同
25、Frame的默认的布局管理器是下列哪一个?
()
A.FlowLayoutB.BorderLayout
C.GridLayoutD.CardLayout
26、下面的哪个用户界面组件不是容器?
()
A.JScrollPane
B.JFrame
C.JWindows
D.JScrollBar
27、在下列事件处理机制中哪个不是机制中的角色?
(无)
A.事件
B.事件源
C.事件接口
D.事件处理者
28.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?
()
A、ArrayListmyList=newObject();
B、ListmyList=newArrayList();
C、ArrayListmyList=newList();
D、ListmyList=newList();
29器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变?
()
A、CardLayout
B、FlowLayout
C、BorderLayout
D、GridLayout
30个关键字可以对对象加互斥锁?
()
A、transient
B、synchronized
C、serialize
D、static
31Teacher和Student是类Person的子类;
Personp;
Teachert;
Students;
//p,tandsareallnon-null.
if(tinstanceofPerson){s=(Student)t;}
最后一句语句的结果是:
()
A、将构造一个Student对象;
B、表达式是合法的;
C、表达式是错误的;
D、编译时正确,但运行时错误。
32行下列程序,会产生什么结果(自己)
publicclassXextendsThreadimplementsRunable{
publicvoidrun(){
System.out.println("thisisrun()");
}
publicstaticvoidmain(Stringargs[])
{
Threadt=new Thread(newX());
t.start();
}
}
A、intheInnerouter
B、outer
C、intheInner
D、编译不通过
33下面哪个是对字符串String的正确定义()
A、Strings1=null;B、Strings2=’null’;
C、Strings3=(String)‘abc’;D、Strings4=(String)‘\uface’;
34下面哪条语句定义了5个元素的数组()
A、int[]a={22,23,24,25,12};
B、inta[]=newint(5);
C、int[5]array;
D、int[]arr;
35给出一段程序,选择运行结果
publicclasssss{
publicstaticvoidmain(Stringargs[])
{
Strings1=args[1];Strings2=args[2];
Strings3=args[3];Strings4=args[4];
System.out.println(“args[2]=”+s2);
}
}
命令行执行:
javasss1234结果是下面哪一个?
()
A、args[2]=2B、args[2]=nullC、args[2]=1D、运行出现异常
36下面哪个描述是正确的()
A、Applet程序中不需要main()方法,也不能有
B、Application程序中可以没有main()方法。
C、Applet程序中可以不定义init()方法
D、Application程序中必须有run()方法
37给出一段程序,试判断哪个是正确的结果()
publicclassrtExcept{
publicstaticvoidthrowit(){
System.out.print(“throwit”);
thrownewRuntimeException();}
publicstaticvoidmain(String[]aa){
try{
System.out.print(“hello“);
throwit();}
catch(Exceptionre){
System.out.print(“caught”);}
finally{
System.out.print(“finally”);}
System.out.print(“after”);
}
}
A、hellothrowitcaught
B、hellothrowitcaughtfinallyafter
C、hellothrowitRuntimeExceptionafter
D、hellothrowitcaughtfinallyafterRuntimeException
38下面哪个描述是正确的()
A、Applet程序中不需要main()方法,也不能有
B、Application程序中可以没有main()方法。
C、Applet程序中可以不定义init()方法
D、Application程序中必须有run()方法
39面哪个修饰符修饰的变量是所有同一个类生成的对象共享的()
A、publicB、privateC、staticD、final
40面关于java中类的说法哪个是不正确的()
A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造函数是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
D、一个java文件中可以有多个class定义。
41下面程序运行后的输出结果为()
classA
{staticinty=3;
voidshowy(){System.out.println(“y=”+y);}}
classtestA
{
publicstaticvoidmain(Stringaaa[])
{Aa1=newA();
A.y+=1;a1.y++;
a1.showy();
}
}
输出结果选择:
A、y=3;B、y=4;C、y=5;D、程序运行出错
43在java的一个异常处理中,哪个语句块可以有多个()
A、catchB、finallyC、tryD、throws
44果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?
()
A、BoxLayoutB、GridLayoutC、BorderLayoutD、FlowLouLayout
45.给出如下代码:
classTest{
privateintm;
publicstaticvoidfun(){
//somecode...
}
}
如何使成员变量m被函数fun()直接访问?
()
A、将privateintm改为protectedintm
B、将privateintm改为publicintm
C、将privateintm改为staticintm
D、将privateintm改为intm
45AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A.staticvoidmethod()B.publicvoidmethod()
C.finalvoidmethod()D.abstractvoidmethod()
46.类Teacher和Student是类Person的子类;
Personp;
Teachert;
Students;
//p,tandsareallnon-null.
if(tinstanceofPerson){s=(Student)t;}
最后一句语句的结果是:
A、将构造一个Student对象;
B、表达式是合法的;
C、表达式是错误的;
D、编译时正确,但运行时错误。
47.对于下列代码:
publicclassParent{
publicintaddValue
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 综合实验及练习参考答案 综合 实验 练习 参考答案