判断输入的值是否为世界完全对称日,并且输出它的前一个世界完全对称日和后一个世界完全对称日
3条回答 默认 最新
- iilmx 2021-11-02 16:29关注
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Scanner; /** * 世界完全对称日是指公历纪年日期中数字左右完全对称的日期 * 如2010年1月2日(20100102).2011年11月2日(20111102)2020年2月2日 * (20200202)等 * 请用Java编写出计算世界完全对称日的程序 * 要求输入一个日期(yyyy-mm-dd),判断当前是不是世界完全对称日,并计算距 * 离这个日期最近的上—个世界完全对称日和最近的下一个世界完全对称日的日期 * 例如输入:2021-11-02 * 则输出:2021-11-02不是世界完全对称目距离2021-11-02最近的下一个世界对 * 称日是2021-12-02,距离2021-11-02最近的上一个世界对称日是2020-02-02 */ public class Main { public static void main(String[] args) { SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); Scanner s = new Scanner(System.in); String strDate = s.nextLine(); StringBuffer sb = new StringBuffer(strDate); sb.deleteCharAt(sb.indexOf("-")).deleteCharAt(sb.indexOf("-")); if(sb.toString().equals(sb.reverse().toString())){ System.out.println(strDate + "是世界完全对称日!"); }else{ String lastStr = ""; String nextStr = ""; String str = ""; boolean lastFlag = true; boolean nextFlag = true; int day = 1; while(lastFlag || nextFlag){ // 下一个世界对称日 if(nextFlag){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_YEAR, day); str = df.format(new Date(calendar.getTime().getTime())); sb = new StringBuffer(str); sb.deleteCharAt(sb.indexOf("-")).deleteCharAt(sb.indexOf("-")); if(sb.toString().equals(sb.reverse().toString())){ nextStr = str; nextFlag = false; } } // 上一个世界对称日 if(lastFlag){ Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.DAY_OF_YEAR, -day); str = df.format(new Date(calendar.getTime().getTime())); sb = new StringBuffer(str); sb.deleteCharAt(sb.indexOf("-")).deleteCharAt(sb.indexOf("-")); if(sb.toString().equals(sb.reverse().toString())){ lastStr = str; lastFlag = false; } } ++day; } System.out.println(strDate + "不是世界完全对称目距离"+ strDate+",最近的下一个世界对称日是"+ nextStr +",距离"+ strDate+"最近的上一个世界对称日是"+lastStr); } } }
如果对你有帮助,请采纳一下哈!!!
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥100 连续两帧图像高速减法
- ¥15 组策略中的计算机配置策略无法下发
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作
- ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
- ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
- ¥50 mac mini外接显示器 画质字体模糊
- ¥15 TLS1.2协议通信解密
- ¥40 图书信息管理系统程序编写