j2se日历输出(java日历)任意年份
来源:互联网 发布:navicat for mysql 11 编辑:程序博客网 时间:2024/06/02 14:52
java万年历源代码!!!!!!!!!任意年份
import java.util.Scanner;
public class Wnl {
/**
* @param args
*/
public static int year; // 年份
public static int month; // 月份
//构造函数
public Wnl() {
Scanner input = new Scanner(System.in);
System.out.println("输入您要的年份:");
year = input.nextInt();
System.out.println("输入您要的月份:");
month = input.nextInt();
if (!isYear(year)) { // 判断是不是有效年
System.out.println("年份输入有误,请重新输入") ;
Wnl wnl = new Wnl();
}
if (!isMonth(month)) { // 判断是不是有效月份
System.out.println("月份输入有误,请重新输入");
Wnl wnl = new Wnl();
}
display(year, month);//输出日历
}
// mian函数
public static void main(String[] args) {
Wnl wnl = new Wnl(); //新建一个万年历对象
}
// 判断是不是有效年
private static boolean isYear(int year) {
boolean flag = false;
if (year >= 1900) {
flag = true;
}
return flag;
}
// 判断是不是闰年
private boolean isLeapYear(int year) {
boolean flag = false;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
flag = true;
}
return flag;
}
// 判断是不是有效月份
private static boolean isMonth(int month) {
boolean flag = false;
if (month >= 0 && month <= 12) {
flag = true;
}
return flag;
}
// 求出月份的天数
private int days(int year, int month) {
int days = 0;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days = 31;
break;
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
case 2:
if (isLeapYear(year)) {
days = 29;
break;
} else {
days = 28;
break;
}
}
return days;
}
// 求出到每年的天数
private int daysOfYear(int year) {
int days = 365;
if (isLeapYear(year))
days = 366;
return days;
}
// 求出到目标前一年的天数
private int daysYear(int year) {
int count = 0;
int day = 0;
for (int i = 1900; i < year; i++) {
day = daysOfYear(i);
count += day;
}
return count;
}
// 到目标年 内 1月1 到 前一个月的天数
private int daysMonth(int year, int month) {
int days = 0;
int count = 0;
if (month > 0)
for (int i = 1; i < month; i++) {
days = days(year, i);
count += days;
}
return count;
}
// 判断目标月 第一天是星期几
private int weekOfMonth(int year, int month) {
int day1 = daysYear(year);
int day2 = daysMonth(year, month);
// System.out.println(day1+" "+day2);
// System.out.println("到前一月的天数为:" + (day1 + day2));
int week = (day1 + day2 + 1) % 7; // 求当月第一天是星期几
return week;
}
// 显示日历
private void display(int year, int month) {
System.out
.println("***************************************************");
System.out.println("************************万年历*********************");
System.out.println("周日\t" + "周一\t" + "周二\t" + "周三\t" + "周四\t" + "周五 \t"
+ "周六 \t ");
int week = weekOfMonth(year, month); // 获得当月第一天的星期
// System.out.println("第一天为星期:" + week);
int days = days(year, month); // 获得当月月的天数
// System.out.println("当月天数为:" + days);
for (int i = 0; i < week; i++)
// 输出空格
System.out.print("\t");
for (int i = 1; i <= days; i++) {
if (week == 6) {
if (i < 10)
System.out.println("0" + i + "\t");
else
System.out.println(i + "\t");
}
else {
if (i < 10)
System.out.print("0" + i + "\t");
else
System.out.print(i + "\t");
}
week++;
week = week % 7;
}
}
}
- j2se日历输出(java日历)任意年份
- 根据年份输出日历
- 打印出任意年份的日历
- 打印出任意年份的日历
- C语言实验:输入任意一个年份和月份,输出该月份的公历日历
- C语言实验:输入任意一个年份和月份,输出该月份的公历日历
- 输入任意一个年份和月份,输出该月份的公历日历
- java 输出当月日历
- java输出当月日历
- Java 输出日历格式
- JAVA 输出日历
- java实现输出日历
- Java日历横向输出
- Java 输出日历格式
- Java输出日历
- Java使用Calendar类在控制台输出指定年份和月份的日历
- 蓝桥杯-算法提高-任意年月日历输出
- JAVA输出日历(整合代码)
- 怎么样区别IE7,IE8, IE9
- GWT(google web toolkit)教程(一) 配置
- xml文件解析的三种方式
- C#基础核心
- 飞鸽传书 bbs以及个人主页服务好不热闹
- j2se日历输出(java日历)任意年份
- Java中几种常用数据类型之间转换的方法
- 快速排序算法
- Qt的QGraphicsView框架
- 接口和抽象类
- 多语种多平台历险记·序·为了逝去的三年
- c++引用和指针区别详解
- 多语种多平台历险记·一·多语种通有问题
- 各种工具的下载地址