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

 /*计算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. MySQL安装与管理

    数据库服务器.数据库和表的关系 –所谓安装数据库服务器,只是在机器上装了一个数据库管理程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库. –为保存应用中实体的数据,一般 ...

  2. c#创建Table

    private void BindDatazhangting() { DataTable dt = new DataTable(); dt.Columns.Add("channel" ...

  3. Algorithms - Bucket sort

    印象 图1 将元素分布在桶中 图2 元素在每个桶中排序 思想 桶排序将数组分到有限数量的桶子里.每个桶子再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序). 分析 时间复杂度: ...

  4. Java NIO学习笔记

    Java NIO学习笔记 一 基本概念 IO 是主存和外部设备 ( 硬盘.终端和网络等 ) 拷贝数据的过程. IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成. 所有语言运行时系统提供执 ...

  5. 937. Reorder Log Files

    You have an array of logs.  Each log is a space delimited string of words. For each log, the first w ...

  6. DB2安装步骤

    ##################################DB2的安装########################### ## 安装前准备 ## 关闭内存地址随机化机制 vi /etc/ ...

  7. P2770 航空路线问题

    \(\color{#0066ff}{题目描述}\) 给定一张航空图,图中顶点代表城市,边代表 2 城市间的直通航线.现要求找出一条满足下述限制条件的且途经城市最多的旅行路线. (1)从最西端城市出发, ...

  8. javascript事件委托//就是父级事件给子级

    <!DOCTYPE html><html><head> <title></title> <style type="text/ ...

  9. react 中文文档案例六 (表单)

    class Reservation extends React.Component { constructor(props) { super(props); this.state = { isGoin ...

  10. Appium教程——Desired Capabilities 详解(转自TesterHome)

    Desired Capabilities在启动session的时候是必须提供的. Desired Capabilities本质上是key value的对象,它告诉appium server这样一些事情 ...