还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《Java程序设计》上机实验指导书实验一类与对象【实验目的】
①使用类来封装对象的属性和功能;
②掌握类变量与实例变量,以及类方法与实例方法的区别;
③理解接口、塑型、多态的概念并能熟练应用
④巩固以下概念子类的继承性子类对象的创建过程成员变量的继承与隐藏方法的继承与重写【实验任务】
1、创建Java类与对象,并创建方法
(1).编写一个Java程序片断,以定义一个表示学生的类Student这个类的属性有“学号”、“班号”、“姓名”、“性别”、“年龄”,方法有“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”、“获得年龄”
(2).为类Student增加一个方法publicStringtoString,该方法把Student类的对象的所有属性信息组合成一个字符串以便输出显示编写一个JavaApplication程序,创建Student类的对象,并验证新增加的功能classStudent{privatelongstudentID;privateintclassID;privateStringname;privateStringsex;privateintage;publicStudentlongstudentIDintclassIDStringnameStringsexintage{this.studentID=studentID;this.classID=classID;this.name=name;this.sex=sex;this.age=age;}publiclonggetStudentID{returnstudentID;}publicintgetClassID{returnclassID;}publicStringgetName{returnname;}publicStringgetSex{returnsex;}publicintgetAge{returnage;}publicStringtoString{return学号+getStudentID+\n班号+getClassID+\n姓名+getName+\n性别+getSex+\n年龄+getAge;}}publicclassStudentDemo{publicstaticvoidmainString[]args{Students1=newStudent902212Tommale20;System.out.printlns
1.toString;}}运行结果学号90221班号2姓名Tom性别male年龄
202、三角形、梯形和圆形的类封装实验要求编写一个Java应用程序,该程序中有3个类Trangle、Leder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”具体要求如下aTrangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形bLader类具有类型double的上底、下底、高、面积属性,具有返回面积的功能cCircle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能程序运行效果示例程序运行效果如下图所示程序模板AreaAndLength.javaclassTrangle{doublesideAsideBsideCarealength;booleanboo;publicTrangledoubleadoublebdoublec{【代码1】//参数abc分别赋值给sideAsideBsideCif【代码2】//abc构成三角形的条件表达式{【代码3】//给boo赋值}else{【代码4】//给boo赋值}}doublegetLength{【代码5】//方法体,要求计算出length的值并返回}publicdoublegetArea{ifboo{doublep=sideA+sideB+sideC/
2.0;area=Math.sqrtp*p-sideA*p-sideB*p-sideC;returnarea;}else{System.out.println不是一个三角形不能计算面积;return0;}}publicvoidsetABCdoubleadoublebdoublec{【代码6】//参数abc分别赋值给sideAsideBsideCif【代码7】//abc构成三角形的条件表达式{【代码8】//给boo赋值}else{【代码9】//给boo赋值}}}classLader{doubleabovebottomheightarea;Laderdoubleadoublebdoubleh{【代码10】//方法体,将参数abc分别赋值给abovebottomheight}doublegetArea{【代码11】//方法体,要求计算出area返回}}classCircle{doubleradiusarea;Circledoubler{【代码12】//方法体}doublegetArea{【代码13】//方法体,要求计算出area返回}doublegetLength{【代码14】//getArea方法体的代码要求计算出length返回}voidsetRadiusdoublenewRadius{radius=newRadius;}doublegetRadius{returnradius;}}publicclassAreaAndLength{publicstaticvoidmainStringargs[]{doublelengtharea;Circlecircle=null;Trangletrangle;Laderlader;【代码15】//创建对象circle【代码16】//创建对象trangle【代码17】//创建对象lader【代码18】//circle调用方法返回周长并赋值给lengthSystem.out.println圆的周长:+length;【代码19】//circle调用方法返回面积并赋值给areaSystem.out.println圆的面积:+area;【代码20】//trangle调用方法返回周长并赋值给lengthSystem.out.println三角形的周长:+length;【代码21】//trangle调用方法返回面积并赋值给areaSystem.out.println三角形的面积:+area;【代码22】//lader调用方法返回面积并赋值给areaSystem.out.println梯形的面积:+area;【代码23】//trangle调用方法设置三个边,要求将三个边修改为12341【代码24】//trangle调用方法返回面积并赋值给areaSystem.out.println三角形的面积:+area;【代码25】//trangle调用方法返回周长并赋值给lengthSystem.out.println三角形的周长:+length;}}实验后的练习
1.程序中仅仅省略【代码15】,编译能通过吗?
2.程序中仅仅省略【代码16】,编译能通过吗?
3.程序中仅仅省略【代码15】,运行时出现怎样的异常提示?
3、实例成员与类成员实验要求按程序模板的要求编写源文件,要特别注意程序的输出结果,并能正确解释输出的结果程序运行效果示例程序运行效果如下图所示程序模板Example.javaclassA{【代码1】//声明一个float型实例变量a【代码2】//声明一个float型类变量b即static变量bvoidsetAfloata{【代码3】//将参数a的值赋值给成员变量a}voidsetBfloatb{【代码4】//将参数b的值赋值给成员变量b}floatgetA{returna;}floatgetB{returnb;}voidinputA{System.out.printlna;}staticvoidinputB{System.out.printlnb;}}publicclassExample{publicstaticvoidmainStringargs[]{【代码5】//通过类名操作类变量b并赋值100【代码6】//通过类名调用方法inputBAcat=newA;Adog=newA;【代码7】//cat象调用方法setAinta将cat的成员a的值设置为200【代码8】//cat调用方法setBintb将cat的成员b的值设置为400【代码9】//dog象调用方法setAinta将dog的成员a的值设置为150【代码10】//dog调用方法setBintb将dog的成员b的值设置为300【代码11】//cat调用inputA【代码12】//cat调用inputB【代码13】//dog调用inputA【代码14】//dog调用inputB}}实验后的练习
1.将inputA方法中的System.out.printlna;改写为System.out.printlna+b;编译是否出错?为什么?
2.将inputB方法中的System.out.printlnb;改写为System.out.printlna+b;编译是否报错?为什么?将本次上机实验结果按照实验要求内容依次进行,填写实验目标、过程、结果【注意事项】
①实验报告要求每人提交一份,使用专门的报告纸,内容写全,包括实验名称、班级、姓名、同组人,试验日期、交报告日期等
②报告不需要填写源代码,只要将完成情况和所有练习题结果写上就可以实验二多线程实验项目名称多线程同组人实验时间实验室指导教师
一、实验目的
1.掌握Java概念;
2.熟悉继承Thread类的多线程编程;
3.熟悉继承Runnable接口的多线程编程;
4.了解多线程编程中方法的覆盖
二、实验任务1.输入下面的JavaApplication程序,运行该程序,并简要分析程序的运行结果1classSimpleThreadextendsThread{2publicSimpleThreadStringstr{3superstr;//调用其父类的构造方法4}5publicvoidrun{//重写run方法6forinti=0;i10;i++{7System.out.printlni++getName;8//打印次数和线程的名字9try{10sleepintMath.random*1000;11//线程睡眠,把控制权交出去12}13catchInterruptedExceptione{}14}15System.out.printlnDONE!+getName;16//线程执行结束17}18}1publicclassTwoThreadsTest{2publicstaticvoidmainStringargs[]{3newSimpleThreadFirst.start;4//第一个线程的名字为First5newSimpleThreadSecond.start;6//第二个线程的名字为Second7}8}2.编写程序,将上面多线程程序用Runnable接口来实现
3.分别用继承Thread类和Runnable接口的方法实现多线程程序有三个银行员工,工作一段时间后,都会选择一个随机的时间休息如休息0-6秒,在程序当中显示员工休息时间
4.黄石火车站下面有三个火车票代售点,假如说黄石到北京的火车票总共是200张,如何用程序来实现三个售票点同时卖票的功能实验三JDBC与数据库访问实验项目名称JDBC与数据库访问同组人实验时间
2013.
6.7-
2013.
6.21实验室k4-207指导教师实验目的
1、理解JDBC的组成和结构
2、掌握Java程序与数据库的链接技术
3、掌握在Java程序中使用java.sql包中提供的DriverManager类、Connection、Statement、ResultSet类来存取数据库中数据的方法实验任务首先建立一个数据库,在此基础上通过编程实现以下功能
(1)在数据库中建立一个表,表名为职工,其结构为编号、姓名、性别、年龄、工资、是否党员
(2)在表中输入多条记录(自己设计具体数据)
(3)将年龄在45以上员工的工资增加15%,其他人增加10%
(4)将每条记录按照工资由大到小的顺序显示在屏幕上
(5)删除工资超过1500的员工记录要求
(1)使用的数据库系统不受限制,可以是小型数据库系统如MSAccess,VFP,MySql或者大型数据库,如SQLserver等
(2)使用JDBC不受限制,可以使用J2SE中提供的JDBCC-ODBC桥,也可以使用其他数据库专用的JDBC
(3)在每项操作前后,分别显示相应信息,以验证操作是否正确完成。