(2)NextDate函数问题
NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性
NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一天的日期。 要求输入变量month、day和year均为整数值,并且满足下列条件:
条件1 1≤ month ≤12 否则输出,月份超出范围
条件2 1≤ day ≤31 否则输出,日期超出范围
条件3 1912≤ year ≤2050 否则输出:年份超出范围
String nextdate(int m,int d,int y)
注意返回值是字符串。
代码:
public class pro1 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int mouth, year, day = 0;
System.out.print("请输入年份:|");
year = in.nextInt();
System.out.print("请输入月份:|");
mouth = in.nextInt();
System.out.print("请输入日期:|");
day = in.nextInt();
System.out.println(getNowDay(mouth, day, year));
}
/*
* @ function: 返回输入日期的第二天,
*
* @ return: String
*/
public static String getNowDay(int mouth, int day, int year) {
if (year <= 2050 && year >= 1912) {
} else {
return "年份超出范围";
}
if (mouth <= 12 && mouth >= 1) {
} else {
return "月份超出范围";
}
if (day <= 31 && day >= 1) {
} else {
return "日期超出范围";
}
SimpleDateFormat date = new SimpleDateFormat("yyyy年MM月dd日");
String str = year + "年" + mouth + "月" + day + "日";
Date getdate = null;
try {
getdate = date.parse(str);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Calendar calendar = new GregorianCalendar();
calendar.setTime(getdate);
calendar.add(calendar.DATE, 1);// 把日期往前增加一天.整数往后+1,负数往前-1
getdate = calendar.getTime(); // 这个时间就是日期当天的结果
String now = date.format(getdate);
return now;
}
}