知识点:
1.绝对值 Math.abs() 的运用
2.str1.splist() 字符串分割方法的运用
3.字符串强转整形Integer.parseInt()的运用

public class Study {//练习 计算两个日期之间含有多少天public static void main(String[] args) {System.out.println("请输入第一个日期 用\"-\"分隔 例:2019-06-02");Scanner scan = new Scanner(System.in);String str1 = scan.nextLine();System.out.println("请输入第二个日期 用\"-\"分隔 例:2019-06-02");String str2 = scan.nextLine();//put the Str to the StrspString[] strsp1 = str1.split("\\-");String[] strsp2 = str2.split("\\-");//实例化YearMonthDayYearMonthDay ymd = new YearMonthDay(strsp1,strsp2);System.out.println("两者相差:"+Math.abs(ymd.allDayOne()-ymd.allDayTwo())+"天");}
}class YearMonthDay{int year1;int month1;int day1;int year2;int month2;int day2;int allDayOne;int allDayTwo;public YearMonthDay(String[] strsp1,String[] strsp2){//将分隔后的字符串分别 转换为int;this.year1 = Integer.parseInt(strsp1[0]);this.month1 = Integer.parseInt(strsp1[1]);this.day1= Integer.parseInt(strsp1[2]);this.year2 = Integer.parseInt(strsp2[0]);this.month2 = Integer.parseInt(strsp2[1]);this.day2 = Integer.parseInt(strsp2[2]);}public int allDayOne(){//计算第一次输入的年总天数for (int i = 1900;i<year1;i++){//判断闰不闰if ((year1 % 4 ==0 && year1 % 100 != 0) || year1 % 400 == 0){allDayOne +=366;}else{allDayOne +=365;}}//累加月份天数for (int m = 1;m<month1;m++){switch (m){case 2: if ((year1 % 4 ==0 && year1 % 100 != 0) || year1 % 400 == 0){allDayOne +=29;}else {allDayOne += 28;}break;case 1: case 3: case 5: case 7: case 8: case 10: case 12:allDayOne += 31;break;default:allDayOne +=30;break;}}return allDayOne+day1;}public int allDayTwo(){//计算第二次输入的年总天数for (int i = 1900;i<year2;i++){//判断闰不闰if ((year2 % 4 ==0 && year2 % 100 != 0) || year2 % 400 == 0){allDayTwo +=366;}else{allDayTwo +=365;}}for (int m = 1;m<month2;m++){switch (m){case 2: if ((year2 % 4 ==0 && year2 % 100 != 0) || year2 % 400 == 0){allDayTwo +=29;}else {allDayTwo += 28;}break;case 1: case 3: case 5: case 7: case 8: case 10: case 12:allDayTwo += 31;break;default:allDayTwo +=30;break;}}return allDayTwo+day2;}@Overridepublic String toString() {return "YearMonthDay{" +"year1=" + year1 +", month1=" + month1 +", day1=" + day1 +", year2=" + year2 +", month2=" + month2 +", day2=" + day2 +'}';}
}

【JAVA 第三章 流程控制语句】课后习题 计算两个日期之间的天数相关推荐

  1. java 课后习题 计算两个日期之间的天数

    知识点: 1.绝对值 Math.abs() 的运用 2.str1.splist() 字符串分割方法的运用 3.字符串强转整形Integer.parseInt()的运用 public class Stu ...

  2. java怎么计算相隔多少天_java计算两个日期之间相差天数和相隔天数详解

    大家看到文章标题"两个日期之间相差天数和相隔天数",是否有疑惑呢!从中文字面理解,"相差"和"相隔"是有区别的,然而就是这些区别害死很多人, ...

  3. java 两日期的周数_利用 Java 中 Calendar 计算两个日期之间的天数和周数

    利用 Java 中 Calendar 计算两个日期之间的天数和周数 前言 究竟什么是一个 Calendar 呢? 中文的翻译就是日历, 那我们立刻可以想到我们生活中有阳 (公) 历阴 (农) 历之分它 ...

  4. java计算两个日期之间的天数(java计算两个日期之间的天数算法)

    两个日期之间的天数要怎么计算? 两个日期之间的天数的计算=日期相减+1.比如:六月一号到六月三号,这之间是3天,分别是:一号.二号.三号,算式:3-1+1=3(天).同理,2001年到2002年是2年 ...

  5. java calendar日期计算_利用Java中Calendar计算两个日期之间的天数和周数

    前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每 ...

  6. java日期相差周_利用Java中Calendar计算两个日期之间的天数和周数

    前言 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 - 阳`(公)历 一年12 个月,每 ...

  7. java android 计算两个日期之间的天数

    第一种: public class Time { public static void main(String[] args) {         SimpleDateFormat sdf = new ...

  8. java中如何计算天数_如何在Java中计算两个日期之间的天数

    让我们首先设置两个日期:LocalDate date1 = LocalDate.of(2019, 4, 16); LocalDate date2 = date1.with(Month.MAY).wit ...

  9. 【JAVA 第三章 流程控制语句】课后习题 三角形面积计算

    知识点: 1.三角形面积公式: s=(a+b+c)/2 面积=s(s-a)(s-b)(s-c)的开根 2.java.lang.Math;的运用 Math.sprt(s);开根 //编写读入三边长,计算 ...

最新文章

  1. 好玩,新版微信除了“炸屎”,还可以和她亲亲
  2. 西部数据移动硬盘哪个型号好_飞利浦电视哪个型号好?这篇文章有你想要的答案...
  3. css不常用,不常用的 CSS
  4. createprocess重启程序_C++_VC程序设计中CreateProcess用法注意事项,对于windows程序设计来说,启动 - phpStudy...
  5. linux进程阻塞例子,一个Linux守候进程例子
  6. Doris之BE的所有配置项(全面)
  7. 大数据分析有哪些陷阱
  8. android pod 组件化_Flutter组件化导入至iOS现有工程中(CocoaPods篇)
  9. android gdb gdbserver
  10. 免费报表工具 - RDP报表工具
  11. 惠普m128fn中文说明书_hp m125m126m127m128使用说明.pdf
  12. 基于逻辑回归的评分卡模型简单概述
  13. 常用的免费英文电子书
  14. 真•扑克牌洗牌算法实现
  15. python新年贺卡_写个新年贺卡生成器,各位小伙伴们新年快乐呀~
  16. 2020年各省二建房建挂靠价格汇总
  17. 未来挣钱的行业有哪些,这3个项目有前景
  18. MATLAB相干成像系统,Matlab光学仿真课程设计-基于Matlb相干与非相干照明成像系统的仿真.docx...
  19. OpenWrt 安装 mDNS,并设置 mDNS 映射
  20. mysql 怎么打开dmp_mySQL 中怎么将dmp文件导入数据库

热门文章

  1. 机器学习降维算法五——KPCA算法
  2. shell编程之if判断总结
  3. PixelShuffle特征图的上采样的方法
  4. Java—switch case实现两个数的算术运算
  5. 文件的读写操作 c# 1614992256
  6. 构造方法重载 java 1615136407
  7. centos-安装python3-pip3
  8. JDK动态代理和CGLib动态代理简单演示
  9. CentOS 下安装 Node.js 8.11.3 LTS Version
  10. 使用框架注意事项:vue-react