判断输入的值是否为世界完全对称日,并且输出它的前一个世界完全对称日和后一个世界完全对称日
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无用
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么