导航:首页 > 编程语言 > java万年历代码

java万年历代码

发布时间:2024-12-06 07:14:17

『壹』 编写 万年历java代码例如1900年一月一日是星期一。

importjava.util.Calendar;
importjava.util.Date;
importjava.util.Scanner;

publicclassMyCalendar
{
publicstaticvoidmain(String[]args)
{
Scannerscanner=newScanner(System.in);
Stringreg="^(\d+)[^\d]+((0?[1-9])|(1[012]))$";
while(true)
{
System.out.println("输入年月(年和月用非数字隔开:如2015.1)(什么都不输入直接退出)");
Stringline=scanner.nextLine().trim();
if("".equals(line))
{
scanner.close();
break;
}
if(!line.matches(reg))
{
continue;
}
intyear=Integer.parseInt(line.replaceAll(reg,"$1"));
intmonth=Integer.parseInt(line.replaceAll(reg,"$2"));
System.out.println("日 一 二 三 四 五 六");
Calendarcalendar=Calendar.getInstance();
//这个月的1号是星期几
calendar.set(year,month-1,1);
intday=calendar.get(Calendar.DAY_OF_WEEK);
intstart=Calendar.SUNDAY;
calendar.add(Calendar.DATE,-day+start);
while(start<day)
{
System.out.print(calendar.get(Calendar.DATE)+" ");
calendar.add(Calendar.DATE,1);
start++;
}
calendar.set(year,month-1,1);
Datenow=calendar.getTime();
calendar.set(year,month,1);
Datenext=calendar.getTime();
for(Datecur=now;cur.before(next);)
{
calendar.setTime(cur);
intx=calendar.get(Calendar.DATE);
Stringtmp=x<10?"0"+x:x+"";
System.out.print(tmp+" ");
if(calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY)
{
System.out.println();
}
calendar.add(Calendar.DATE,1);
cur=calendar.getTime();
}
calendar.add(Calendar.DATE,-1);
intto=calendar.get(Calendar.DAY_OF_WEEK);
intend=Calendar.SATURDAY;
while(to<end)
{
calendar.add(Calendar.DATE,1);
intx=calendar.get(Calendar.DATE);
Stringtmp=x<10?"0"+x:x+"";
System.out.print(tmp+" ");
to++;
}
System.out.println();
}
}
}

『贰』 java程序的万年历编程代码

public static void main(String[] args) {
calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, 2012);
calendar.set(Calendar.MONTH,1);
calendar.set(Calendar.DAY_OF_MONTH, 1);
int first = calendar.get(Calendar.DAY_OF_WEEK) - 1;
System.out.println(calendar.get(Calendar.YEAR) + "年"
+ (calendar.get(Calendar.MONTH) + 1) + "月万年历");
System.out.println("日\t一\t二\t三\t四\t五\t六");
for (int i = 0; i < first; i++) {
System.out.print("\t");
}
int maxDay = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
for (int i = 0; i < maxDay; i++) {
if (first / 7 == 1) {
first = 0;
System.out.println();
}
System.out.print(i + 1
+ (first / 6 == 1 || i == maxDay - 1 ? "" : "\t"));
first++;
}
}

『叁』 java中,一段万年历代码,跑起来总是差4天,修改之后也只能让一部分月份的显示正确,代码如下

我改造了一下你的代码 :

packagecom.mikuma.calendar;

importjava.util.GregorianCalendar;
importjava.util.Scanner;

publicclassCalendar{

publicstaticvoidmain(String[]args){
intyear=0;
intmonth=0;

Scannerscanner=newScanner(System.in);
System.out.println("请输入您要查询的年份");

year=scanner.nextInt();

System.out.println("请输入您要查询的月份");
while(true){
month=scanner.nextInt();
if(month<0||month>12){
System.out.println("月份输入有误,请重新输入");
}else{
break;
}
}
printPermanentCalendar(year,month);

}

/**
*输出万年历
*
*@paramyear
*@parammonth
*/
(intyear,intmonth){
intdays=0;

inttotaldays=0;//获取1990年至查询的年份的天数
for(inti=1900;i<year;i++){
totaldays=totaldays+(isLeapYear(i)?366:365);
}

intbeforedays=0;//到指定月份的天数
for(inti=1;i<=month;i++){
switch(i){
case1:
case3:
case5:
case7:
case8:
case10:
case12:
days=31;
break;

case4:
case6:
case9:
case11:
days=30;
break;

case2:
days=isLeapYear(year)?29:28;
break;
default:
break;
}
if(i<month){
beforedays=beforedays+days;
}
}

totaldays=totaldays+beforedays;//总计天数,以判断周几;

intweekDay=0;
inttemp=(1+totaldays)%7;

if(temp==0){//1990年1月1日星期一,据此日0天星期一,以此类推
weekDay=0;
}else{
weekDay=temp;
}

System.out.println("星期日 星期一 星期二 星期三 星期四 星期五 星期六");

for(inti=0;i<weekDay;i++){
System.out.print(" ");
}

for(inti=1;i<=days;i++){
System.out.print(i+" ");
if((totaldays+i)%7==6){
System.out.print(" ");
}
}
}

(intyear){
returnnewGregorianCalendar().isLeapYear(year);
}

}



运行:



也是正确

阅读全文

与java万年历代码相关的资料

热点内容
哪些地方网络信号更好些 浏览:753
jar反编辑工具 浏览:614
描述数据波动大小有哪些 浏览:584
u盘exfat可复制4g以上的文件吗 浏览:667
a4大小的文件过塑多少钱 浏览:26
畅天游2app在哪里下载 浏览:844
微信看文字的图片 浏览:298
将文件直接粘入word 浏览:134
VIP解析APP有哪些 浏览:463
怎样彻底卸载cad文件 浏览:829
iphone4港版 浏览:624
怎么用命令打开程序错误 浏览:665
iphone6怎么改控制中心 浏览:808
ns错误代码 浏览:653
iphone4s如何取消软件更新提示 浏览:538
jsp打印换行 浏览:662
哪个软件可以编程手机软件 浏览:554
如东如何学数控编程培训 浏览:5
微信h5页面怎么修改 浏览:931
手机怎么无法打开视频文件夹 浏览:840

友情链接