标签:改进 字符串 ext 并且 htm 输入日期 div number 否则
缺陷:无
建议:
1 import java.text.ParseException; 2 import java.text.SimpleDateFormat; 3 import java.util.Calendar; 4 import java.util.Scanner; 5 6 /*NextDate函数问题 7 NextDate函数说明一种复杂的关系,即输入变量之间逻辑关系的复杂性 8 NextDate函数包含三个变量month、day和year,函数的输出为输入日期后一 9 天的日期。 要求输入变量month、day和year均为整数值,并且满足下列条件: 10 条件1 1≤ month ≤12 否则输出,月份超出范围 11 条件2 1≤ day ≤31 否则输出,日期超出范围 12 条件3 1912≤ year ≤2050 否则输出:年份超出范围 13 String nextdate(int m,int d,int y) 14 注意返回值是字符串。 15 程序要求: 16 1)先显示“请输入日期” 17 2)不满足条件1,返回:“月份超出范围”;不满足条件2,返回:“日期超出范围”; 18 不满足条件3,返回:“年份超出范围”;如果出现多个不满足,以最先出现不满足的 19 错误返回信息。3)条件均满足,则输出第二天的日期:格式“****年**月**日”(如果 20 输入2050年12月31日,则正常显示2051年1月1日*/ 21 public class MyDate { 22 public static String nextdate(int month, int day, int year) { 23 if (month < 1 || month > 12) 24 return "月份超出范围"; 25 if (day < 1 || day > 31) 26 return "日期超出范围"; 27 if (year < 1912 || year > 2050) 28 return "年份超出范围"; 29 SimpleDateFormat sFormat = new SimpleDateFormat("yyyyMMdd"); 30 sFormat.setLenient(false); 31 try { 32 Calendar c = Calendar.getInstance(); 33 c.setTime(sFormat.parse("" + year + String.format("%02d", month) + String.format("%02d", day))); 34 c.add(Calendar.DATE, 1); 35 return c.get(Calendar.YEAR) + "年" + (c.get(Calendar.MONTH) + 1) + "月" + c.get(Calendar.DATE) + "日"; 36 } catch (ParseException e) { 37 return "日期不存在"; 38 } 39 } 40 41 public static void main(String[] args) { 42 String input = ""; 43 int month, date, year;//优化效率 44 Scanner scan = new Scanner(System.in); 45 while (true) { 46 System.out.print("请输入日期"); 47 input = scan.nextLine().trim(); 48 String[] buf = input.split("[\\s+::,,/]");// 支持多种分割方式 49 if (input.equals(""))//无输入 50 continue; 51 else if (input.equalsIgnoreCase("return"))// 改进退出方式 52 break; 53 else if (buf.length == 3) { 54 try { 55 month = Integer.valueOf(buf[1]); 56 date = Integer.valueOf(buf[2]); 57 year = Integer.valueOf(buf[0]); 58 System.out.println(nextdate(month, date, year)); 59 } catch (NumberFormatException e) { 60 System.out.println("日期格式错误"); 61 } 62 } else//长度不对 63 System.out.println("日期格式错误"); 64 } 65 System.out.println("谢谢使用,再见~"); 66 scan.close(); 67 } 68 }
标签:改进 字符串 ext 并且 htm 输入日期 div number 否则
原文地址:http://www.cnblogs.com/chenyp1996/p/6619103.html