Java实验 综合实验及练习
第一部分:编程题
1、编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5) 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 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、编写一个完整的Java Application 程序。包含接口Shape,MyRectangle类,MyTriangle类及Test类,具体要求如下:
⑴、接口Shape:
double area():求一个形状的面积
double perimeter ():求一个形状的周长 ⑵、类 MyRectangle:
实现Shape接口,并有以下属性和方法: ① 属性
width: double类型,表示矩形的长 height: double类型,表示矩形的高 ② 方法
MyRectangle(double w, double h):构造函数
ToString()方法 :输出矩形的描述信息,如“width=1.0,height=2.0, perimeter=6.0,
area=2.0” ⑶、类MyTriangle:
实现Shape接口,并有以下属性和方法: ① 属性
x,y,z: double型,表示三角形的三条边
s: 周长的1/2(注:求三角形面积公式为s(s?x)(s?y)(s?z),s=(x+y+z)/2 ,
开方可用Math.sqrt(double)方法)
② 方法
MyTriangle(double x, double y, double z):构造函数,给三条边和s赋
初值。
ToString():输出矩形的描述信息,如“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等等。实现该类并包含添加、删除、修改、按姓名查等几个方法。编写主程序测试。 参考如下:
第一步:编写一个Person联系人类 public class Person {
private int pid; //编号
private String name; private String sex; private String tel;
// 姓名
// 性别 // 电话
private String address; // 地址 private String email;
/*构造函数以及set-get函数*/ }
第二步:编写一个PersonDao封装对联系人类的有关操作 public class PersonDao {
// 添加 联系人
public void addPerson(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
第三步:编写一个测试Swing类,有界面使用JTable显示,参考书本上关于JTable控件的使用,参考界面如下
}
//... 其余方法
….
public class TestFrm extends JFrame{ }
第二部分:选择题
1、下面关于变量及其作用范围的陈述哪个是不对的?( ) A.实例变量是类的成员变量。 B.实例变量用关键字static声明。
C.在方法中定义的局部变量在该方法被执行时创建。 D.局部变量在使用前必须被初始化。
2、下面哪条语句把方法声明为抽象的公共方法?( ) A.public abstract method(); B.public abstract void method(); C.public abstract void method(){}
D.public void method() 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( ) C、init( ) D、paint( ) 6、下列关于构造方法的叙述中,错误的是( ) A.Java语言规定构造方法名与类名必须相同
B.Java语言规定构造方法没有返回值,但不用void声明 C.Java语言规定构造方法不可以重载
D.Java语言规定构造方法只能通过new自动调用
7、关于被私有访问控制符private修饰的成员变量,以下说法正确的是( ) A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、
在其他包中的该类的子类
B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问
8、执行完以下代码int [ ] x = new int[10];后,以下哪项说明是正确的( )
A.x[9]为0 B.x[9]未定义