ChatGPT4实现前一天

这篇具有很好参考价值的文章主要介绍了ChatGPT4实现前一天。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
  • 提出需求
  • 代码实现
  • 需求分析
  • 单元测试
  • 等价类划分
  • 决策表

软件测试作业,用ChatGPT4来帮个小忙,小划水,勿喷勿喷,近期有相关作业的同学看到我的文章,建议修改一下,别撞车了,哈哈哈~

提出需求

个人输入需求: Java实现键盘输入日期 输出前一天,需要考虑润年和非润年,2月是否有29号,大月小月的区分等细节处理,不符合的有对应提示,不使用java包里的封装好的类

ChatGPT4分析出的语义:实现了输入日期输出前一天,并且考虑了闰年和非闰年、2月的天数、大月和小月等细节处理。如果输入的日期格式不正确,会有对应的提示。

代码实现

import java.util.Scanner;

public class TheDayBefore {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个日期(格式:yyyy-MM-dd):");
        String inputString = scanner.nextLine();
        String[] inputArray = inputString.split("-");
        int year, month, day;
        if (inputArray.length == 3) {
            try {
                year = Integer.parseInt(inputArray[0]);
                month = Integer.parseInt(inputArray[1]);
                day = Integer.parseInt(inputArray[2]);
            } catch (NumberFormatException e) {
                System.out.println("日期格式不正确!");
                return;
            }
            if (month < 1 || month > 12) {
                System.out.println("月份不正确!");
                return;
            }
            if (day < 1 || day > 31) {
                System.out.println("日期不正确!");
                return;
            }
            if ((day == 31 && (month == 4 || month == 6 || month == 9 || month == 11)) ||
                    (day >= 30 && month == 2) ||
                    (day == 29 && month == 2 && !isLeapYear(year)) ||
                    (year < 0)) {
                System.out.println("日期不正确!");
                return;
            }
            int prevYear = year;
            int prevMonth = month;
            int prevDay = day - 1;
            if (prevDay == 0) {
                prevMonth--;
                if (prevMonth == 0) {
                    prevYear--;
                    prevMonth = 12;
                }
                if (prevMonth == 2) {
                    if (isLeapYear(prevYear)) {
                        prevDay = 29;
                    } else {
                        prevDay = 28;
                    }
                } else {
                    if (prevMonth == 4 || prevMonth == 6 || prevMonth == 9 || prevMonth == 11) {
                        prevDay = 30;
                    } else {
                        prevDay = 31;
                    }
                }
            }
            System.out.println("前一天是:" + prevYear + "-" + formatMonth(prevMonth) + "-" + formatDay(prevDay));
        } else {
            System.out.println("日期格式不正确!");
        }
    }

    private static boolean isLeapYear(int year) {
        return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
    }

    private static String formatMonth(int month) {
        if (month < 10) {
            return "0" + month;
        } else {
            return String.valueOf(month);
        }
    }

    private static String formatDay(int day) {
        if (day < 10) {
            return "0" + day;
        } else {
            return String.valueOf(day);
        }
    }

}

需求分析

过于划水,不太行,还是得简单分析一下需求叭,哈哈哈~

  1. 首先将目标定义为java,从年开始划分,判断输入的年是否为闰年:为闰年则对于二月这个特殊月,闰年为29天,平年为28天。例如输入2023-02-28是正确的,因为2023年为平年。
  2. 输入的月份月大还是月小,若是月大则除去二月以外,月大有31天,月小有30天。例如输入2023-04-01,前一天month=month-1,day=31。
  3. 输入的月是否为三月,若是三月例如2023-03-01(平年)前一天month = month-1;润年类似。
  4. 输入的月份是否是1月,例如2023-01-01则前一天为2022-12-31
    及year = year - 1,month = 12,day = 31。

单元测试

1.测试输入的月份月大还是月小。

ChatGPT4实现前一天

2.判断输入的年是否为闰年和输入的月是否为三月。

ChatGPT4实现前一天

3.输入的月份是否是1月。

ChatGPT4实现前一天

等价类划分

M1={月份:4、6、9、11}

M2={月份:1、3、5、7、8、10、12}

M3={月份:2}

D1={日期:1}

D2={日期:2<=日期<=27}

D3={日期:28}

D4={日期:29}

D5={日期:30}

D6={日期:31}

Y1={年:是闰年}

Y2={年:不是闰年}文章来源地址https://www.toymoban.com/news/detail-403932.html

决策表

1 2 3 4 5 6 7 8 9 10 11
月份在 M2 M3 M3 M2 M1 M1 M3 M2 M1 M4 M4
日期在 D1 D4 D3 D1 D1 D1 D1 D2-D6 D2-D5 D1 D1
年份在 Y1 Y2 Y1 Y2
year-1
moth-1
day-1
year复位12
moth复位12
day复位31
day复位30
day复位28
day复位29

