求帮忙写个程序 JAVA C++都行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求帮忙写个程序 JAVA C++都行相关的知识,希望对你有一定的参考价值。

被测试函数:NextDate(date):date
ate:yyyy-mm-dd
函数功能:根据目前使用的日历历法,给出1900-1-1到2200-12-31之间,按照格式输入一个日期,给出明天的日期,包括出错处理(错误年份,错误月份,错误日期,不存在的日期)
要求:
1、设计测试用例文件:每行格式(输入,测试功能,预期输出)
2、写一个driver函数,功能:
(1)、读测试用例文件中的一个测试用例
(2)、调用result=NextDate(input)
(3)、测试结果写入测试结果文件中,每行格式(输入,测试功能,结果,预期结果)

主要类
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class DateUtils

public String nextDate(String cur) throws Exception
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
try
Date curDate = formater.parse(cur);
Calendar cal = Calendar.getInstance();
if (cal.get(Calendar.YEAR) < 1900 || cal.get(Calendar.YEAR) > 2200)
throw new Exception("年份必须在1900到2200年之间");

if (cal.get(Calendar.MONTH) < 1 || cal.get(Calendar.MONTH) > 12)
throw new Exception("月份必须在1到12月之间");

if (cal.get(Calendar.DATE) < 1)
throw new Exception("每月日期不得小于1");
else
switch (cal.get(Calendar.MONTH))
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (cal.get(Calendar.DATE) > 31)
throw new Exception(cal.get(Calendar.MONTH) + "月份只有31天");

break;
case 4:
case 6:
case 9:
case 11:
if (cal.get(Calendar.DATE) > 30)
throw new Exception(cal.get(Calendar.MONTH) + "月份只有30天");

break;
case 2:
if ((cal.get(Calendar.YEAR) % 4 == 0 && cal.get(Calendar.YEAR) % 100 != 0) || (cal.get(Calendar.YEAR) % 100 == 0 && cal.get(Calendar.YEAR) % 400 == 0))
if (cal.get(Calendar.DATE) > 29)
throw new Exception(cal.get(Calendar.YEAR) + "为闰年,2月份只有29天");

else
if (cal.get(Calendar.DATE) > 28)
throw new Exception(cal.get(Calendar.YEAR) + "为闰年,2月份只有28天");


break;
default:
break;



if (cal.get(Calendar.MONTH) < 1 || cal.get(Calendar.MONTH) > 12)
throw new Exception("月份必须在1到12月之间");

cal.setTime(curDate);
cal.add(Calendar.DATE, 1);
return formater.format(cal.getTime());
catch (ParseException e)
throw e;



测试类
import org.junit.Assert;
import org.junit.Test;

public class DateTest

@Test
public void getCurDate()
DateUtils du = new DateUtils();
String result = null;
try
result = du.nextDate("1901-15-12");
catch (Exception e)
e.printStackTrace();

System.out.println(result);
Assert.assertNotNull(result);

参考技术A java.util.Calendar 处理,很方便,有方法加

以上是关于求帮忙写个程序 JAVA C++都行的主要内容,如果未能解决你的问题,请参考以下文章

求一个计算文件MD5的程序(C或C++都行)

求一个没错误的银行家算法程序,c语言或C++的都行!!!!

请问这道c++编程题怎么做?(急求大神帮忙)——抽奖2

帮忙做一个超音波测距仪程序,c语言和汇编语言都行

我在一段java程序的运行过程中出现java.lang.NullPointerException错误,求大神帮忙

帮忙写个PHP小程序