1、Java 实验 综合实验及练习第一部分:编程题1、编写程序实现输入整数 n,输出如下所示由数字组成的菱形。(图中 n=5) 11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 11 2.给出年、月、日,计算该日是该年的第几天?3、利用求素数的方法,就 62000000 之间的所有偶数验证歌德巴赫猜想: 任何一个大于6的偶数可以分解为两个素数之和。4、 现有 15 位选手参加比赛,有 6 个评委每个评委都要给每位选手打分,分数为 60100分,现需要定义二维数组存储选手成绩,每行存储一位选手打分情况,要求输
2、出选手得分以及选手最后得分,以及选手名次。评分规则:分数为 60100 分。选手最后得分为:去掉一个最高分和一个最低分后其余 4个分数的平均值。5、设计一个描述二维平面上点的类 Position,该类需要描述点的横坐标和纵坐标,并提供属性的 set/get 访问器方法和计算两点间距离的方法。写一个程序测试这个类6、 设计一个表示二维平面上点的类 Point,包含有表示坐标位置的 protected 类型的成员变量 x 和 y,获取和设置 x 和 y 值的 public 方法。设计一个表示二维平面上圆的类 Circle,它继承自类 Point,还包含有表示圆半径的protected 类型的成员变
3、量 r、获取和设置 r 值的 public 方法、计算圆面积的 public 方法。7、 编写一个完整的 Java Application 程序。包含接口 Shape,MyRectangle 类,MyTriangle 类及 Test 类,具体要求如下:、接口 Shape:double area():求一个形状的面积double perimeter ():求一个形状的周长、类 MyRectangle:实现 Shape 接口,并有以下属性和方法: 属性width: double 类型,表示矩形的长height: double 类型,表示矩形的高 方法MyRectangle(double w, do
4、uble h):构造函数ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0, area=2.0”、类 MyTriangle:实现 Shape 接口,并有以下属性和方法: 属性x,y,z: double 型,表示三角形的三条边s: 周长的 1/2(注:求三角形面积公式为 ,s=(x+y+z)()(zsyxs/2 ,开方可用 Math.sqrt(double)方法) 方法MyTriangle(double x, double y, double z):构造函数,给三条边和 s 赋初值。ToString():输出矩形的描述信息,
5、如“three sides:3.0,4.0,5.0,perimeter=12.0,area=6.0”、Test 类作为主类要完成测试功能 生成 MyRectangle 对象 调用对象的 ToString 方法,输出对象的描述信息8 完成以下窗体制作参考:这一题考虑使用组合布局,将上面控件放置在 JPanel 上,再将 JPanel 放到内容面板的中间。下面四个按钮先放在某 JPanel 再放置在内容面板的 South 部分9、以 JDBC 技术创建一个通讯录应用程序,要求通讯录中必须含有编号、姓名,性别、电话、地址、Email 等等。实现该类并包含添加、删除、修改、按姓名查等几个方法。编写主程
6、序测试。 参考如下:第一步:编写一个 Person 联系人类public class Person private int pid; /编号private String name; / 姓名 private String sex; / 性别 private String tel; / 电话 private String address;/ 地址 private String email; /email /*构造函数以及 set-get函数*/ 第二步:编写一个 PersonDao 封装对联系人类的有关操作public class PersonDao / 添加 联系人public void ad
7、dPerson(Person p) String sql=”;DBHelper. executeUpdate(sql); / 通过人的编号删除 联系人public void deletePersonByID(int pid) String sql=”delete from person where pid=”+pid;DBHelper. executeUpdate(sql);/通过人的姓名查找联系人,返回一个集合public List queryPersonByName(String name) . /. 其余方法 第三步:编写一个测试 Swing 类, 有界面使用 JTable 显示,参考书
8、本上关于 JTable 控件的使用,参考界面如下public class TestFrm extends JFrame 第二部分:选择题1、下面关于变量及其作用范围的陈述哪个是不对的?( )A实例变量是类的成员变量。B实例变量用关键字 static 声明。C在方法中定义的局部变量在该方法被执行时创建。D局部变量在使用前必须被初始化。2、 下面哪条语句把方法声明为抽象的公共方法? ( )Apublic abstract method();Bpublic abstract void method();C public abstract void method()Dpublic void metho
9、d() extends abstract;3、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于( )。A、本地方法 B、静态方法 C、最终方法 D、抽象方法4、在 Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。A、隐藏 B、覆盖 C、重载 D、Java 不支持此特性5、在 Java applet 程序中,用户自定义的 Applet 子类常常覆盖父类的( )方法来完成 applet 界面的初始化工作。A、start( ) B、stop( )
10、 C、init( ) D、paint( )6、下列关于构造方法的叙述中,错误的是( )AJava 语言规定构造方法名与类名必须相同BJava 语言规定构造方法没有返回值,但不用 void 声明C Java 语言规定构造方法不可以重载DJava 语言规定构造方法只能通过 new 自动调用7、关于被私有访问控制符 private 修饰的成员变量,以下说法正确的是( )A可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B可以被两种类访问和引用:该类本身、该类的所有子类C只能被该类自身所访问和修改D只能被同一个包中的类访问8、执行完以下代码 int x = new int
11、10;后,以下哪项说明是正确的( )Ax9为 0 Bx9未定义 C x10为 0 Dx0为空9、类 Test1 定义如下:1. public class Test12 public float aMethod(float a, float b) 34 将以下哪种方法插入行 3 是不合法的。 ( )A、public float aMethod(float a, float b,float c) B、public float aMethod(float c,float d) C、 public int aMethod(int a, int b) D、private float aMethod(in
12、t a,int b,int c) 10、以下哪个接口的定义是正确的?( )A、 interface A void print() ;B、 abstract interface A void print() ;C、 abstract interface A extends I1, I2 / I1、I2 为已定义的接口 abstract void print() ;D、 interface A void print();11、关于以下程序段,正确的说法是( )1 String s1=“a”+“b”;2 String s2=new String(s1) ;3 if(s1=s2 )4 System.o
13、ut.println(“= = is succeeded”);5 if (s1.equals(s2)6 System.out.println(“.equals() is succeeded”);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、下面关于继承的哪
14、些叙述是正确的? ( )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、。15、选择排序的思想是,将数据序列划分为两个子列,一个子列是排好序的,另一个是尚未排序的。现若想将数据序列由小到大排序,则每次放到有序子列尾部位置的元素,应从无序序列中选择( )。A)最大的 B)最小的 C)任意的 D)头上的16、类与对象的关系是( )。 A. 类是对象的抽象 B. 类是对象的具体实例 C. 对象是类的抽象 D. 对象是类的子类17、下列关于修饰符混用的说法,错误的是( ) A. abstract 不能与 final 并列修饰同一个类 B. abstract 类中不可以有 private 的成员 C. abstract 方法必须在 abstract 类中 D. static
16、 方法中能处理非 static 的属性18、编译并运行下述程序段的结果是:( )。public class Testpublic static void main(String argv)int count = new int4;System.out.println(count4);A编译时错误B运行时错误C输出 0D输出 null19、下面是有关子类继承父类构造函数的描述,其中正确的是( )。A创建子类的对象时, 先调用子类自己的构造函数,然后调用父类的构造函数。B子类无条件地继承父类不含参数的构造函数。C子类必须通过 super 关键字调用父类的构造函数。D子类无法继承父类的构造函数。20
17、、下面哪个不是 String 类的方法?( )A、 subString()B、 startsWith()C、 toString()D、 toUpperCase()21、 编译并运行以下程序段的结果是:( )public class MyClassfinal static int i;MyClass()i =0;public static void main(String args)System.out.println(i);A、 编译出错B、 nullC、 1D、 022、下面关于 java中类的说法哪个是不正确的?( )A、类体中只能有变量定义和成员方法的定义,不能有其他语句。B、构造函数是
18、类中的特殊方法。C、类一定要声明为 public的,才可以执行。D、一个 java文件中可以有多个 class定义。23、下列哪个类声明是正确的? ( ) A、 abstract final class H1B、 abstract private move()C、 protected private number;D、 public abstract class Car24、方法重载是指 ( ) A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同B.两个以上的方法取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的方法名字不同,但形参的个数或类型相同D.两个以上的方
19、法取相同的方法名,并且方法的返回类型相同 25、Frame 的默认的布局管理器是下列哪一个? ( ) A.FlowLayout B.BorderLayout C.GridLayout D.CardLayout26、下面的哪个用户界面组件不是容器? ( )A. JScrollPaneB. JFrameC. JWindowsD. JScrollBar27、在下列事件处理机制中哪个不是机制中的角色? ( 无 ) A. 事件 B. 事件源C. 事件接口 D. 事件处理者28.欲构造 ArrayList类的一个实例,此类继承了 List接口,下列哪个方法是正确的 ?( ) A、 ArrayList my
20、List=new Object(); B、 List myList=new ArrayList(); C、 ArrayList myList=new List(); D、 List myList=new List();29器被重新设置大小后,哪种布局管理器的容器中的组件大小不随容器大小的变化而改变? ( )A、 CardLayout B、 FlowLayout C、 BorderLayout D、 GridLayout 30个关键字可以对对象加互斥锁? ( )A、 transient B、 synchronized C、 serialize D、 static 31Teacher和 Stude
21、nt是类 Person的子类; Person p; Teacher t; Student s; /p, t and s are all non-null. if(t instanceof Person) s = (Student)t; 最后一句语句的结果是: ( )A、 将构造一个 Student对象; B、 表达式是合法的; C、 表达式是错误的; D、 编译时正确,但运行时错误。 32行下列程序, 会产生什么结果 ( 自己 )public class X extends Thread implements Runable public void run() System.out.print
22、ln(“this is run()“); public static void main(String args) Thread t=new Thread(new X(); t.start(); A、 in the Inner outer B、 outer C、 in the Inner D、编译不通过 33下面哪个是对字符串 String的正确定义 ( )A、String s1=null; B、String s2=null ;C、String s3=(String) abc ; D、String s4=(String) uface;34下面哪条语句定义了 5个元素的数组( )A、int a=
23、22,23,24,25,12;B、int a =new int(5);C、int 5 array;D、int arr;35给出一段程序,选择运行结果public class sss public static void main(String args)String s1=args1; String s2=args2;String s3=args3; String s4=args4;System.out.println(“args2=”+s2);命令行执行: java sss 1 2 3 4 结果是下面哪一个?( )A、args2=2 B、args2=null C、args2=1 D、运行出现
24、异常36下面哪个描述是正确的( )A、Applet 程序中不需要 main()方法,也不能有B、Application 程序中可以没有 main()方法。C、Applet 程序中可以不定义 init( )方法D、Application 程序中必须有 run( )方法37给出一段程序,试判断哪个是正确的结果( )public class rtExceptpublic static void throwit()System.out.print(“throwit”); throw new RuntimeException(); public static void main(String aa)trySystem.out.print(“hello “);