求高手,如何用java编写一个万年历

问题描述

要求用户输入年份,直接输出全年的日期,自己写了一些。。希望大家指教!!publicclassMayday{intyear;intmonth;publicbooleanisRun(inta){if(a%4==0&&a%100!=0||a%400==0){returntrue;}else{returnfalse;}}publicintyday(){intsum=0;for(inti=1900;i<year;i++){if(isRun(i)){sum+=366;}else{sum+=365;}}returnsum;}publicintmday(){intsum1=0;for(inti=1;i<month;i++){switch(i){case6:case4:case9:case11:sum1+=30;break;case2:if(isRun(i)){sum1+=29;}else{sum1+=28;}break;default:sum1+=31;break;}}returnsum1;}publicvoidshou(){inta=yday();intb=mday();intzday=(a+b+1)%7;System.out.println("日t"+"一t"+"二t"+"三t"+"四t"+"五t"+"六t");for(inti=0;i<zday;i++){System.out.print("t");}intsum1=0;switch(month){case6:case4:case9:case11:sum1+=30;break;case2:if(isRun(month)){sum1+=29;}else{sum1+=28;}break;default:sum1+=31;break;}for(inti=1;i<=sum1;i++){System.out.print(i+"t");if((i+zday)%7==0){System.out.println();}}}}

解决方案

解决方案二:

