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

 /*计算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++;
} }
}

Java基础10-循日历制作的更多相关文章

  1. Java基础10 接口的继承与抽象类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/03/31/2982240.html 作者:Vamei 出处:http://www.cnblogs.com ...

  2. Java基础10:全面解读Java异常

    更多内容请关注微信公众号[Java技术江湖] 这是一位阿里 Java 工程师的技术小站,作者黄小斜,专注 Java 相关技术:SSM.SpringBoot.MySQL.分布式.中间件.集群.Linux ...

  3. Java基础10 接口的继承与抽象类(转载)

    接口继承 接口继承(inheritance)与类继承很类似,就是以被继承的interface为基础,增添新增的接口方法原型.比如,我们以Cup作为原interface:  interface Cup{ ...

  4. java基础(10):继承、抽象类

    1. 继承 1.1 继承的概念 在现实生活中,继承一般指的是子女继承父辈的财产.在程序中,继承描述的是事物之间的所属关系,通过继承可以使多种事物之间形成一种关系体系.例如公司中的研发部员工和维护部员工 ...

  5. java基础(10)---leetcode的String、数组以及集合的一些使用

    整数 一.整数反转_7 /* 12345 变成 54321 */ public class 整数反转_7 { public static void main(String[] args){ int x ...

  6. Java基础(10):java基础第一部分综合测试题,成绩合法性校验与排序

    题目: 编写一个 JAVA 程序,实现输出考试成绩的前三名 要求: 1. 考试成绩已保存在数组 scores 中,数组元素依次为 89 , -23 , 64 , 91 , 119 , 52 , 73 ...

  7. java基础(10) -线程

    线程 相当于轻量级进程,线程在程序中是独立的.并发的执行路径,每个线程有它自己的堆栈.自己的程序计数器和自己的局部变量.但是,与分隔的进程相比,进程中的线程之间的隔离程度要小.它们共享内存.文件句柄和 ...

  8. java基础10 吃货联盟点餐系统

    public class OrderMsg { public static void main(String[] args) throws Exception { /** * 订餐人姓名.选择菜品.送 ...

  9. java基础10(IO流)-字节流

    IO流 输入与输出[参照物是程序] 如果从键盘.文件.网络甚至是另一个进程(程序或系统)将数据读入到程序或系统中,称为输入 如果是将程序或系统中的数据写到屏幕.硬件上的文件.网络上的另一端或者是一个进 ...

  10. 【java基础 10】hash算法冲突解决方法

    导读:今天看了java里面关于hashmap的相关源码(看了java6和java7),尤其是resize.transfer.put.get这几个方法,突然明白了,为什么我之前考数据结构死活考不过,就差 ...

随机推荐

  1. leetcode 6 ZigZag Converesion

    class Solution { public: string convert(string s, int nRows) { if (nRows <= 1) return s; string r ...

  2. C#泛型理解(一)

    一.什么是泛型 泛型是C#语言和公共语言运行库(CLR)中的一个新功能,它将类型参数的概念引入.NET Framework.类型参数使得设计某些类和方法成为可能,例如,通过使用泛型类型参数T,可以大大 ...

  3. ubuntu安装软件-笔记

    手动安装过程 下载 - 配置文件 常用命令: sudo  dpkg -i ******.deb 问题&解决思路 问题1:依赖项 - 缺少某一个依赖包 解决尝试: 1 . sudo apt-ge ...

  4. VisualStudio.Net应用程序制作图标

    前段时间用到了VS自带打包工具,对程序进行打包,但是由于打包完成后,安装后的软件图标甚是难看于是想把图标也给打包进去.于是找到了两个解决方式. 第一种也是最简单的: 在VS中按照下面方式进行即可: 第 ...

  5. 解决Android应用安装快完毕时提示签名冲突,android签名文件生成(转)

    最近开发了一个Android手机应用,自己用Eclipse调试安装没问题,使用其他人调试生成的bin下的apk就会出现问题,安装到最后提示"安装签名冲突"错误,想了一下估计是没有给 ...

  6. 树状数组【bzoj1103】: [POI2007]大都市meg

    1103: [POI2007]大都市meg 在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了. 不过,她经常回忆起以前在乡间漫步的情景.昔日,乡 ...

  7. 树链剖分【洛谷P3833】 [SHOI2012]魔法树

    P3833 [SHOI2012]魔法树 题目描述 Harry Potter 新学了一种魔法:可以让改变树上的果子个数.满心欢喜的他找到了一个巨大的果树,来试验他的新法术. 这棵果树共有N个节点,其中节 ...

  8. linux read和write

    int write(int fd, const void *buf, size_t count); 如果是堵塞fd,则返回值是count,或者是0,-1: 如果是非堵塞fd,则返回值是写入的字节数,或 ...

  9. MySQL使用总结

    本篇博客,主要是对MySQL使用的一些总结,会持续更新. MySQL下载安装不再赘述.去官网即可.有企业版和社区版. 用命令行的方式:   1. 先运行MySQL目录的bin下的mysqld.exe ...

  10. Visible Ops

    Link:http://www.wikisummaries.org/Visible_Ops Contents [hide]  1 What is ITIL? 2 Introduction 3 Phas ...