java万年历源代码
packagecom.wushuo.task;//导包(快捷键shift+ctrl+o)importjava.util.Scanner;/***万年历year:输入的年份...
package com.wushuo.task;
//导包(快捷键shift+ctrl+o)
import java.util.Scanner;
/**
* 万年历 year:输入的年份; months:输入的月份; yearDay:1900年距当前年份的天数 ;monthDay:当前月份的天数;
* monthDays:1月到本月的天数 ;days:距离当前月份的天数 ;weekFirst:星期几
* */
public class Calendar {
public static void main(String[] args) {
// 1900年到今天有多少天,先计算闰年
Scanner input = new Scanner(System.in);
System.out.println("请输入年份:");
int year = input.nextInt();
System.out.println("请输入月份");
int months = input.nextInt();
// 1900年距当前年份的天数
int yearDay = 0;
// 当前月份的天数
int monthDay = 0;
// 1月到本月的天数
int monthDays = 0;
for (int i = 1900; i < year; i++) {
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
// System.out.println(i);
yearDay += 366;
// System.out.println(sum);
} else {
yearDay += 365;
// System.out.println(sum);
}
}
System.out.println("1900距" + year + "有" + yearDay + "天");// 天数
// 计算月份
// int m[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; //用来存储月份的天数
for (int m = 1; m <= months; m++) {
// 如果月份是1,3,5,7,8,10,12天数是31天
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10
|| m == 12) {
monthDay = 31;
// 如果月份是4,6,9,11天数是31天
} else if (m == 4 || m == 6 || m == 9 || m == 11) {
monthDay = 30;
} else {
// 如果是闰年2月份29天 平年28天
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
monthDay = 29;
} else {
monthDay = 28;
}
}
if (m < months) {
monthDays += monthDay;
}
}
System.out.println("月初到" + months + "月份有" + monthDays + "天");
// 距离当前月份的天数
int days = monthDays + yearDay;
System.out.println("1900到当前月份的天数" + days);
// 当月第一天的天数为星期几
int weekFirst = days % 7 + 1;
System.out.println("前月份的第一天是星期" + weekFirst);
// 直接输出星期天的布局
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
// 每个月第一天前的空格数量
for (int n = 0; n < weekFirst; n++) {
}
System.out.print("\t");
// 输出months的所有天数
for (int j = 1; j <= monthDay; j++) {
System.out.print(j + "\t");
// 如果是星期六就换行
if ((weekFirst + j - 1) % 7 == 6) {
System.out.println();
}
}
}
} 展开
//导包(快捷键shift+ctrl+o)
import java.util.Scanner;
/**
* 万年历 year:输入的年份; months:输入的月份; yearDay:1900年距当前年份的天数 ;monthDay:当前月份的天数;
* monthDays:1月到本月的天数 ;days:距离当前月份的天数 ;weekFirst:星期几
* */
public class Calendar {
public static void main(String[] args) {
// 1900年到今天有多少天,先计算闰年
Scanner input = new Scanner(System.in);
System.out.println("请输入年份:");
int year = input.nextInt();
System.out.println("请输入月份");
int months = input.nextInt();
// 1900年距当前年份的天数
int yearDay = 0;
// 当前月份的天数
int monthDay = 0;
// 1月到本月的天数
int monthDays = 0;
for (int i = 1900; i < year; i++) {
if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0) {
// System.out.println(i);
yearDay += 366;
// System.out.println(sum);
} else {
yearDay += 365;
// System.out.println(sum);
}
}
System.out.println("1900距" + year + "有" + yearDay + "天");// 天数
// 计算月份
// int m[] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; //用来存储月份的天数
for (int m = 1; m <= months; m++) {
// 如果月份是1,3,5,7,8,10,12天数是31天
if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10
|| m == 12) {
monthDay = 31;
// 如果月份是4,6,9,11天数是31天
} else if (m == 4 || m == 6 || m == 9 || m == 11) {
monthDay = 30;
} else {
// 如果是闰年2月份29天 平年28天
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
monthDay = 29;
} else {
monthDay = 28;
}
}
if (m < months) {
monthDays += monthDay;
}
}
System.out.println("月初到" + months + "月份有" + monthDays + "天");
// 距离当前月份的天数
int days = monthDays + yearDay;
System.out.println("1900到当前月份的天数" + days);
// 当月第一天的天数为星期几
int weekFirst = days % 7 + 1;
System.out.println("前月份的第一天是星期" + weekFirst);
// 直接输出星期天的布局
System.out.println("星期日\t星期一\t星期二\t星期三\t星期四\t星期五\t星期六");
// 每个月第一天前的空格数量
for (int n = 0; n < weekFirst; n++) {
}
System.out.print("\t");
// 输出months的所有天数
for (int j = 1; j <= monthDay; j++) {
System.out.print(j + "\t");
// 如果是星期六就换行
if ((weekFirst + j - 1) % 7 == 6) {
System.out.println();
}
}
}
} 展开
展开全部
有现成的Calendar类,写会比较方便
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
显示当前系统的“年月日 小时 分 秒 星期 ”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接输入你先要的就可以了 当然了现在一般都不用这么麻烦的 现在有全面的一个简写版本可以直接用 谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询