毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 课程设计 >> 正文

java自定义一个简单的日期类DateType 第2页

更新时间:2011-5-21:  来源:毕业论文
import java.util.*;

class DateType{          //时间类
 int year,mon,day;//年,月,日三个量
 
 DateType(int y,int m,int d){//初始化时间
  year=y;
  mon=(m>0&&m<13)?m:1;
  day=checkday(d);
  
 }
 
 int checkday(int d){//用来检查看时间是否超过该月所有的最大时间
  int daydisp[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  if(d>0&&d<=daydisp[mon])//时间没有超出时就返回
   return d;
  if(mon==2&&d==29&&(year%400==0||year%4==0&&year%100!=0))
   return d;
  return 1;//如果时间超出了就返回1
 }
 
 void incrementDay(){//时间加1天
  if(mon==1||mon==3||mon ==5||mon ==7||mon ==8||mon ==10||mon==12){
   day++;//是31天的就时间加1天
   if(day==32){//如果加好的时间刚好是32,那么就月份加1,天数设成1
    mon++;
    day=1;
    if(mon==13){mon=1;year++;}//如果月份超出,则年加1,月份设为1
  }
  else if (mon==2||mon ==4||mon ==6||mon ==9||mon ==11){
   day++;
   if (mon==2){//是2月时做的处理
    if (year/4==0&&year/400!=0||year/100==0&&year/400==0)
     if(day==30){//如果是闰年,且时间超出29天,则月份加1,天数设为1
      mon++;
      day=1;
                                                if(mon==13){mon=1;year++;}//如果月份超出,则年加1,月份设为1
     }
    else  if(day==29){如果不是闰年,又是2月,且时间超出28天,月份加1,天数设为1
     mon++;
     day=1;
                                        if(mon==13){mon=1;year++;}//如果月份超出,则年加1,月份设为1
    }
   }
   else if(day==31){//最大天数为30的,超出,则月份加1,天数设为1
原文请找腾讯752018766辣,文-论'文.网http://www.751com.cn
 boolean euqal(DateType dt2){//判断两个时间是不是相等的,若相等则返回true,否则返回false
  if(year==dt2.year&&mon==dt2.mon&&day==dt2.day)
   return true;
  else
   return false;
 }
 
 void printDate(){//输出时间
  System.out.println(+year+"年"+mon+"月"+day+"日");public class ershier{
 public static void main(String[] args){
  try{
   Scanner input=new Scanner(System.in);
   System.out.println("请输入日期1的年月日(以空格为间隔):");
   int year=input.nextInt();
   int day2=input.nextInt();  
   DateType dt1=new DateType(year, month, day);//将日期1构建成DateType
   System.out.println("日期1为:");
   dt1.printDate();//输出日期1
   DateType dt2=new DateType(year2,month2,day2);//将日期1构建成DateType
   System.out.println("日期2为:");
   dt2.printDate();//输出日期2
   boolean equal;
   equal=dt1.euqal(dt2);
   while(true)
   {
    System.out.println("请输入操作:\n" +
    "1、增加一天  2、比较两个日期是否相等  3、退出程序");
    int n=input.nextInt();
    switch(n)
    {
    case 1:
     dt1.incrementDay();//时间加1
     System.out.println("日期1增加后变为:");
     dt1.printDate();
     break;
    case 2:
     equal=dt1.euqal(dt2);//判断是否相等
     System.out.println(equal);
     break;
    case 3:
     System.out.println("程序结束");
     System.exit(0);
    default:
     System.out.println("输入错误!");
        break;   }catch(Exception e){
   System.out.println("输入出错!");

上一页  [1] [2] 

java自定义一个简单的日期类DateType 第2页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。