packageDK_Date;importjava.util.Date;publicclassDK_Date{publicintYear;//年份publicintMonth;//月份publicintDay;//日期publicintDays;//当月有几天publicintWeek;//当月第一天为周几publicvoidgetCurDate(){Datedate=newDate();this.Year=date.getYear()+1900;this.Month=date.getMonth()+1;this.Day=date.getDate();}/***判断是否为闰年**@paramyear*@return如果为真则为闰年,反之为平年*/publicbooleanisRun(intyear){if((year%4==0&&year%100!=0)||year%400==0)returntrue;returnfalse;}/***计算当月天数**@parammonth*月份*@paramyear*年份*/publicvoidgetDays(intmonth,intyear){switch(month){case2:if(isRun(year))this.Days=29;elsethis.Days=28;break;case4:case6:case9:case11:this.Days=30;break;default:this.Days=31;break;}}/***计算当月第第一天是一年中的第几天**@parammonth*@paramyear*@return*/publicintgetYearDays(intmonth,intyear){intdays=1;for(inti=1;i<month;i++){switch(i){case2:if(isRun(year))days+=29;elsedays+=28;break;case4:case6:case9:case11:days+=30;break;default:days+=31;break;}}returndays;}/***计算1900年到当年1月1日经过了多少天**@paramyear*当前年份*@return*/publicintgetYearsDay(intyear){intdays=0;for(inti=1900;i<year;i++){if(isRun(i))days+=366;elsedays+=365;}returndays;}/***计算当月第一天为周几**@paramyear*年份*@parammonth*月份*/publicvoidgetWeek(intyear,intmonth){intdays=getYearsDay(year)+getYearDays(month,year);this.Week=days%7==0?7:days%7;}}packageDK_Date;importjava.util.Scanner;publicclassDateUI{privateDK_Datedate;Scannerscanner=newScanner(System.in);publicvoidinitial(){date=newDK_Date();date.getCurDate();date.getWeek(date.Year,date.Month);date.getDays(date.Month,date.Year);}publicvoidshow(){System.out.println("◆◇◆◇◆◇DK万年历◆◇◆◇◆◇n");System.out.println("北京时间:"+date.Year+"年"+date.Month+"月"+date.Day+"日n");getShow(date.Week,date.Days);while(true){System.out.println("n请输入年份:");date.Year=scanner.nextInt();System.out.println("请输入月份:");date.Month=scanner.nextInt();date.getWeek(date.Year,date.Month);date.getDays(date.Month,date.Year);getShow(date.Week,date.Days);}}publicvoidgetShow(intweek,intdays){System.out.println("周日t周一t周二t周三t周四t周五t周六t");if(week!=7){for(inti=0;i<week;i++){System.out.print("t");}}for(inti=1;i<=days;i++){System.out.print(i+"t");if(i%7==7-week){System.out.println();}}}}packageDK_Date;publicclassStart{publicstaticvoidmain(String[]args){DateUIdate=newDateUI();date.initial();date.show();}}

时间: 2024-09-20 12:09:31

求高手,如何用java编写一个万年历的相关文章

pdf-求教:如何用c++编写一个简单的PDF文件检测工具?

问题描述 求教:如何用c++编写一个简单的PDF文件检测工具? 想编写一个在Windows下的用c++编写的程序能够检测PDF中是否有恶意代码,求高手帮忙. 解决方案 和编写防病毒软件类似,可以通过特征代码判断.先要建立一个特征库.

怎么用Java编写一个简单的登录系统?可以注册账号的那种

问题描述 怎么用Java编写一个简单的登录系统?可以注册账号的那种 数据库用的是MySQL,但Java操作方面的不知道怎么入手,求大神指点啊,有实例参考就更好了,谢谢 解决方案 import java.awt.event.*; import javax.swing.*; import java.awt.*; import java.awt.Container; import java.util.*; import java.sql.*; class Login extends JFrame im

菜鸟提问:如何用Java编写一文本编辑的手机软件

问题描述 请教高手:如何用Java编写一手机软件,使之具有文本编辑和生成TXT的功能即可.我的手机S40的.谢了!

java编写一个算法,一个数用数组表示,执行加1操作,之后的数组用一个数表示。

问题描述 java编写一个算法,一个数用数组表示,执行加1操作,之后的数组用一个数表示. 用java编写一个算法,一个数用数组表示,执行加1操作,之后的数组用一个数表示. 解决方案 数组可以表示很多数的-你说,用一个数表示啥意思?? 解决方案二: 你应该是想要下面的实现.如果有用请采纳. import java.util.ArrayList; import java.util.List; public class TestMain { public static void main(String

求高手解析json java的

问题描述 求高手解析json java的 {"data":[{"result":{"result":[{"data":["2","9","2","6","6"],"key":"ball"}]},"phasetype":"202","phas

如何用C++编写一个服务器和用户之间的共享内存管理程序

问题描述 如何用C++编写一个服务器和用户之间的共享内存管理程序 主要的功能就是建立一个服务器,新建两个容器,一个用来存放用户的ID(对应内存),插入操作之后遍历,看是否插入成功:一个用于服务器存放这些ID:在用户插入成功后服务器将他拷贝到这里,然后遍历,看是否插入成功:然后出现查内存进行标记. 要用到stl,共享内存,多线程这块. 请各位大大给点意见啊,谢谢.:) 完美解决的小弟会意思意思的. 解决方案 这些信息都可以放到服务器,用STL的map等来维护 解决方案二: 首先你要定义一个服务器与

源代码-请求高手为我用C++编写一个程序

问题描述 请求高手为我用C++编写一个程序 要求:(1)可以秒控 (2)可以括兵营 (3)免抓数据包 (4)要全部源代码 写好以后发ilovejunhongjing@163.com 解决方案 首先把需求描述清楚,这样大家才好帮你 解决方案二: 题目要求都没,这东西得自己动手哈

多谢多谢-用java编写一个从服务器下载与本地名匹配的文件

问题描述 用java编写一个从服务器下载与本地名匹配的文件 10C 就是一个程序版本与服务器特定路径下所有程序版本匹配,比较高的下载,本地最高关闭程序,现在的卡点就是无法连接FTP,全部是自己看视频学习,从网上查的代码会报错,知识欠缺无法处理登陆问题,还请各位大神不嫌弃悬赏低的帮帮忙,谁都是从菜鸟过来的,我悬赏很少,还要留着不会的再发,希望各位大神帮帮忙,不介意的话留下联系方式方便以后不会的可以帮忙解答,小弟在此感激不尽.谢谢! 解决方案 http://blog.csdn.net/cuiran/

求高手相助,java数据结构中使用链栈编程实现两个大数相减

问题描述 求高手相助,java数据结构中使用链栈编程实现两个大数相减 求高手相助,急交作业的,java数据结构中使用链栈编程实现两个大数相减,感激不尽. 解决方案 今天已经23号了....已经晚了我就不给你做了..原理思路你这里都有了..节哀