标签:注意 计算 family day getname class rgs 同名 文件
题目补充:
在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:\java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:\java\myPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YMD的方法来计算年龄。
主要考包的运用
用到java.util.Calendar;求时间日期
YMD类:
1 import java.util.Calendar; 2 3 4 public class YMD { 5 private int year,month,day; 6 YMD(){} 7 public YMD(int year,int month,int day){ 8 this.year=year; 9 this.month=month; 10 this.day=day; 11 } 12 public int getYear(){ 13 return year; 14 } 15 public int getMonth(){ 16 return month; 17 } 18 public int getDay(){ 19 return day; 20 } 21 public static int nowYear(){//返回当前年份 22 return Calendar.getInstance().get(Calendar.YEAR); 23 } 24 public static int nowMonth(){//返回当前月份 25 return Calendar.getInstance().get(Calendar.MONTH); 26 } 27 public void showYMD(){//字符串形式输出年月日 28 System.out.println("出生日期:"+year+"-"+month+"-"+day); 29 } 30 }
测试类:(注意:对象的运用很特别)
1 import myPackage.YMD; 2 class personINfo{ 3 private String name; 4 private YMD birthdate;//创建类的私有引用 5 personINfo(){} 6 personINfo(String name,YMD d){ 7 this.name=name; 8 birthdate=d;//初始化对象 9 } 10 personINfo(String name,int year,int month,int day){ 11 this(name,new YMD(year,month,day));//对对象d进行初始化,赋初值,引用当前类的两个形参的构造方法 12 } 13 public int month(){//计算月份,小于则不满一年 14 return YMD.nowMonth()-birthdate.getMonth(); 15 } 16 public int age(){//计算年份 17 return YMD.nowYear()-birthdate.getYear(); 18 } 19 public String getName(){ 20 return name; 21 } 22 public void output(){ 23 System.out.println("姓名:"+getName()); 24 if(month()<0) 25 System.out.println("年龄:"+(age()-1)); 26 else 27 System.out.println("年龄:"+age()); 28 birthdate.showYMD(); //以字符串形式显示年月日 29 } 30 } 31 public class Test5_4 { 32 public static void main(String args[]){ 33 personINfo p=new personINfo("张三",1997,12,30); 34 p.output(); 35 } 36 37 }
标签:注意 计算 family day getname class rgs 同名 文件
原文地址:http://www.cnblogs.com/silenTJ/p/7786923.html