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();
		}
	}
}

有任何问题,恳请指正

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值