要求:

制作一个日历表(1990-2999),输入年月,输出该月的日历。

import java.util.Scanner;public class MyCalendar {public void calendarmenu(){while (true){Scanner reader=new Scanner(System.in);System.out.println("输入年份;1900————2999");int year=reader.nextInt();System.out.println("输入月份;1————12");int month=reader.nextInt();showCalender(year,month);System.out.println();System.out.println("是否继续?n-退出,任意键继续");if (reader.next().equals("n")){//reader.close();break;}}}public void  showCalender(int year,int month){//日历表格System.out.println("一\t二\t三\t四\t五\t六\t日");int weekday=getWeekday(year,month,1);for (int i=1;i<weekday;i++){System.out.printf("\t");}int monthDays =getMonthDays(year,month);for(int i=1;i<=monthDays;i++){int k=weekday%7;if(k==0){System.out.printf(i+"\n");}else{System.out.printf(i+"\t");}weekday=weekday+1;}}public  int getWeekday(int year,int month,int day){int weekday=0;int sumDays=getSumDays(year,month,day);weekday=sumDays%7;return weekday;}public  int getMonthDays(int year,int month){int monthDays=0;if (month==4||month==6||month==9||month==11){monthDays=30;}else if (month==2){if (year%4==0&&year%100!=0||year%400==0){monthDays=29;}else{monthDays=28;}}else {monthDays=31;}return monthDays;}public int getSumDays(int year,int month,int day){int sumDays=0;for (int i=1900;i<year;i++){if (i%4==0&&i%100!=0||i%400==0){sumDays=sumDays+366;}else {sumDays=sumDays+365;}}for (int i=1;i<month;i++){sumDays=sumDays+getMonthDays(year,i);}sumDays=sumDays+day;return sumDays;}
}

 测试结果:

适合刚入门的小白学习,简单易懂!

Java实现一个简单的日历表相关推荐

  1. java编写存钱_用Java编写一个简单的存款

    package desposit.money; public class DespositMoney { public static void main(String[] args) { Custom ...

  2. 用java写一个简单的区块链(下)

    用java写一个简单的区块链(下) 2018年03月29日 21:44:35 java派大星 阅读数:725 标签: 区块链java 更多 个人分类: 区块链 版权声明:本文为博主原创文章,转载请标明 ...

  3. 如何复制java卡,使用java做一个简单的集卡程序

    使用java做一个简单的集卡程序 本次设想的是要集齐4张卡,每张卡的概率都是25%,如果每个用户集齐需要多少次才能集合完毕 public class Test { public static void ...

  4. java写一个搜索引擎_搜索引擎—-Java实现一个简单的网络爬虫

    Java实现一个简单的爬虫程序. package SearchCrawler;import java.util.*;import java.net.*;import java.io.*;import ...

  5. 怎样用java写一个简单的文件复制程序

    怎样用java写一个简单的文件复制程序 代码来源:https://jingyan.baidu.com/article/c35dbcb0d6f1398916fcbc07.html package Num ...

  6. 用java编写一个简单计算器

    java 采用java编写一个简单计算器,使用awt和swing 代码如下: import java.awt.Color; import java.awt.Font; import java.awt. ...

  7. 用java写一个日历_使用JAVA写一个简单的日历

    JAVA写一个简单的日历 import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDa ...

  8. java完成一个学生信息调查程序_利用Java设计一个简单的学生信息管理程序

    利用Java设计一个简单的控制台学生信息管理程序 此程序可作为课设的参考,其中信息存储于文件中. 创建了学生类Student,用于存储学号等的信息.创建StudentFunction类,用于实现诸如学 ...

  9. java开发一个简单的通讯录

    java开发一个简单的通讯录 ArrayList的综合应用 import java.util.*; public class ContactNote{static Scanner sc=new Sca ...

最新文章

  1. 《Python数据分析与挖掘实战》一第1章 数据挖掘基础1.1 某知名连锁餐饮企业的困惑...
  2. 数组-在Shell脚本中的基本使用介绍
  3. UIImagePikerController 浅析
  4. Linux文件大小排序
  5. TCP三次握手、糊涂窗口、粘包问题
  6. IM 融云 之 初始化及登录
  7. 关于iOS 5 Could not instantiate class named NSLayoutConstraint错误
  8. src与href区别
  9. Spark提交任务参数详解
  10. matlab三点绘制三角形,matlab画三角形网格
  11. linux系统格式化硬盘
  12. Microsoft Visual SourceSafe 使用说明详解
  13. a标签下载txt,会直接打开txt文件的处理方法
  14. Exchange 暴力破解与防范
  15. 学计算机语言步骤,如何学编程语言?好菜鸟学习编程语言的步骤
  16. JavsScript基础语法01
  17. in作为介词的用法_语法专题:介词in的使用规则
  18. 什么是APP封装?APP封装如何实现?
  19. 如何更改超级用户密码
  20. 神经网络 Output Shape 每层输出矩阵解读

热门文章

  1. 剑灵各大区服务器地图位置,剑灵各地图区域 时装获取详细方法总汇
  2. hive正则表达式反向引用
  3. 【CVPR2020】Detection in Crowded Scenes One Proposal Multiple Predictions 翻译
  4. Linux 监听进程状态
  5. 关闭系统还原清理垃圾文件
  6. cin.tie(0)和ios::sync_with_stdio(false)
  7. 电脑屏幕亮度怎么调?四种自由调节亮度方式
  8. Office VBA开发经典-基础入门卷 配套资源下载
  9. 5月6日—5月9日三年级课程新
  10. “浪”的量子力学解释