编写过程:先指定固定的年份来输出指定月份的日历

 /*计算1900年1月1日到2018年11月1日一共有多少天
计算月份
对7进行取模,结果就为星期几
*/
import java.util.Scanner; public class Test1{
public static void main(String[] args){
int sum=0;
for(int year=1900;year<=2017;year++){
if(year%4==0&&year%100!=0||year%400==0){//闰年
sum=sum+366;
}else{
sum=sum+365;
}
}
for(int month=1;month<=10;month++){
if(month==2){
if(2018%4==0&&2018%100!=0||2018%400==0){
sum=sum+29;
}else{
sum=sum+28;
}
}else if(month==4||month==6||month==9||month==11){
sum=sum+30;
}else{
sum=sum+31;
}
}
sum=sum+1;
System.out.println("1900年1月1日到2018年11月1日一共有"+sum+"天"); int wekDay=sum%7;
System.out.println("2018年11月1日为星期"+sum%7); System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i<=wekDay;i++){
System.out.print("\t");
}
for(int i=1;i<=30;i++){//输出2018年11月份的日历
if(sum%7==6){
System.out.print(i+"\n");
}else{
System.out.print(i+"\t");
}
sum++;
} }
}

将代码变灵活,从控制台输入月份和年份,来生成日历

 import java.util.Scanner;
public class Cal{
public static void main(String[] args){
Scanner in=new Scanner(System.in);
System.out.println("-----万年历-----");
System.out.println("请输入年份:");
int year=in.nextInt();
System.out.println("请输入月份:");
int month=in.nextInt();
int sum=0;
int days;
for(int i=1900;i<=year-1;i++){
if(i%4==0&&i%100!=0||i%400==0){//闰年
sum=sum+366;
}else{
sum=sum+365;
}
}
for(int i=1;i<=month-1;i++){
if(i==2){
if(year%4==0&&year%100!=0||year%400==0){
sum=sum+29;
}else{
sum=sum+28;
}
}else if(i==4||i==6||i==9||i==11){
sum=sum+30;
}else{
sum=sum+31;
}
}
sum=sum+1;
//System.out.println("1900年1月1日到2018年11月1日一共有"+sum+"天"); int wekDay=sum%7;
//System.out.println("2018年11月1日为星期"+sum%7); System.out.println("日\t一\t二\t三\t四\t五\t六");
for(int i=1;i<=wekDay;i++){
System.out.print("\t");
} if(month==2){
if(year%4==0&&year%100!=0||year%400==0){
days=29;
}else{
days=28;
}
}else if(month==4||month==6||month==9||month==11){
days=30;
}else{
days=31;
} for(int i=1;i<=days;i++){//输出2018年11月份的日历
if(sum%7==6){
System.out.print(i+"\n");
}else{
System.out.print(i+"\t");
}
sum++;
} }
}

最新文章

  1. iOS 获取网络状态
  2. mysql 性能优化方案
  3. javascript中利用柯里化函数实现bind方法
  4. NABCD
  5. [No000029]程序员的那些事儿 -- 皆大欢喜的加薪
  6. Android成长日记-Android四大组件之Service组件的学习
  7. odoo注销后在登录时的用户名和密码
  8. TchApp项目说明
  9. 大部分人努力程度之低,根本轮不到拼天赋 [转自w3cschool]
  10. Ubuntu使用总结
  11. UVaLive 7359 Sum Kind Of Problem (数学,水题)
  12. POJ 3159 Candies 差分约束dij
  13. Java基础知识强化之IO流笔记22:FileInputStream / FileOutputStream 复制文本文件案例1
  14. poj2352 Stars
  15. PHP开发调试环境配置
  16. mysql 查询今天,昨天,上个月sql语句 注解
  17. hibernate学习(四)hibernate的一级缓存&amp;快照
  18. Zynq-Linux移植学习笔记之27UIO机制响应外部中断实现【转】
  19. 2018牛客网暑假ACM多校训练赛(第十场)H Rikka with Ants 类欧几里德算法
  20. 如何使用openscad绘制一个简单的键帽.

热门文章

  1. Spring第五篇
  2. Java50道经典习题-程序40 字符串排序
  3. Unobrusive Ajax使用
  4. Hexo下Next主题配置与优化
  5. Educational Codeforces Round 61 (Rated for Div. 2)F(区间DP,思维,枚举)
  6. 斐波那契数列的Python实现
  7. django 基础框架学习 (一)
  8. P3628 [APIO2010]特别行动队
  9. linux curl命令:curl: (7) couldn&#39;t connect to host ?
  10. Solr学习笔记(1) —— Solr概述&amp;Solr的安装