Java程序———定义一个Student类,通过主类调用,其中学生的生日表示方法嵌套DAta类

题目内容:

        定义一个Student类,通过主类调用,其中学生的生日表示方法嵌套DAta类,并通过调用系统当前年份,计算学生年龄并输出


        Student类包含 

               变量:sno(学号),name(姓名),age(年龄),sex(性别),birth(出生年月日)

               构造函数:Student(String sn)、Student()

                                 和Student(String sn,String na,int ag,DAte bri)

               功能函数:String get***( )   //通过键盘获取***成员变量值

                                  void put***( )      //输入***成员变量的值


Student类:

import java.util.Scanner;
import java.text.SimpleDateFormat;//获取系统时间
import java.util.Date;
class Student {
	String sno;		//学号
	String name;	//姓名
	int age;		//年龄
	String sex;		//性别
	DAte birth;		//出生年月日
	Student(){}
	Student(String sn){
		sno=sn;
		name="Null";
		age=0;
		sex="Null";
	}
	Student(String sn,String na,int ag,DAte bri){
		sno=sn;
		name=na;
		age=ag;
		birth=bri;
	}
	public String getSno() {
		Scanner sc=new Scanner(System.in);
		try {
			System.out.println("请输入学生学号:");
			sno=sc.next();
			return sno;
		}
		finally {
			sc.close(); 	//关闭系统资源,习惯
		}
	}
	public void putSno() {
		System.out.print("学号:"+sno+"\t");
	}
	
	public String getName() {
		Scanner sc=new Scanner(System.in);
		try {
			
			System.out.println("请输入学生姓名:");
			name=sc.next();
			return name;
		}
		finally {
			sc.close();
		}
	}
	public void putName() {
		System.out.print("姓名:"+name+"\t");
	}
	
	public int getAge() {			//年龄
		SimpleDateFormat sd=new SimpleDateFormat("yyyy");
		Date data=new Date();
		String st=sd.format(data);
		age=Integer.parseInt(st)-birth.year;
		return age;
	}
	public void putAge() {
		System.out.print("该学生的年龄为:"+age+"岁\t\t");
	}
	
	public String getSex() {
		Scanner sc=new Scanner(System.in);
		try {
			System.out.println("请输入学生性别:");
			sex=sc.next();
			return sex;
		}
		finally {
			sc.close();
		}
	}
	public void putSex() {
		System.out.print("性别:"+sex+"\t");
	}
	
	public DAte getBrith() {
		Scanner sc=new Scanner(System.in);
		try {
			System.out.println("请输入学生出生年、月、日:");
			birth=new DAte();
			birth.getDate();
			return birth;
		}
		finally {
			sc.close();
		}
	}
	public void putBrith() {
		System.out.print("生日为:");
		birth.putDate();
		System.out.print("\t");
	}
}

DAte:

import java.util.Scanner;
class DAte {
	int year;
	int month;
	int day;
	DAte(){
		
	}
	void getDate() {
		Scanner sc=new Scanner(System.in);
		try {
			System.out.println("请输入年:");
			year=sc.nextInt();
			System.out.println("请输入月:");
			month=sc.nextInt();
			System.out.println("请输入日:");
			day=sc.nextInt();
		}
		finally {
			sc.close();
		}
	}
	void putDate()
	{
		System.out.print(year+"年");
		System.out.print(month+"月");
		System.out.print(day+"日");
	}
}

主类调用:

class MainStudent {
	public static void main(String arge[]) {
		Student[] stu=new Student[10];
		System.out.println("接下来我们会进行输入同学的个人信息,分别包含(学号,姓名,性别,出生年月日),若提前结束请在学号项输入-1即可");
		int i;
		for(i=0;i<10;i++)
		{
			stu[i]=new Student();	//需要给每个数组成员分别定义数组空间
			if(Integer.parseInt(stu[i].getSno())==-1)break;
			stu[i].getName();
			stu[i].getSex();
			stu[i].getBrith();
			stu[i].getAge();
		}
	
		for(int j=i-1;j>=0;j--)
		{
			stu[j].putSno();
			stu[j].putName();
			stu[j].putSex();
			stu[j].putBrith();
			stu[j].putAge();
			System.out.println();
		}
	}
}

有任何问题,恳请指正

手敲不易,如果觉得不错还请点赞支持下~

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是一个简单的Java程序片段,定义了一个表示学生Student: ``` public class Student { // 定义学生的属性 private String name; // 姓名 private int age; // 年龄 private String gender; // 性别 private String major; // 专业 // 构造方法 public Student(String name, int age, String gender, String major) { this.name = name; this.age = age; this.gender = gender; this.major = major; } // getter和setter方法 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } // toString方法,用于打印学生信息 @Override public String toString() { return "Student{" + "name='" + name + '\'' + ", age=" + age + ", gender='" + gender + '\'' + ", major='" + major + '\'' + '}'; } } ``` 这个包含了学生的姓名、年龄、性别和专业等属性,以及相应的getter和setter方法。还有一个构造方法,用于创建学生对象。最后还定义了一个toString方法,用于打印学生信息。 ### 回答2: 在Java中,定义一个表示学生Student需要考虑以下因素:学生的姓名、学号、年龄、性别、所属专业等信息。 基于这些信息,我们可以定义一个Student,如下所示: class Student { private String name; // 学生姓名 private int id; // 学生id private int age; // 学生年龄 private String gender; // 学生性别 private String major; // 学生所属专业 // 构造方法,用于初始化的实例变量 public Student(String name, int id, int age, String gender, String major) { this.name = name; this.id = id; this.age = age; this.gender = gender; this.major = major; } // getter和setter方法,用于获取和设置的实例变量 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getMajor() { return major; } public void setMajor(String major) { this.major = major; } } 在上述代码片段中,我们仅定义了的实例变量和getter/setter方法,还可以添加其他方法来描述学生的行为,例如attendClass()、study()等方法。同时,也可以在定义之外定义一个测试来测试Student的实例对象的行为。 ### 回答3: 学生是人中的一种特定群体,在编写学生时需要考虑到学生的姓名、年龄、性别、学号、出生日期、班级等属性,同时也需要考虑到学生的行为,例如上课、考试、完成作业等。以下是一个简单的学生定义的 Java 代码片段: public class Student { private String name; // 姓名 private int age; // 年龄 private String gender; // 性别 private String studentId; // 学号 private String birthDate; // 出生日期 private String className; // 班级名称 // 构造函数定义 public Student(String name, int age, String gender, String studentId, String birthDate, String className) { this.name = name; this.age = age; this.gender = gender; this.studentId = studentId; this.birthDate = birthDate; this.className = className; } // 获取姓名 public String getName() { return name; } // 获取年龄 public int getAge() { return age; } // 获取性别 public String getGender() { return gender; } // 获取学号 public String getStudentId() { return studentId; } // 获取出生日期 public String getBirthDate() { return birthDate; } // 获取班级名称 public String getClassName() { return className; } // 上课 public void attendClass() { System.out.println("学生" + name + "正在上课..."); } // 考试 public void takeExam() { System.out.println("学生" + name + "正在参加考试..."); } // 完成作业 public void doHomework() { System.out.println("学生" + name + "正在完成作业..."); } } 以上这段 Java 代码片段定义了一个简单的学生,包括了学生的基本属性和行为,能够满足大部分学生的需求。在实际应用中,还可以根据具体业务需求对学生进行更加细致的设计。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值