
利用Java进行编程练习题。
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
1. 请设计一个程序,实现数组中元素的倒序排列,且不使用临时数组存储,直接在原数组上进行修改。
2. 请创建一个类,模拟栈数据结构,底层使用数组存储数据,并提供push(入栈)和pop(出栈)方法。该类名为MyStack,包含int类型的arr[]和count变量,用于记录栈中元素个数。MyStack的构造函数接受一个整数n作为参数,用于初始化数组大小。push方法检查栈是否已满,如果未满则将num添加到arr[]中并递增count;pop方法检查栈是否为空,如果为空则返回-1,否则返回arr[--count]。
3. 编写一个程序,实现数组指定位置的添加和删除元素功能。需要考虑以下问题:容量限制、添加/删除元素前后数组元素的变化。
4. 请创建一个名为Animal的类,包含两个私有属性:name(动物的名字)和legs(动物的腿的数量)。提供两个构造方法:一个无参构造方法,默认给name赋值为“AAA”,给legs赋值为4;另一个需要两个参数的构造方法,用于分别给name和legs赋值。该类还包含两个重载的move()方法:一个无参方法输出“XXX Moving!!”(XXX为动物的名字);另一个需要一个int参数n的方法,在屏幕上输出n次“XXX Moving!!”
5. 编写一个类Person,包含以下属性:String name; int age; boolean gender; Person partner。为Person类写一个marry(Person p)方法,代表当前对象和p结婚,如若可以结婚,则输出恭贺信息,否则输出不能结婚原因。要求在另外一个类中写一个主方法来测试以上程序。(下列情况不能结婚:结婚年龄、男<24、女<22、某一方已婚)
6. 请创建一个名为Animal的类,包含两个私有属性:name(动物的名字)和legs(动物的腿的数量)。该类应提供public访问方法来获取name和legs的值。同时提供两个构造方法:一个无参构造方法默认给name赋值为“AAA”,给legs赋值为4;另一个需要两个参数的构造方法分别给name和legs赋值。第一个构造方法的调用第二个构造方法。该类还包含两个重载的move()方法:一个无参的方法在屏幕上输出“XXX Moving!!”;另一个需要int参数n的方法在屏幕上输出n次“XXX Moving!!”
7. 编写一个名为Fish的类,继承自Animal类,并提供一个构造方法,该构造方法的参数为name,并给legs赋默认值0;该类还要求覆盖Animal类中的无参move() 方法,要求输出:“XXX Swimming!!”
8. 编写一个名为Bird的类,继承自Animal类,并提供一个构造方法的参数为name,并给legs赋默认值2;该类还要求覆盖Animal类中的无参move() 方法,要求输出:“XXX Flying!!”
9. 请创建Zoo 类,分别生成若干个 Animal、Fish 和 Bird 对象实例。然后调用这些对象的属性和各种成员函数进行测试操作。
10. 请设计Shape 类具有以下特征: 属性 x 和 y 分别表示图形中心点坐标; 无参构造器; 构造器对 x 和 y 进行初始化; draw() 方法输出 Shape draw。
11. 创建 Circle 类继承自 Shape 类具有以下特征: 属性 r 表示圆半径; 无参构造器将 r 初始化为 1.0; 构造器对 r 进行初始化; 构造器对 x、y、r 进行初始化; draw() 方法输出 draw in circle 和 x、y、r 的值。
12. 创建 Rectangle 类继承自 Shape 类具有以下特征: 属性 height 和 width 表示矩形的高宽; 无参构造器将 height 和 width 都初始化为 1.0; 构造器对 height 和 width 进行初始化; 构造器对 x、y、height、width 进行初始化; draw() 方法输出 draw in rectangle 和 x、y、height、width 的值。 使用 ShapeTest 类测试以上代码。
13. 实现公司的雇员管理系统: Employee (父类), SalariedEmployee (子类), HourlyEmployee (子类), SalesEmployee (子类), BasedPlusSalesEmployee (子类)。 每个子类的属性包括姓名生日月份工资等相关信息以及相应的getSalary(int month) 方法来根据月份确定工资以及其他相关的业务逻辑 。
全部评论 (0)


