课题要求:
本课题共100分。
要求学生从以下5个部分(Java基础程序、数组、面向对象(基础篇)和面向对象(高级篇))中选取一定的试题在一周内完成,并撰写一级课题报告。 选取试题个数:每一部分至少选做两个,其中Java基础程序部分和数组部分最多选取4个,其余部分无上限要求。 各试题分值见每部分标题处标识。
Java基础程序设计(每题5分)
1、 给定3个数字,求出这3个数字中的最大值,并将最大值输出。[说明:给定的三个数字
可以利用让用户输入的方式亦可直接在程序中赋值] 2、 判断某数能否被3、5、7同时整除。[说明:此题中待判定的某数亦可利用输入方式获取,
也可直接在程序中赋值]
3、 编写程序,分别利用while循环、do…while循环和for循环求出100~200的累加和。 4、 编写Java程序,求13-23+33-43+……+973-983+993-1003的值。 5、 编写程序,实现两个数字的交换。
6、 求1~1000之间可以被3、5、7整除的数字,并以每行5个进行结果的输出。 7、 编程求1!+2!+3!+……+20!的值,并将结果输出。 8、 使用for循环打印下面的图形:
*
* * * * * * * * *
数组与方法(每题5分)
1、 定义一个由整数组成的数组,要求求出其中的奇数个数和偶数个数。
2、 现有一个数组:int oldArr[] = {1,3,4,5,0,0,6,6,0,5,4,7,0,5,6,};要求将此数组中为0的项去
掉,将不为0的值存入一个新的数组,生成的新数组为:int newArr[] = {1,3,4,5, 6,6, 5,4,7, 5,6,}。
3、 定义一个整型数组,求出数组中元素的和、数组元素的最大值和最小值,并输出所求的
结果。[说明:此整型数组的值可让用户自行输入,亦可直接在程序中赋值] 4、 给出10个整数(int型),然后任意查询一个数字是否存在该10个数字内。
5、 定义一个包含10个元素的数组,对其进行赋值,使每个元素的值等于其下标,然后输
出;最后将这个数组倒置(即首尾交换)后输出。
6、 有30个0~9之间的数字,分别统计0~9这10个数字分别出现的次数,并输出。
7、 定义一个整型数组,保存10个数据,利用程序完成将最大值保存在数组中第1个元素
的操作。
8、 在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置。
面向对象(基础篇)(每题10分)
1、 设计一个Dog类,有名字、颜色、年龄等属性,定义构造方法来初始化类的这些属性,
定义方法输出Dog信息,编写应用程序使用Dog类,即编写一应用程序来测试Dog类。 2、 设计一个表示用户的User类,类中的变量有用户名、口令和记录用户个数的变量,定
义类的3个构造方法(无参、为用户名赋值、为用户名和口令赋值),获取和设置口令的方法和返回类信息的方法。 3、 编写一个公司员工类:
(1) 数据成员:员工号、姓名、薪水、部门。 (2) 方法:
① 利用构造方法完成设置信息:
? 单参,只传递员工号,则员工姓名:无名氏,薪水:0,部门:未定。 ? 双参,传递员工号、姓名,则员工薪水为1000,部门:后勤。 ? 4参,传递员工号、姓名、部门、薪水。 ? 无参,则均为空值。 ② 显示信息
4、 构造一个银行账户类,类的构成包括如下内容:
(1) 数据成员:用户的账户名称、用户的账户余额(private数据类型)。 (2) 方法:开户(设置账户名称及余额),利用构造构造方法完成。 (3) 查询余额。
5、 声明一个图书类,其数据成员为书名、编号(利用静态变量自动编号)、书价,并拥有
静态数据成员册数、记录图书的总册数,在构造方法中利用此静态变量为对象的编号赋值,在主方法中定义对象数组,并求出总册数。
面向对象(高级篇)(每题15分)
1、 定义一个ClassName接口,接口中只有一个抽象方法getClassName();设计一个类
Company,该类实现接口ClassName中的方法getClassName(),功能是获取该类的名称;编写应用程序测试Company类。
2、 建立一个人类(Person)和学生类(Student),功能要求如下:
(1) Person类中包含4个私有的数据成员name、addr、sex、age,分别为字符串
型、字符串型、字符型及整型,表示姓名、地址、性别和年龄。用一个4参构造方法、一个两参构造方法、一个无参构造方法可进行Person在的实例化操作,另外用一个输出方法显示4种属性。
(2) Student类继承Person类,并增加成员math、english存放数学和英语成绩。
一个6参构造方法、一个两参构造方法、一个无参构造方法和重写输出方法用于显示6个属性。
3、 定义员工类,具有姓名、年龄、性别属性,并具有构造方法和显示数据方法。定义管理
层类,继承员工类,并有自己的属性职务和年薪。定义职员类,继承员工类,并有自己的属性所属部门和月薪。
4、 定义类Shape,用来表示一般二维图形。Shape具有抽象方法getArea()和getPerimeter(),
分别用来计算形状的面积和周长。试定义一些二维形状类(如矩形、三角形、圆形、椭圆形等),这些类均为Shape类的子类。
(选做)附加:Java 图形界面(每题10分)
1 JFrame和JPanel的练习
2 登录界面绘制
? 预习布局管理器,尝试完成如下界面;
3 使用BorderLaout和GridLayout开发一个计算器的可视化窗口: