《java程序设计实验报告书》由会员分享,可在线阅读,更多相关《java程序设计实验报告书(6页珍藏版)》请在金锄头文库上搜索。
1、1实 验 报 告学 院 管理学院 课程名称 面向对象程序设计 课程代码 030514 课程学时 48 实验总学时 24 一、实验目的1综合练习数据类型、变量、循环、数组、方法、类与对象核心结构的编程,学会形式参数与实际参数的结合及其值的传递要点(数据类型、变量个数与顺序严格一致,忽略变量名是否一致)。2掌握构造方法的应用、类的继承、this、super 及对象的创建与应用;3掌握变量的继承和隐藏;4掌握方法的重载和覆盖;5了解抽象类、接口和包的编程;6掌握 GUI 基本组件及其布局的使用;7掌握交互编程三部曲、异常处理、数据库操作及 JAVA 小程序的应用。二、实验分析与总结报告主要总结失败与
2、错误经验教训,1000 字左右,不得雷同。期末考试当天由班长集体提交文字版报告(必须手写)与电子版(JAVA 源文件,每班一张 CD) 。总结是否深刻、具体,个性化特点是报告评分的主要依据,JAVA 源文件编写有序,JAVA 文件设计合理、紧凑与完整是源文件评分的主要依据。三、实验内容(一) 、创建一个图形界面,在其中装入各种组件包括菜单类。为其中五个按钮(或其它组件)加入交互功能,当单击这些按钮时分别调用如下实例或类方法:1 创建一个方法,编程计算华氏度与摄氏度的相互转换。2 在主类外创建一个类,类中有一个方法,用于编程输入一个字符串,然后判断输出每个字母是大写还是小写。3 在主类外创建一个
3、类,类中有一个方法,用于编程输入职工信息如姓名、年龄、工资及级别等,并存入数据库,进行查、增、删及改的操作。4 在主类外创建一个类,类中有一个方法,用于编程求一个由整型数据元素组成的 78 的矩阵中的最大元素的值。5 打印出所有的水仙花数。所谓水仙花数 是指一个三位数,其各位数字的立方和等于该数本身。2例如:153 是一个水仙花数 ,因为1531*1*15*5*53*3*3。 。(二) 为窗口设置关闭功能,为菜单设置交互功能,并加入四个面板,分别设置 BorderLayout、FlowLayout、GridLayout 与 CardLayout 布局。(三) 自编明信片,并动态插入图片。(四)
4、 自编一个有个性特点的计算器。(五) 自编一个简捷、明了的程序,体现 Java 程序编程的核心结构图。(六) 抽象类与接口的编程:1 在一个 Java 文件中,定义一个 fruit 抽象类,并在其中定义一个taste()抽象方法;然后分别定义 apple,orange,and peach 三个子类来继承这个抽象类并实现它的方法。2 在一个 Java 文件中,定义一个 polygon 多边形抽象类,并在其中定义一个抽象方法,用来计算多边形面积;然后分别用 triangle 三角形、square 正方形和 rectangle 长方形作为具体的类来实现这个抽象类。 (同上一题)3 把前面两题中的抽象
5、类改为接口后再在类中实现。4 开车不仅要交过路费、过桥费,还随时要交停车费,各种费用收取的多少都不一样,请仿照上题中接口的编写,一个类同时实现两个或两个以上接口的方法,在一个文件中创建三个收费接口并为一个car 类同时实现。(七) 分析程序,回答问题:程序 1:分析下列程序,发现并纠正错误,给出运行结果并解释为什么。public class javaMethod public static void main(String args) double top=500,bottom=5;boolean uncertain=true;doif(bottom6)uncertain=false;else
6、 System.out.print(4*methodMinder(4*top,bottom);bottom+;while(uncertain);static int methodMinder(int bottom,int top)double total;top-=10;total=top*bottom;return total; 3错误:(1)javaMethod 是公共文件名,不能使用;boolean 应改为 int 因为 top bottom total 为 int 型(2)运行结果:-40000-32000程序执行了 bottom=5,bottom=6 两次,又 top=top-10
7、第一次输出 44(-5)500第二次输出 44(-4)500 所以有-40000-32000程序 2:1: public class A 2: public static void main(String args) 3: int x=1;4: for(int i=1;i=5;i+) 5: if(i%2=0)6: continue;7: x*=i;8: 9: System.out.println(x=+x);10: 11: 程序输出的结果是什么?X=15程序 3:1: public class A 2: public static void main(String args) 3: long
8、first=1,second=1,third;4: System.out.print(first + + second + );5: for(int i = 3; i = 6; i+) 6: third = first + second;7: System.out.print(third + );8: first = second;9: second = third;10: 11: 12: (1)程序第 510 行的 for 循环共循环几次? (2)程序输出的结果是什么? (1)4 次 (2)1 1 2 3 5 8程序 4:下面的程序编译运行后,从键盘输入 quit,则输出结果是什么?impo
9、rt java.io.*;public class Test public static void main(String args) throws IOException BufferedReader buf=new BufferedReader(new InputStreamReader(System.in); while(true) 4String str=buf.readLine();if(str.equals(quit)break;int x=Integer.parseInt(str);System.out.println(x*x); 答:不输出结果,因为输入 quit 时,系统中断
10、,会返回到 while 语句,而如果输入一个整形数据,结果就会输出该数字的平方。程序 5:1: public class Output1 2: public static void main(String arge) 3: int i=0;4: for ( char ch = 97; ch113; ch+,i+) 5: if( i % 8 = 0 ) 6: System.out.println( );7: System.out.print(t +ch); 8: 9: 10: 程序第 5、6 行的 if 语句的功能是什么?程序输出的结果有几行?(1)判断变量 i 是否能被 8 整除,如果是,就换
11、行(2)两行,为:a b c d e f g hi j k l m n o p程序 6:public class MyAppMyApp()System.out.println(109/10= + 109/10);public static void main(String args ) new MyApp(); 运行结果是什么?为什么?(1)109/10=10(2)因为程序没有定义数据类型,而默认的数据类型为 int 型,所以109/10 输出整数 10程序 7:class Dayint year,month,day;public void setDate(int year,int month
12、,int day)this.year=year;this.month=month;this.day=day; public void printDate()System.out.println(日期是:+year+年+month+月+day+日); 5class DateDemopublic static void main(String args)Day today=new Day();today.setDate(2004,5,25);today.printDate(); 运行结果是什么?为什么?(1)每个程序都应该有且只有一个 public class,所以将 DateDemo 类前加上修
13、饰符 public,并将源文件名改为 DateDemo得到结果为:2004 年 5 月 25 日四、实验指导创建交互三步曲:1 通过实现监听接口或继承监听适配器类创建监听类;例:public class wow implements MouseListener public class yeah extends MouseAdapter 2 为组件注册监听类的对象;例:b.addMouseListener(new wow();b.addMouseListener(new yeah();3 实现接口中提供的方法,继承适配器时可以有选择实现其中一个 或几个方法,否则必须全部实现。例:public
14、void mouseClicked(MouseEvent m) 程序案例(可以直接编译运行)import java.awt.*;import java.awt.event.*;public class TryEventpublic static void main(String args)MyFrame frm=new MyFrame();frm.setVisible(true); class MyFrame extends FrameMyFrame()setTitle(测试按钮事件);setSize(200,200);Panel panel=new Panel();6add(panel);Button bt=new Button(退出);panel.add(bt);bt.addActionListener(new MyListener(); /第二步: 注册监听器 /第一步:通过实现监听接口而不是继承适配器类,创建监听类 MyListener:cla