Java编程输入两个年月日,(1)判断两个日期是否相同,并且将相差的天数显示出来;(2)将日期后推或前推N天,并将该日期输出。
根据给定的文件信息,我们可以总结出以下关键知识点: ### 1. Java 日期操作基础 在Java中处理日期和时间通常有几种方法,这里主要介绍`java.util.Date`类和`java.time`包下的相关类。不过,在这段代码中,开发者选择了一种自定义的方式来实现日期的操作。 #### 1.1 日期比较与计算天数差 **目标**:给定两个日期,判断这两个日期是否相同,并计算它们之间的天数差。 **实现思路**: - 通过用户输入获取两个日期。 - 使用`DateType`类来表示日期,并通过`bool`方法判断两个日期是否相同。 - 通过`ZongTian`方法计算每个日期距离某个参考点(通常是公元0年1月1日)的总天数,从而计算出两日期间的天数差。 ### 2. `DateType` 类的设计 #### 2.1 类的定义 ```java class DateType{ int y, m, d; public DateType(int y, int m, int d){ this.y = y; this.m = m; this.d = d; } ... } ``` - **构造函数**:用于初始化一个日期对象。 - **成员变量**:存储年(`y`)、月(`m`)、日(`d`)。 #### 2.2 方法实现 - **printDate()**:打印日期。该方法考虑了闰年和平年的区别,以及各个月份的天数差异。 - **bool()**:比较两个日期是否完全相同。 - **ZongTian()**:计算日期到公元0年1月1日的总天数。这是通过遍历从公元0年到当前日期每一年的天数来实现的,其中考虑了闰年的情况。 - **increaseDay()** 和 **decreaseDay()**:分别用于将日期向前或向后推进指定的天数。 ### 3. 用户交互与主逻辑 **程序流程**: 1. 通过`JOptionPane`类获取用户输入的两个日期以及向前或向后推进的天数。 2. 创建`DateType`对象并调用其方法进行日期的比较、天数差计算以及日期的调整。 3. 输出结果。 #### 3.1 输入输出 - **输入**:使用`JOptionPane.showInputDialog`获取用户输入。 - **输出**:通过`System.out.println`输出日期的比较结果和调整后的日期。 ### 4. 其他注意事项 - 该程序通过自定义的`DateType`类实现了日期的比较和调整功能。 - 在处理日期时,需要注意月份的天数和闰年的规则。 - 使用`JOptionPane`类可以实现简单的图形用户界面交互。 这个Java程序主要实现了两个功能:一是判断两个给定日期是否相同及计算它们之间的天数差;二是将给定日期向前或向后调整一定数量的天数。程序的核心是`DateType`类的设计与实现,它包含了日期的创建、打印、比较和调整等方法。
import java.util.*;
public class DateType44
{
public static void main(String[] args)
{
String input=JOptionPane.showInputDialog("请输入你选择的年份");
int y1=Integer.parseInt(input);
input=JOptionPane.showInputDialog("请输入你选择的月份");
int m1=Integer.parseInt(input);
input=JOptionPane.showInputDialog("请输入你选择的天");
int d1=Integer.parseInt(input);
input=JOptionPane.showInputDialog("请输入你选择的另一个年份");
int y2=Integer.parseInt(input);
input=JOptionPane.showInputDialog("请输入你选择的另一个月份");
int m2=Integer.parseInt(input);
input=JOptionPane.showInputDialog("请输入你选择的另一天");
int d2=Integer.parseInt(input);
input=JOptionPane.showInputDialog("选择前推多少天");
int q1=Integer.parseInt(input);
input=JOptionPane.showInputDialog("选择后推多少天");
int q2=Integer.parseInt(input);
DateType c=new DateType(y1,m1,d1);
DateType c1=new DateType(y2,m2,d2);
c.printDate();
c1.printDate();
boolean p=c.bool(y2,m2,d2);
if(p) System.out.println("输入的两个日期一样");
else System.out.println("输入的两个日期不一样");
int sum1=0;
- 粉丝: 4
- 资源: 25
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
前往页