摩尔的Java学习笔记3.1
第三周作业:
1、定义学生类:成员变量有学号、姓名、出生日期(字符串)、成绩;成员方法包括构造方法、计算学生年龄的方法、输出学生信息的方法;在主方法中创造一个学生对象,然后输出他的信息(包括他的年龄);
2、编程实现以下功能
(1)员工类(Employee):成员变量包括员工号和员工姓名,成员方法包含构造方法和输出方法(输出员工信息);
(2)部门主管类(Manager):从员工类继承而来,同时添加新的成员变量:主管部门名;添加构造方法,要调用父类Employee的构造方法;覆盖父类中的输出方法,输出部门主管对象的信息;
(3)测试类(Test):包含一个主方法。在主方法中创建一个员工对象和一个部门主管对象,并调用输出方法显示员工信息和部门主管信息。
1、定义学生类:成员变量有学号、姓名、出生日期(字符串)、成绩;成员方法包括构造方法、计算学生年龄的方法、输出学生信息的方法;在主方法中创造一个学生对象,然后输出他的信息(包括他的年龄);
/**
* @author 薛莲婷
*定义学生类:成员变量有学号、姓名、出生日期(字符串)、成绩;
*成员方法包括构造方法、计算学生年龄的方法、输出学生信息的方法;
*在主方法中创造一个学生对象,然后输出他的信息(包括他的年龄);
*/
import java.util.*;
class Student {
private String m_number; //学号
private String m_name; //姓名
private String m_date; //出生日期
private float m_score; //成绩
Student(){} //两个构造方法
Student(String number,String name,String date,float score)
{
m_number=number;
m_name=name;
m_date=date;
m_score=score;
}
int getAge(String date) //计算年龄
{
int age=0; //学生年龄
//学生出生年份、月份、当月日期
int myYear=Integer.parseInt(date.substring(0,4)); //注意用法,endIndex不算在内的
int myMonth=Integer.parseInt(date.substring(4,6));
int myDay=Integer.parseInt(date.substring(6,8));
Calendar c=Calendar.getInstance(); //获取当前的年、月、日
int thisYear=c.get(Calendar.YEAR);
int thisMonth=c.get(Calendar.MONTH);
int thisDay=c.get(Calendar.DATE);
age=thisYear-myYear-1;
if(myMonth<thisMonth)
{
age++;
}
if(myMonth==thisMonth&&myDay<thisDay)
{
age++;
}
return age;
}
void displayInfo() //输出学生信息
{
System.out.println("学号 "+m_number+"\t姓名 "+m_name+"\t出生日期 "+m_date+"\t年龄 "+getAge(m_date)+"\t成绩 "+m_score);
}
public static void main(String[] args) {
//创建一个学生对象
Student student1=new Student("1151630","张三","19970101",99); //对于2017年3月,年龄为20
//Student student2=new Student("1151631","李四","19971201",99);年龄就会显示为19
System.out.println("学生信息:");
student1.displayInfo();
}
}