3道java编程题,求解

(1) 编写程序实现如下功能:已知Person类包含三个公共成员变量(姓名、性别、年龄)和一个构造方法,Student类是Person类的派生类,包含两个新的公共成员变量(学号、班号)、两个公共方法(修改年龄、显示基本信息)及一个构造方法。在测试类Test1中,定义一组学生对象,并初始化他们的基本信息,然后依次输出。

(2)该题目包含三个接口、三个类,具体要求如下(以下三个接口、三个类,要分别创建独立的文件,并且放在同一个包中);
 创建一个飞行器接口Aerocraft,该接口有一个飞行方法fly();
 创建一个载客飞行接口AirPlane,该接口有一个载客信息方法passenger();
 创建一个直升机接口Helicopter,该接口有一个垂直飞行方法verticaStart();
 创建阿帕奇直升机类,同时实现Aerocraft和Helicopter接口,实现的方法要有信息的输出;
 创建空客A380客机机类,同时实现Aerocraft和AirPlane接口,实现的方法要有信息的输出;
 创建一个测试类Test2实例化阿帕奇直升机对象和空客A380对象,分别调用相关的方法。

(3)该题目包含一个接口、二个抽象类和三个类,具体要求如下(以下一个接口、二个抽象类和三个类,要分别创建独立的文件,并且放在同一个包中);
 创建一个飞行器接口Flyer,该接口有一个飞行方法fly();
 创建一个机器抽象类Vehicle,该抽象类有一个消耗的抽象方法consume();
 创建一个动物抽象类Animal,该抽象类有一个进食的抽象方法eat();
 创建一个飞机类AirPlane,同时实现抽象类Vehicle和接口Flyer,实现的方法要有信息的输出;
 创建一个鸟类Bird,同时实现抽象类Animal和接口Flyer,实现的方法要有信息的输出;
 创建一个测试类Test3实例化飞机对象和鸟对象,分别调用相关的方法。

package TestPerson;
/**
 * (1) 编写程序实现如下功能:已知Person类包含三个公共成员变量(姓名、性别、年龄)和一个构造方法,
 * Student类是Person类的派生类,包含两个新的公共成员变量(学号、班号)、两个公共方法(修改年龄、显示基本信息)及一个构造方法。
 * 在测试类Test1中,定义一组学生对象,并初始化他们的基本信息,然后依次输出。
 */
public class Test1 {
public static void main(String[] args) {
Student[] student = new Student[3];
student[0] = new Student("小李", "男", 12, 20181101, 01);
student[1] = new Student("小南", "女", 13, 20001102, 01);
student[2] = new Student("小李", "男", 12, 20181103, 01);

for(Student stu : student) {
stu.showInformation();
}
}
}

class Person {
public String name;
public String sex;
public int age;
public Person(String name, String sex, int age) {
super();
this.name = name;
this.sex = sex;
this.age = age;
}
}

class Student extends Person {
public long studentId;
public long classId;
public void setAge(int age) {
age = this.age;
}
public void showInformation() {
System.out.println("我的姓名是" + name + "," + "我的性别是" + sex + "," + "我的年龄是" + age 
+ "岁," + "我的学号是" + studentId + "," + "我的班号是" + classId + "班");
}
public Student(String name, String sex, int age, long studentId,
long classId) {
super(name, sex, age);
this.studentId = studentId;
this.classId = classId;
}
}

不可否认,我现在是有点闲,所以我就帮你写第一个吧,至于后面两个,我就不写了,看看还有没有其他人有点闲时间,看缘分吧

运行结果:

我的姓名是小李,我的性别是男,我的年龄是12岁,我的学号是20181101,我的班号是1班

我的姓名是小南,我的性别是女,我的年龄是13岁,我的学号是20001102,我的班号是1班

我的姓名是小李,我的性别是男,我的年龄是12岁,我的学号是20181103,我的班号是1班

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-14

你好提问者:

若解决了你的问题请采纳,若有疑问请追问。谢谢!

第一题:

Person 类
package com.gc.action.baiduTest.personTest;
public class Person {
public String name;  //姓名
public String sex; //性别
public int age;   //年龄
//构造函数
public Person(){
}
public Person(String name,String sex,String age){
System.out.println("姓名:"+name +" 性别:"+ sex +" 年龄:"+age);
}

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}


}
Student 类
package com.gc.action.baiduTest.personTest;
public class Student extends Person{
public String xuehao;//学号
public String banhao;//班号
//修改信息
public void xiugai(String xuehao,String banhao){
this.xuehao =xuehao;
this.banhao =banhao;
System.out.println("学号:"+xuehao+"班号:"+banhao);
}
public void show(){
System.out.println("姓名:"+name +" 性别:"+ sex +" 年龄:"+age+" 学号:"+xuehao+" 班号:"+banhao);
}
public String getXuehao() {
return xuehao;
}
public void setXuehao(String xuehao) {
this.xuehao = xuehao;
}
public String getBanhao() {
return banhao;
}
public void setBanhao(String banhao) {
this.banhao = banhao;
}


}
Test1 测试类
package com.gc.action.baiduTest.personTest;
public class Test1 {
public static void main(String[] args) {
Student stu =new Student();
stu.setName("艺馨");
stu.setSex("女");
stu.setAge(18);
stu.setXuehao("10010");
stu.setBanhao("02");
stu.show();
}
}
结果:
姓名:艺馨 性别:女 年龄:18 学号:10010 班号:02

第二题:

package com.gc.action.baiduTest.fly;
/**
 * 飞行器接口Aerocraft
 * @author yltd
 *
 */
public interface Aerocraft {

//飞行方法
public void fly();
}
package com.gc.action.baiduTest.fly;
/**
 * 载客飞行接口AirPlane
 * @author yltd
 *
 */
public interface AirPlane {
//载客信息方法
public void passenger();
}
package com.gc.action.baiduTest.fly;
/**
 * 直升机接口Helicopter
 * @author yltd
 *
 */
public interface Helicopter {

//垂直飞行方法
public void verticaStart();
}
package com.gc.action.baiduTest.fly;

public class Apaqi implements Aerocraft, Helicopter {

@Override
public void verticaStart() {
System.out.println("阿帕奇直升机:垂直飞行");
}

@Override
public void fly() {
System.out.println("阿帕奇直升机:飞行");
}

}
package com.gc.action.baiduTest.fly;

public class KongKe implements Aerocraft, AirPlane {

@Override
public void passenger() {
System.out.println("空客A380客机:载客信息");
}

@Override
public void fly() {

System.out.println("空客A380客机:飞行方法");
}

}
package com.gc.action.baiduTest.fly;

public class Test2 {

public static void main(String[] args) {
Apaqi a =new Apaqi();
a.fly();
a.verticaStart();
KongKe k =new KongKe();
k.fly();
k.passenger();
}

}
结果:
阿帕奇直升机:飞行
阿帕奇直升机:垂直飞行
空客A380客机:飞行方法
空客A380客机:载客信息

本回答被提问者采纳
第2个回答  2018-11-13
你加个有偿估计会有人帮你-
第3个回答  2018-11-13
。。。。。。。估计非常闲才会帮你写
第4个回答  2018-11-14
我去,我最开始还以为是什么算法,结果全是些在IDE上点鼠标的操作,自己操作更快吧