package com.zwg.calweek;

import java.time.MonthDay;

import java.util.Scanner;

public class CalMain {

public static void main(String[] arge){

Scanner sc=new Scanner(System.in);

int year,month,day;

while(true){

System.out.println("我可以计算你输入的日期是星期几,请依次输入年月日");

System.out.println("请输入年份:");

year=sc.nextInt();

while(year<1900){

System.out.println("我还无法计算1900之前的日期");

System.out.println("请重新输入年:");

year=sc.nextInt();

}

System.out.println(CheckDay.isLeap(year));

System.out.println("请输入月份:");

month=sc.nextInt();

while(month>12||month<1){

System.out.println("月份输入错误,请重新输入:");

month=sc.nextInt();

}

System.out.println("请输入日:");

day=sc.nextInt();

while(!CheckDay.checkDay(year,month,day)){

day=sc.nextInt();

}

System.out.println("日期输入完毕,正在计算...");

FinalCal.finalCal(year, month, day);

}

}}

/*---------------------------------------------------------------------------*/

package com.zwg.calweek;   public class CheckDay { public static boolean isLeap(int year){  boolean mark=false; if((year%4==0&&year%100!=0)||year%400==0) mark=true;   return mark; }  public static boolean checkDay(int year, int month,int day){  switch(month){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: if(day<1||day>31) return false; break; case 4: case 6: case 9: case 11: if(day<1||day>30) return false; break; case 2: if(isLeap(year)){ if(day<1||day>29) { System.out.println(year+"年2月有29天"); return false; } } else { if(day<1||day>28) { System.out.println(year+"年2月有28天"); return false; } }break; default: System.out.println("Error! checkDay函数出错"); } return true;   } }/*------------------------------------------------------------------------------------------*/

package com.zwg.calweek;   public class FinalCal { public static void finalCal(int year,int month,int day){ /**1.计算该年与1900年间有几个闰年,有几个,就额外+几天;  * 1904是第一个闰年;   */ int y=year-1904,count=0; if(y>=0)   count=y/4+1; int total; total=(year-1900)*365+calMonth(month-1)+day+count; int week=total%7; System.out.print(year+"年"+month+"月"+day+"日是星期"); switch(week){ case 1: System.out.println("一");break; case 2: System.out.println("二");break; case 3: System.out.println("三");break; case 4: System.out.println("四");break; case 5: System.out.println("五");break; case 6: System.out.println("六");break; case 7: System.out.println("日");break; default: System.out.println("error week"); } System.out.println(); } public static int calMonth(int month){ switch(month){ case 0:return 0; case 1:return 31; case 2:return 31+28; case 3:return 31+28+31; case 4:return 31+28+31+30; case 5:return 31+28+31+30+31; case 6:return 31+28+31+30+31+30; case 7:return 31+28+31+30+31+30+31; case 8:return 31+28+31+30+31+30+31+31; case 9:return 31+28+31+30+31+30+31+31+30; case 10:return 31+28+31+30+31+30+31+31+30+31; case 11:return 31+28+31+30+31+30+31+31+30+31+30; case 12:return 31+28+31+30+31+30+31+31+30+31+30+31; default: System.out.println("Error! calMonth"); return 0; } }   }

java 判断日期周几_Java 输入一个日期,判断是星期几相关推荐

  1. 输入一个日期,显示下一天日期

    输入一个日期,显示下一天日期 要求: 设计程序输入一个日期,显示下一天日期. 代码如下: import java.util.Scanner; public class nextDate{public ...

  2. java语言显示运算时间_JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天...

    本文主要向大家介绍了JAVA语言之ACM日期计算:输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. ACM日期 ...

  3. C语言输入一个日期,计算这一天是周几

    问题描述:输入一个日期,计算这一天是周几,假设年份和月份的天数是一定的,分别是360天和30天,并且已知一个日期. 首先,要解决一个问题,你要知道真正需要求的是什么. 对于这个题,我们要解决的是已知日 ...

  4. 【算法】在控制台输入一个日期,判断这个日期是这一年的第几天?

    import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;/*** @Cl ...

  5. 用java将输入的整数逆序输出_输入一个整数判断这个整数是几位数,并把这个整数逆序输出! | 学步园...

    import java.util.Scanner; /** * * 问题:输入一个整数判断这个整数是几位数,并把这个整数逆序输出! * * @author Administrator * * 程序如下 ...

  6. java编程用户输入两个数字_编写一个Java应用程序,要求从键盘输入两个整数,计算这两个数据...,编写一个Java应用程序,要求从键盘输入一个数,判断该数是不...

    导航:网站首页 > 编写一个Java应用程序,要求从键盘输入两个整数,计算这两个数据...,编写一个Java应用程序,要求从键盘输入一个数,判断该数是不 编写一个Java应用程序,要求从键盘输入 ...

  7. java编写程序_对输入的年月日_给出该天是该年的第多少天?_编写Java程序。当以年月日的格式输入一个日期时,输出该年是否是闰年,该月有几天,该日是星期几...

    满意答案 控制不住的愤怒 2017.12.20 采纳率:59%    等级:9 已帮助:414人 public static void main(String[] args) throws Parse ...

  8. 从键盘输入一个日期,格式为yyyy-M-d 要求计算该日期与1949年10月1日距离多少天

    /** 从键盘输入一个日期,格式为yyyy-M-d要求计算该日期与1949年10月1日距离多少天例如:用户输入了:1949-10-2程序输出:1用户输入了:1949-11-1程序输出:31 */ im ...

  9. c++输入一个整数判断是否为完全平方数_matlab判断一个整数是完全平方数

    (C语言c++)判断一个数是否是 完全平方数的 整数倍 #include#includeint ispow(int x){    int& 用c编判断一个数是否是完全数 #include#in ...

最新文章

  1. 嵌入式程序员应知道的基本问题-C语言(zz)
  2. 企业组网安全如何保障?SDWAN提供怎样的安全服务?
  3. 修改mysql文件位置_如何修改mysql数据文件存储位置
  4. 使用Http协议访问网络--HttpClient
  5. ubuntu12 04下django安装略谈
  6. 百度关键词搜索量查询,百度,谷歌关键词查询工具
  7. 正确的握笔姿势,握笔的姿势非常的重要
  8. 很多次游戏的最后取胜实际上都有很强的偶然性
  9. 复现 ASPCMS企业建站系统Cookies欺骗漏洞
  10. 计算机辅助电话访问优势,电话访问的优点缺点、优势不足、局限性
  11. 删除Custom about:config即可轻松输入
  12. 5G基础及计算机网络参考模型
  13. 清华大学操作系统课程实验
  14. 计算机网络——基于IP多播的网络会议程序
  15. 什么时候重写equals方法
  16. python怎么解题_农夫过河问题 Python实现解题
  17. 三种方法Python读取文件指定行,来看看你用过没?
  18. python使用大数据分析师_Python+大数据分析师
  19. 升级到 ExtJS 5的错误解决方案
  20. A002、java环境搭建_第一个java程序

热门文章

  1. 《研磨设计模式》chap18 状态模式state(1)模式简介
  2. C++ Primer 5th笔记(chap 12 动态内存)智能指针概述
  3. 6. Qt 信号与信号槽(3)-QMetaObject
  4. go.sum中特殊hash如何计算
  5. 全网最强Python版《超级玛丽》小游戏,我还是你的马里奥嘛?
  6. unittest单元测试框架—基本实例
  7. load、loads、dump、dumps的区别
  8. `Caused by: java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
  9. 05-密码学基础-RSA的介绍
  10. MTK for Google AttestationKey介绍