zoukankan      html  css  js  c++  java
  • 在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:java”文件夹之中创建一个与包同名的子文件夹 myPackage(D:javamyPackage)。在 myPackage 包中创建一个YMD类,该类具有计算今年的年份、可以输出一个带有年月日的字符串的功能。设计程序SY31.java,给定某人姓名和出生日期,计算该人年龄,并输出该人姓名、年龄、出生日期。程序使用YM

    题目补充:

    在存放源程序的文件夹中建立一个子文件夹 myPackage。例如,在“D:java”文件夹之中创建一个与包同名的子文件夹 myPackageD:javamyPackage)。在 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 }
  • 相关阅读:
    做程序员,我骄傲了吗?
    乐字节Java面向对象三大特性以及Java多态
    Java为什么有前途?什么人适合学Java?
    Java新手从入门到精通的学习建议
    Java变量与数据类型之二:Java常量与变量
    模块化、结构化的代码,程序员正讲述着人生
    乐字节Java变量与数据类型之一:Java编程规范,关键字与标识符
    乐字节Java学习课程-path环境变量的作用与配置
    我英语不好,能学会编程吗?
    为什么欧拉图要用栈存然后逆着输出
  • 原文地址:https://www.cnblogs.com/silenTJ/p/7786923.html
Copyright © 2011-2022 走看看