7-7 浪漫的表白 (10 分) 计算生日差据天数

//(1)能被4整除但不能被100整除;
//
//(2)能被400整除;
//
// 2.该公式用Java语法实现的格式如下:
//
// year % 4 == 0 && year %100 != 0 ||year % 400 == 0;

没过完,但是自己感觉对的,点没提示,不知道哪里错了。
7-7 浪漫的表白 (10 分)
有一个帅小伙一直暗恋一个女孩,但他还是没有勇气向她表白“我爱你”,更别说“某某某,我爱你,如果非要在这份‘爱’上加一个期限的话,那就是一万年”这类肉麻的话,生怕说了后会是“落花有意流水无情”,连朋友都无法做。不过,在经过一阵思想斗争以后,最后终于还是鼓起勇气向那个女孩进行了表白。女孩没有直接回复他,说了如下这段话: 我知道你一直在关心我,我了解你的心意,但我已经有心仪的人了,我的答案在下面这个问题里,你写出程序看看结果就知道啦。 问题是这样的:你的生日和我的生日之差,如果x是奇数,则结果是“对不起,有缘无份”,如果是偶数,则结果是“傻瓜,我心仪的人其实是你呀!”。 请你编写一个程序判断两人是否能在一起!

输入格式:
输入有2行,第1行表示男生的出生日期,第2行表示女生的出生日期。

输出格式:
首先输出两人生日相隔的天数,如果两人的生日相隔天数是奇数,则输出“对不起,我们有缘无份”,如果是偶数,则输出“傻瓜,我心仪的人其实是你呀!”。

输入样例1:
在这里给出一组输入。例如:

2000-06-05
2000-06-06
输出样例1:
在这里给出相应的输出。例如:

我们生日相差1天
对不起,我们有缘无份
输入样例2:
在这里给出一组输入。例如:

2000-06-05
2000-06-07
输出样例2:
在这里给出相应的输出。例如:

我们生日相差2天
傻瓜,我心仪的人其实是你呀!

package PTA;
import java.util.*;
public class Main {
    public static void main(String[] args) {
     Scanner scanner = new Scanner(System.in);
        String st1 = scanner.nextLine();
        String st2 = scanner.nextLine();
        int months[]=new int[]{31,28,31,30,31,30,31,31,30,31,30,31};//下标+1,就和月份对应
        int  year1 = Integer.parseInt(st1.substring(0,4));
        int  month1 = Integer.parseInt(st1.substring(5,7));//强转时候会自动去除前导0;
        int  day1 = Integer.parseInt(st1.substring(8,10));
        int  year2 = Integer.parseInt(st2.substring(0,4));
        int  month2 = Integer.parseInt(st2.substring(5,7));//强转时候会自动去除前导0;
        int  day2 = Integer.parseInt(st2.substring(8,10));
        //生日,只考虑月 日,不考虑年
        int total =0;//相差

        //判断哪个的月份大
        if(month1 > month2){//month1大
            //先加上month2中的天数
            total += months[month2-1]-day2;
            for(int i=month2+1;i<month1;i++){
                //i代表月份,月份-1才和数组下标对应
                total += months[i-1];
            }
            //循环结束,还未算month1,加上month1的day
            total += day1;
        }
        else if(month1 < month2 ){//month2大
            //先加上month1中的天数
            total += months[month1-1]-day1;
            for(int i=month1+1;i<month2;i++){
                //i代表月份,月份-1才和数组下标对应
                total += months[i-1];
            }
            //循环结束,还未算month1,加上month1的day
            total += day2;
        }
        else{//月份相同
            total = Math.abs(day1-day2);//绝对值

        }
        if(total %2!=0){//奇数
            System.out.println("我们生日相差"+total+"天\n" +
                    "对不起,我们有缘无份");
        }
        else{
            //偶数
            System.out.println("我们生日相差"+total+"天\n" +
                    "傻瓜,我心仪的人其实是你呀!");
        }



        //判断是否为闰年
//        if( (year1 % 4==0 && year1 % 100 !=0) || year1 % 400==0){
//            months.put(2,29);//是闰年就要改成29
//        }



    }
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
好的,以下是一个简单的生日剩余天数计算的 JavaWeb 实现: 1. 首先,我们需要创建一个 JSP 页面,用于用户输入生日信息和展示剩余天数: ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>生日剩余天数计算</title> </head> <body> <h1>生日剩余天数计算</h1> <form action="calculate" method="POST"> <label>请输入您的生日:</label> <input type="date" name="birthday" required><br> <button type="submit">计算剩余天数</button> </form> <% if (request.getAttribute("remainingDays") != null) { %> <p>距离您的生日还有 <%= request.getAttribute("remainingDays") %> 天!</p> <% } %> </body> </html> ``` 2. 接着,我们需要创建一个 Servlet,用于处理用户提交的生日信息并计算剩余天数: ```java import java.io.IOException; import java.time.LocalDate; import java.time.Period; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/calculate") public class CalculateRemainingDaysServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { LocalDate birthday = LocalDate.parse(request.getParameter("birthday")); LocalDate today = LocalDate.now(); Period period = Period.between(today, birthday.withYear(today.getYear())); int remainingDays = period.getDays(); if (remainingDays < 0) { remainingDays += 365; } request.setAttribute("remainingDays", remainingDays); request.getRequestDispatcher("/index.jsp").forward(request, response); } } ``` 3. 最后,我们需要在 web.xml 文件中添加 Servlet 映射: ```xml <web-app> <servlet> <servlet-name>CalculateRemainingDaysServlet</servlet-name> <servlet-class>CalculateRemainingDaysServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>CalculateRemainingDaysServlet</servlet-name> <url-pattern>/calculate</url-pattern> </servlet-mapping> </web-app> ``` 现在,您可以部署该应用程序并访问该页面,输入您的生日,然后点击“计算剩余天数”按钮,即可计算出距离您的生日还有多少天。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

超好的小白

没体验过打赏,能让我体验一次吗

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值