java课程设计题目
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java课程设计题目
第一组:
1、编写Java Appet 程序打印“水仙花” 数 (它的个、十、百位数字的立方的和等于该数本身,如:153=1^3+5^3+3^3)。
2、定义一个类Point,代表一个点,public属性有x和y,方法有显示点坐标show(),构造函数有两个参数分别给x,y赋值,在main方法中构造两个对象,再创建一方法(getMiddle)为取两个点构成线段的中点的坐标,参数为2个点对象,调用此方法后得到一个新的点,编写Application,显示该对象的坐标值。
3、设计一个JAVA程序模仿记事本(NotePad)的部分功能,界面如下图。
第二组:
1、编写Java Application程序,分别用do-while和for循环计算1+1/2!+1/3!+1/4!...的前20项和。
2、定义一个学生类(Student),属性有private的名字(name), public的年龄(age),专业(specialty)和封装name属性的方法:setName(),getName(),getspecialty()编写Application,创建一个学生对象,设置name和age属性值,然后调用一个方法(此方法将对象作为参数传递,在方法中打印出学生的名字name和年龄age)。
(学生类仅包含静态成员变量和方法。
)
3、试编写如下图所示的计算器图形界面:
第三组:
1、编写Java Application程序,输出1900年到2000年之间的所有润年。
(闰年的判断条件:能被4整除且不能被100整除,或能被400整除)。
2、定义一个复数(z=x+iy)类Complex,包含:
两个属性:实部x和虚部y
默认构造函数Complex(),设置x=0,y=0
构造函数:Complex(int i,int j)
显示复数的方法:showComp()将其显示为如:5+8i或5-8i 的形式。
求两个复数的和的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex addComp(Complex C1,Complex C2)
求两个复数的差的方法:(参数是两个复数类对象,返回值是复数类对象)public Complex subComp(Complex C1,Complex C2)
求两个复数的乘积的方法:(参数是两个复数类对象,返回值是复数类对象,新复数实部=两复数实部乘积-两复数虚部乘积,新复数虚部=两复数实部与虚部交叉乘积之和,)public Complex multiComp(Complex C1,Complex C2)
比较两个复数是否相等的方法(参数是两个复数类对象,返回值是boolean类型)public boolean equalComp(Complex C1,Complex C2)
在Application中测试该类的方法,实部x和虚部y可由main方法参数提供输入。
3、用BorderLayout和GridLayout布局管理器设计一个如下图所示的图形界面:
第四组:
1、编写Application程序,接受用户输入一段英文文字后,输出其中的字符数、单词数和句子数(设句子以“?”、“!”、“.”结束)。
2、分别编写两个类Point2D,Point3D来表示二维空间和三维空间的点,使之满足下列要求:
(1) Point2D有两个整型成员变量x, y (分别为二维空间的X,Y方向坐标),Point2D的构
造方法要实现对其成员变量x, y的初始化。
(2)Point2D有一个void型成员方法offset(int a, int b),它可以实现Point2D的平移。
(3)Point3D是Point2D的直接子类,它有有三个整型成员变量x,y,z (分别为三维空间的
X,Y,Z方向坐标),Point3D有两个构造方法:Point3D(int x,int y,int z)和Point3D(Point2D p,int z),两者均可实现对Point3D的成员变量x, y,z的初始化。
(4)Point3D有一个void型成员方法offset(int a, int b,int c),该方法可以实现Point3D的
平移。
(5)在Point3D中的主函数main()中实例化两个Point2D的对象p2d1,p2d2,打印出它
们之间的距离,再实例化两个Point2D的对象p3d1,p3d2,打印出他们之间的距离。
3、设计一个简单计算器,如下图所示。
在“操作数”标签右侧的两个文本框
输入操作数,当单击操作符+,-,×,÷按钮时,对两个操作数进行运算并将结果填入到“结果”标签右侧的文本框中。
第五组:
1、编写一个Java程序,完成以下功能:
(1)声明一个名为s的String对象,并使它的内容是“My name is Carrol”;
(2)打印整个字符串;
(3)打印字符串的长度;
(4)打印字符串的第一个字符;
(5)打印最后一个字符;
(6)打印字符串的第一个单词。
2、定义抽象类Shape,抽象方法为showArea(),求出面积并显示,定义矩形类Rectangle,正方形类Square,圆类Circle,根据各自的属性,用showArea方法求出各自的面积,在main 方法中构造3个对象,调用showArea方法。
定义接口DiagArea,其中包含方法double getDiagonal()求对角线长, double getArea()求面积,定义一个矩形类,实现此接口,并自行扩充成员变量和方法,定义一个正方形类继承矩形类(如矩形有长w和宽h,正方形有边x,并有相应的构造函数,有一个方法中一次直接显示边长、面积和对角线长),在另一类中的主方法里使用测试该类。
3、编程包含一个单选按钮组和一个普通按钮,单选按钮组中包含三个单选,文本说明分别为"普通"、"黑体"和"斜体"。
选择文本标签为"普通"的单选按钮时,普通按钮中的文字为普通字体,选择文本标签为"黑体"的单选按钮时,普通按钮中的文字的字体为黑体,选择文本标签为"斜体"的单选按钮时,普通按钮中的文字的字体为斜体。
包含一个下拉列表和一个按钮,下拉列表中有10、1
4、18三个选项。
选择10时,按钮中文字的字号为10,选择14时,按钮中文字的字号为14,选择18时,按钮中文字的字号为18。
1、设计一个程序,打印杨辉三角形。
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
2、定义一个描述人的基本类,该类包括人的性别和出生日期两个数据成员,以及设置和获取这些属性值的方法成员;再定义一个大学生类,使大学生类具有人的所有属性外,还具有姓名、学号,大学入学成绩,籍贯属性以及设置和获取这些属性值的方法成员;编写完整的程序,完成一个具有班级学生信息管理功能的程序。
3、利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。
它的GUI界面如下所示:利用所学的Java语言知识,完成一个实现秒表功能的Applet程序。
它的GUI界面如下所示:
要求该程序能够完成以下功能:
(1)在界面上方的文本框中,按照"小时:分钟:秒"的顺序实时显示系统时间;
(2)当按下界面中间的"Current Time:"按钮时,当前系统时间能够在界面下方的文本框中显示出来。
提示:可以通过调用java.util.Data类的方法,获得系统时间。
Data类的接口如下所示,
public class Date {
// 返回当前系统时间的小时值
public String getHours( ) { …}
// 返回当前系统时间的分钟值
public String getMintues( ) { … }
// 返回当前系统时间的秒钟值
public String getSeconds( ) { …}
…}
1、定义一个类实现银行帐户的概念,包括的变量有"帐号"和"存款余额",包括的方法有"存款"、"取款"和"查询余额"。
定义主类,创建帐户类的对象,并完成相应操作。
2、创建模拟购物结算窗体界面并实现结算功能。
其中使用了内部类和Vector 向量。
运行程序后,可输入购买记录,单击“添加”按钮将保存记录到Vector 向量中,并可以显示任意一个记录,或按记录号删除记录,并可给出购买物品总额,并可清空所有记录。
如下图:
3、用AWT组件设计一个填写用户注册信息的程序,它要包含用户ID、姓名、性别、学历、爱好等基本信息。
第八组:
1、编写Application程序,在Frame中加入2个按钮(Button)和1个标签(Label),单击两个按钮,显示按钮的标签于Label。
2、学校中有老师和学生两类人,而在职研究生既是老师又是学生,对学生的管理和对教师的管理在他们身上都有体现。
1)设计两个信息管理接口StudentManageInterface和TeacherManageInterface。
其中,
StudentInterface接口包括setFee()方法和getFee()方法,分别用于设置和获取学生的学费;TeacherInterface接口包括setPay()方法和getPay()方法,分别用于设置和获取教师的工资
2) 定义一个研究生类Graduate,实现StudentInterface接口和TeacherInterface接口,它
定义的成员变量有name(姓名)、sex(性别)、age(年龄)、fee(每学期学费)、pay(月工资)。
3) 创建一个姓名为“zhangsan”的研究生,统计他的年收入和学费,如果收入减去学费
不足2000元,则输出“provide a loan”(需要贷款)信息。
提示:
1)定义两个接口,分别在其中申明两个方法。
2)定义主类Graduate,实现这两个接口。
3)定义主类的成员变量,和构造方法。
4)给出四个接口方法的实现。
5)给出一个计算是否需要贷款的方法,在里面统计年收入和学费,并输出是否需要
贷款的信息。
6)写main方法。
在其中创建一个姓名为“zhangsan”的研究生,调用计算是否需要贷
款的方法。
3、实现如下画四叶玫瑰线图形的Applet。
第九组:
1、在Applet中加入2个复选框,显示标题为“学习”和“玩耍”,根据选择的情况,分别显示“玩耍”、“学习”、“劳逸结合”。
2、写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以
构成则显示三角形三个边长,求其面积,并显示。
在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。
3、创建一个显示当前时间的数字和图形的时钟。
如下图:
要求能显示当前的年月日及时间。
第十组:
1、声明一个矩阵类Matrix,成员变量是一个二维数组,设数组元素类型为int,请设计方法:(1)构造方法:
Matrix() //构造一个10X10个元素的矩阵,没有数据
Matrix(int n,int m) //构造一个nXm个元素的矩阵,数据由随机数产生
Matrix(int table[][]) //以一个整型的二维数组构造一个矩阵
要求使用this
(2) 实例方法:
public void output() //输出Matrix类中数组的元素值
public void transpose() //输出一个矩阵的转置矩阵
注意:随机数求法:Math.random( )返回0-1的小数,由上题中的Matrix类派生出正方形Square 类,在构造方法中调用父类的构造方法(使用super)。
2、编写Java Applet程序,使它在浏览器中通过响应功能按钮的点击事件绘制各种简单的几何图形(矩形、圆形、扇形、多边形和他们的填充效果),并且能够通过接收传递参数控制图形的绘制。
3、创建一个文本编辑器,可打开文件对话框选择打开一个文件,并在文本区进行编辑,可以通过菜单项设置文件中的字体格式、大小、颜色等,然后把它保存起来。
第十一组
1、用户输入一个字符串,判断是否回文。
“回文”是指内容前后对称的字符串,例如“deed”、“处处飞花飞处处”等。
2、设计一个窗体,在输入框里输入一个数以判断其是否为素数。
如下图:
当输入5后:输入20后:
3、编写一个Java 程序,除了主类外,该程序中还有4 个类People、ChinaPeople、AmericanPeople和BeijingPeople 类。
要求如下:
(1) People 类含有访问权限为protected、类型为double 的成员变量:height 和weight,以及public void speakHello()、public void averageHeight()和public void averageWeight()方法。
(2) ChinaPeople 类是People 的子类,新增了public void chinaGongfu()方法。
要求chinaPeople重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。
(3) AmericanPeople 类是People 的子类,新增了public void americanBoxing()方法。
要求AmericanPeople 重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法。
(4) BeijingPeople 类是ChinaPeople 的子类,新增了public void beijingOpera()方法。
要求ChinaPeople 重写父类的public void speakHello()、public void averageHeight()和public voidaverageWeight()方法。
类的继承关系如下图:
总体要求:每组由组长根据组员的能力统一分配任务,要求每个成员都要参与本次设计,可以是分析设计,编码,调试,测试,撰写报告等。
报告要求:每组实现该组的3个题,设计报告里内容:
一、设计目的
二、设计内容:
(一)题目
1、分析
2、源码
3、结果(抓图)
(二)题目
1、分析
2、源码
3、结果(抓图)
(三)题目
1、分析
2、源码
3、结果(抓图)
三、设计总结(该组每个人的心得体会)
下页为报告封皮:
课程设计说明书
设计题目:JA V A课程设计
学院、系:
专业班级:
学生姓名:
指导教师:
成绩:
2012年月日。