Java 小日历格式输出 闰年计算
来源:互联网 发布:美国黑人比例 知乎 编辑:程序博客网 时间:2024/06/02 16:40
import java.util.Scanner;
public class _calendar {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("请输入年份:");
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
if (year < 1900) {
System.out.println("请输入大于1900年的年份:");
year = sc.nextInt();
}
System.out.println("请输入月份:");
int month = sc.nextInt();
if (month < 0 || month > 12) {
System.out.println("请输入正确月份(1-12):");
month = sc.nextInt();
}
System.out.println("年份:" + year + ",月份:" + month);
/* 判断是否是闰年 */
boolean y = run_count(year);
System.out.println();
/*
* if((year%4==0)&&(year%100!=0)||(year%400==0)) {
* System.out.println("该年份是闰年!"); y=true; } else { y=false;
* System.out.println("该年份不是闰年!"); }
*/
/* 计算输入月份的天数 */
int day;
day = day_count(y, month);
/*
* { if((y==true)&&(month==2)) { day=29;
* System.out.println("该年月份下,月份:"+day+"天"); } else
* if((y==false)&&(month==2)) { day=28;
* System.out.println("该年月份下,月份:"+day+"天"); } else
* if((month==4)||(month==6)||(month==9)||(month==11)) { day=30;
* System.out.println("该年月份下,月份:"+day+"天"); } else {day=31;
* System.out.println("该年月份下,月份:"+day+"天");}}
*/
/* 计算该月第一天是星期几 */
/* 1、计算输入年份距离1900年1月1日的天数 */
int run = 0;// 输入年份距1900之间有多少闰年
for (int x = 1900; x < year; x++) {
if (run_count(x) == true)
run++;
}
int day_1 = run * 366 + (year - 1900 - run) * 365;// 俩年之间天数
System.out.println("该二年之间闰年数:" + run);
/* 2、计算输入月份之前的天数(从当年年初开始) */
int day_2 = 0;// 改年初到该月天数
int i = month - 1;
while (i >= 1) {
day_2 += day_count(y, i);
i--;
}
/* 3、求和 */
int days = day_1 + day_2;
System.out.println("总天数:" + days);
int week_day = 1 + days % 7;
System.out.println("星期几:" + week_day);
/* 实现日历--简单试试 */
System.out.println("********************欢迎使用万年历*********************");
System.out.println("/n年份:" + year + ",月份:" + month);
System.out.print("/n/n星期日/t星期一/t星期二/t星期三/t星期四/t星期五/t星期六/n");
int k = 0;
for (int j = 0; j < week_day % 7; j++)// 刚开始未%除有漏洞,注意
{
k++;
System.out.print("/t");
}
for (int a = 1; a <= day; a++) { // if(k==7)
// {k=0;System.out.println();}
System.out.print(a + "/t");
k++;
if (k == 7) {
k = 0;
System.out.println();
}
}
System.out.println();
}
public static int day_count(boolean y, int m) {
if ((y == true) && (m == 2))
return 29;
else if ((y == false) && (m == 2))
return 28;
else if ((m == 4) || (m == 6) || (m == 9) || (m == 11))
return 30;
else
return 31;
}
public static boolean run_count(int ye) {
if ((ye % 4 == 0) && (ye % 100 != 0) || (ye % 400 == 0)) {
System.out.println(ye + "年份是闰年!");
return true;
} else {
System.out.println(ye + "年份不是闰年!");
return false;
}
}
}
- Java 小日历格式输出 闰年计算
- Java 输出日历格式
- Java 输出日历格式
- Java计算闰年
- java 日历格式转化
- java 输出当月日历
- java输出当月日历
- JAVA 输出日历
- java实现输出日历
- Java日历横向输出
- Java输出日历
- java日历计算
- java小程序实例 闰年
- JAVA日历小程序
- java小日历
- Java小日历
- Java小日历
- java日历小程序
- 数值转换
- Google 也要从电子书中分一杯羹了
- 电脑辐射好强~
- boost::any的用法、优点和缺点以及源代码分析
- 打印规则星图 空心星图 (如有漏洞请指出)
- Java 小日历格式输出 闰年计算
- 数据结构课程设计*大数乘大数
- 数制转换各种实现 数据结构
- 数据结构链表知识整合
- 类的组合和类的函数友元和类友元使用
- 访问远程Java对象 remoteObject
- Cat类实现 (拷贝构造函数和静态数据变量的实现)
- C++元编程和Boost编程库 (C++ Metaprogramming and Boost MPL )
- CPU类打印电脑属性(上)构造函数的定义,类的组合使用