实验一:java基础知识实验目的:1.掌握jave中变量的类型。
2.掌握常用的运算符3.程序流程控制:顺序,选择和分支实验内容:1、回文数:编写一个Java程序。
用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。
回文数是指该数含有的数字逆序排列后得到的数和原数相同。
实验类别:验证性2、猜数字游戏编写一个Java应用程序,实现如下功能:程序随机分配给客户一个1-100之间的整数用户在输入对话框中输入自己的猜测程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”、和“猜对了”用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了”实验类别:设计性3、输出希腊字母表为了输出希腊字母表,首先获取希腊字母表的第一个字母和最后一个字母在unicode表中的位置,然后使用循环输出剩余的希腊字母要观察一个字符在uniclde表中的顺序位置实验类别:设计性实验二类和对象实验目的:1.理解类的基本概念。
2.掌握如何定义类,定义类的成员变量和成员方法.创建和使用对象。
3.掌握定义重载方法和构造方法,方法参数的传递。
4. static变量和方法的使用。
实验内容:1、定义一个名为Rectangle的类表示矩形,其中含有length,width两个double型的成员变量表示矩形的长和宽。
要求为每个变量定义访问方法和修改方法,定义求矩形周长的方法peremeter和求面积的方法area。
定义一个带参数构造方法,通过给出的长和宽创建矩形对象。
定义默认构造方法,在该方法中调用有参构造方法,将矩形长宽设置为1.0。
实验类别:验证性2、方法重载:编写一个Java程序,反映方法重载的使用特点,该程序包含多个重载的加法的运算,如整型加法,实型加法。
实验类别:验证性3、学生类的创建:1)创建一个student类,包括的域有学号、班号、姓名、性别、年龄等2)声明一个构造方法,以初始化对象的所有域3)声明分别获得各属性(学号、班号、姓名、性别、年龄)的各个public方法。
4)声明修改各属性(学号、班号、姓名、性别、年龄)的各个public方法。
5)创建一个具体学生对象,进行输出。
实验类别:设计性4、定义一个类,类中有两个整型变量x和y,并定义构造函数初始化这两个变量。
(通过构造函数传数据,数据值自定)类中还可定义以下方法:求两个数的和(x+y)并返回结果,求两个数的差(x-y)并返回结果,求两个数商(x/y)并返回结果,求两个数的余数(x%y)并返回结果,求两个数的最大值并返回结果。
编写应用程序,测试上面定义的类,使用类中定义的各个方法并将其结果输出。
实验类别:验证性5、用set()、get()方法传递数据:本工程共有三个类,Person类、Employee类、和Test类,其中Test类为测试类,其中有main()方法。
调用的是默认的构造方法,参数为空。
实验类别:设计性实验三类和继承实验目的:1.理解类的继承,方法的覆盖的基本概念。
2.掌握使用extends关键字定义一个继承类。
3.掌握构造方法的回溯,能熟练掌握继承中构造方法的回溯。
4.掌握super关键字。
实验内容:1.定义一个名为Employee的类,它继承Person类,其中定义salary和department 两个成员变量和封装这两个变量的方法。
编写主程序检查新建类中的所有变量和方法。
实验类别:验证性2.定义一个名为Cuboid 长方体类,使其继承Rectangle类,其中包含一个表示高的double型成员变量height;定义一个构造方法Cuboid;再定义一个求长方体体积的volume方法。
编写程序,求一个长、宽和高分别为10、5、2的长方体的体积。
实验类别:验证性3.编写一个Java应用程序,除了主类外,该程序中还有四个类:People、ChinaPeople、AmericanPeople、和BeijingPeople。
要求如下:People类有访问权限是protected的double型成员变量:height和weight,以及speakHello(),void averageHeight()和public void averageWeight()方法ChinaPeople是People类的子类,新增了void chinaGongfu()方法。
要求ChinaPeople重写父类的所有方法AmericanPeople类是People类的子类,新增了americanBoxing()方法BeijingPeople类是ChinaPeople的子类,新增了void beijingOpera()方法。
要求ChinPeople类重写父类的speakHello()方法实验类别:设计性实验四抽象类和接口实验目的:1.掌握如何定义抽象类和接口2.掌握抽象类和接口的实现方式3.实验内容:1.定义一个名为Rectangle的长方形类,使其继承Shape抽象类,覆盖Shape类中的抽象方法perimeter( )和area( )。
编写程序测试Rectangle类的使用。
实验类别:验证性2、有一个类,类中有两个变量x和y,并定义构造方法初始化这两个变量,类中还定义了以下方法:求两个数的商x/y并返回结果,求两个数的乘积并返回结果。
定义一个接口,接口中有一个抽象方法:long factorial(int m)// 求参数的阶乘在类中实现接口。
编写应用程序,调用接口中的方法,编写测试类输出结果。
实验类别:设计性3、要求有一个abstract类,类名为Employee。
Employee的子类有YearWorker、monthWorker和weekWorker。
YearWorker按年领取薪水,MonthWorker按月领取薪水,WeekWorker按周领取薪水。
Employee类有一个abstract方法:public abstract earnings();子类必须重写父类的earnings()方法,给出各自领取报酬的具体方式。
有一个Company类,该类用Emplyee数组作为成员,程序能输出Company 对象一年需要支付的薪水总额。
实验类别:综合性4、卡车要装载一批货物,货物有3种商品:电视、计算机和洗衣机。
需要计算出大货车和小货车各自所装载的3中货物的总量。
要求有3个实现该接口的类:Television、Computer和WashMachine。
这3个类通过实现接口computeTotalSales 给出自重。
有一个Car类,该类用ComputerWeight接口类型的数组作为成员,那么该数组的单元就可以存放Television对象的引用、Computer对象的引用或WashMachine对象的引用。
程序能输出Car对象所装载的货物的总重量。
实验类别:综合性实验五String类实验目的:1、public String( ):创建一个空字符串2、public String(char [ ] value) :使用字符数组中的字符创建字符串。
3使用字符数组中的字符创建字符串。
4、使用一个字符串对象创建一个字符串。
5、字符串常量和字符串:实验内容:1.编写一个加密程序,要求从键盘上输入一个字符串,然后输出加密后的字符串。
加密规则是对每个字母转换为下一个字母表示,原来是a转换为b,原来是B 转换为C。
小写的z转换为小写的a,大写的Z转换为大写的A。
实验类别:综合性2.编写一个java应用程序,判断两个字符串是否相同,判断字符串的前缀、后缀是否和某个字符串相同,按字典顺序比较两个字符串的大小关系,检索字符串,创建子字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建字符串实验类别:设计性实验六文件实验目的:1、掌握File类的构造方法:2、掌握File类中的方法:public boolean exists():测试File对象是否存在public boolean createNewFile():文件不存在时,需要创建一个空文件时返回true否则falsepublic boolean delete():删除一个文件public long length():返回指定文件的长度,文件不存在返回0public String getName():返回File对象所表示的文件或路径名3、掌握FileInputStream类读写文件public int read():从输入流中读取下一个字节并返回它的值read(byte[ ] b):从输入流中读取多个字节并存入数组b中public void close()4、FileOutputStream类public int write(int b):把指定的整数的字节的低八位写入文件public int write(byte[ ] b):把指定的字节数组b的b.length个字节写入文件。
public void close();5、掌握过滤流实验内容:1. 通过write( )和read( )进行读写操作将byte类型的数值65写入文件aa.txt再从文件中读出来。
程序运行结果:实验类别:验证性2.通过write(byte[] b)和read( )方法实现文件的读写,测试代码实验类别:验证性3.向aa.txt文件中写入10个100---200之间的随机数,然后读出。
实验类别:设计性运行结果:实验类别:验证性4.实现两个文件的拷贝。
实验类别:验证性5.练习题:统计文本文件中的单词数量。
实验类别:综合性6.编写一个Java应用程序,要求如下:可以将一个由汉字字符组成的文本文件读入到程序中。
单击名为“下一个汉字”的按钮,可以在一个标签中显示程序读入的一个汉字。
单击名为“发音”的按钮,可以听到标签上显示的汉字的读音。
用户可以使用文本编辑器编辑程序中用到的3个由汉字字符组成的文本文件,这些文本文件中的汉字需要用到空格、逗号或回车分隔。
需要自己制作相应的声音文件,用户选择“帮助”菜单,可以查看软件的帮助信息。
实验类别:设计性实验七异常实验目的:1.了解异常的种类2.掌握异常抛出的分类和应用3.掌握如何用try-catch-finish处理异常实验内容:1.异常的捕获计算两数相除并输出结果.使用两个catch子句分别捕捉除数为0的异常和参数输入有误异常.实验类别:设计性2.编写程序包含自定义异常,当输入数值为13和4时抛出异常.实验类别:设计性实验八用户图形界面GUI和事件实验目的:1.熟练掌握容器组件:顶层容器:包括JFrame、JDialog通用容器: 包括JPanel专用容器:包括JLayeredPane 2.熟练掌握基本组件:如JButton,JTextArea等菜单组件:如JMenu、JMenuBar等JButton:按钮类JTextField:单行文本框类JLable:标签类JCheckBox:复选框类JRadioButton:单选按钮类JTextArea:多行文本框3.熟练掌握布局管理器:BorderLayout:边界式布局FlowLayout: 流式布局GridLayout :网格式布局null 布局:不推荐4.熟练掌握事件类的实现实验内容:1.编写程序完成下列图形:实验类别:设计性2. 创建5个按钮,以边界式管理器管理:实验类别:设计性3.创建5个按钮,以流式管理器管理实验类别:设计性4.编写程序,完成下列图形:实验类别:设计性5.编写程序,实现下图所示界面,要求单击ok按钮后,在文本框中显示图中文本框里的内容实验类别:综合性6.编写一个应用程序。