到了这里,关于ChatGPT4实现前一天的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • java的LocalDateTime类来获取当天时间、前一天时间,本周的开始和结束时间、本月的开始和结束时间

     直接上代码: 注意:         这个 hh:mm:ss 跟HH:mm:ss的区别,如果采用24小时的话,要用HH,如果是:2023-07-27 23:59:59 这种,确用了 hh:mm:ss 这种格式,会报错 1.LocalDateTime 转换为 LocalDate : 2.LocalDate 转换为 LocalDateTime (设置时间为午夜,即00:00:00) 3.LocalDate 转换为 LocalDat

    2024年02月12日
    浏览(70)
  • python-10.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二早上将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃前一天剩下的一半再加一个。

    第10天还没吃,就剩1个,说明第9天吃完一半再吃1个还剩1个,假设第9天还没吃之前有桃子x个,可得:x* 1/2 - 1 = 1,可得 x= 4。以此类推,即可手算出。 代码思路为: 第10天还没吃之前的桃子数量初始化 x= 1,之后9至1循环9次,根据上述内容 反推为 x= (x+1) * 2 可得第1天还没吃之

    2024年02月06日
    浏览(39)
  • 【C语言】猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想……

    猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩下爱一个桃子了。求第1天共摘了多少桃子 本题的关键就

    2024年02月05日
    浏览(102)
  • 体验了一把ChatGPT4

    不得不说ChatGPT对我的学习效率有极大的提升,它就像一位老师,不管有什么问题,都可以得到很好的答案。但是前段时间gpt3.5账号被封了,最近搞了个gpt4。市面上目前好像没啥可以白嫖的账号,基本都是免费使用几次,然后需要付费才能使用。 使用gpt4能做哪些有用的事情呢

    2023年04月16日
    浏览(35)
  • ChatGPT4.0 >ChatGPT 3.5 > 文心一言

    ChatGPT是一种基于自然语言处理的对话型人工智能模型,由OpenAI开发。它是使用了大规模的语料库进行无监督学习的结果,并且在生成自然流畅的文本方面表现出色。 ChatGPT可以用于各种对话任务,例如回答问题、提供建议、进行闲聊等。它可以理解和生成人类语言,对大部分

    2024年01月16日
    浏览(29)
  • 如何训练个人的ChatGpt4

    如何在自己的计算机上安装类似 ChatGPT 的个人 AI 并在没有互联网的情况下运行它 本文旨在为任何人安装此软件。最初它有一个视频,伴随着操作方法,但是事情变化很快,我的三次尝试只是推迟了我发表这篇文章。我以后可能会包括它。我努力创建一个简单的分步说明,为

    2023年04月13日
    浏览(46)
  • chatGPT4.0编写性能测试报告

    性能测试报告 测试概述 本次性能测试的目的是评估系统在高负载条件下的性能表现,以确保系统能够满足预期的性能需求。测试过程中,我们关注以下性能指标:响应时间、吞吐量、资源利用率(CPU、内存、磁盘、网络)以及错误率。以下报告将详细分析这些指标的表现。

    2024年02月05日
    浏览(30)
  • 6个ChatGPT4的最佳用途

    Access to OpenAI’s GPT-4 model, whether in ChatGPT or through the API, is still much more limited than GPT-3.5. This means you have to be selective about what jobs you give to the big-brain version of GPT everyone’s talking about. 无论是在ChatGPT中还是通过API访问OpenAI的GPT-4模型,仍然比GPT-3.5受到更多限制。这意味着你必须有

    2024年02月09日
    浏览(63)
  • Google Bard 对战 ChatGPT4

    话题之一:如何降低血压 我家老爷子血压有点高,所以我挑了这么个话题。 如果用中文来问 Bard, 有点欺负它,那么索性用英文 1. Bard 在速度上占有绝对优势 2. GPT4 在最后一条监测就医建议上,完胜。 很多老人得过且过,不敢就医。这条建议特别有用 话题之二:过去某天天

    2024年02月09日
    浏览(40)
  • ChatGPT 基本用法!ChatGPT4的prompt的使用例子!

    授人以鱼,不如授人以渔。这句话在AI领域尤为贴切,尤其是在构建与AI模型交互的prompt(提示)时。OpenAI在Discord官方服务器上设有一个名为prompt-library的频道,这里聚集了各种创意和专业的prompt,涵盖了从写邮件到撰写专业论文,再到角色扮演和技能学习等多个领域。其中,

    2024年03月11日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包