如何把混乱的魔方还原?或许你会跟曾经的我有一样的想法,认为这是一项十分烧脑的活动,直到有一天,一位朋友跟我说,魔方其实很简单,就像堆积木,我想了解过魔方的人都明白,其实还原一个魔方并没有你想象中的那么难,只要按照一定的步骤一步一步操作,最终一定能把魔方还原。
看了上面的图,有没有觉得其实还原魔方真的没那么难呢。
如何实现用户在网页输入开始时间和结束时间之后自动计算出相隔天数?其实随着互联网的快速发展,几乎一切的服务都可以在线上进行预定,最常见的比如你在美团上或者去哪网预定一家酒店,通常会让你选择开始时间和结束时间,等你选择完成之后,网站界面上已经把你预定的天数都已经计算出来了,甚至在你输入的结束时间如果早于开始时间,网站还会友好的提示你重新输入,这是如何实现的呢
看来以上两个例子,有没有发行还原魔方和编程过程当中一些共通的东西,
一、设定目标:还原魔方的目标就是把魔方每个颜色一样的色块组合成一个面,编程就是把用户输入的结束时间和开始时间之间的差计算出来,同时在用户输入的时间有误的时候,能有效的提示用户输入符合常理的日期。虽然两件事有各自的目标,但都目标明确。
二、分解任务:还原魔方过程的关键就在于把目标拆分成一个又一个简单的任务,或许刚开始看到混乱的色块,一下子无从下手,即使下手转动也是转动这个色块,另外的色块有跑掉了,但是,把还原所有色块的这个目标转换成六个阶段:
1、选择一个自己喜欢的颜色作为中心色块,围绕这个中心色块,先还原出一个十字,并将十字的棱块与侧面中心块的颜色保持一致;
2、还原好第一层;
3、还原好第二层的棱块;
4、翻转魔方,在新的顶面上还原十字;
5、翻转魔方顶面四个角,还原好顶面色块;
6、调整四角顺序,魔方还原。
或许你会以为计算两个日期之间的时间差是计算机的最擅长的事情,但是别忘了,日期里面不光有年月日,还有时分秒,这些都是要考虑进去的,所以计算天数的目标就被转化成了四个阶段:
1、获取到用户输入的开始时间和结束时间;
2、根据获取的开始时间和结束时间计算出两个时间的差,当然这个计算结果既不是分钟,也不是小时,更不是天数,而是两个时间之家相差的毫秒数,
3、根据计算的结果与0做比较,如果小于0则提示用户输入的结束时间要大于开始时间,如何大于0,则换算成小时,
4、再根据换算成的小时转换为天数,从而计算出两个日期中间相隔的天数。
三、协调任务
还原魔方的第一个阶段就如同给积木搭好了地基一样,后面的步骤都只是在地基的基础上一层一层的堆合适的积木,直到这个色块跟相邻的色块颜色一致,所以后续每个步骤都是围绕地基不断的做出调整,而编程中计算天数也同样是根据第一步中获取到的开始时间和结束时间,围绕这开始时间和结束时间直接的差值来判断用户输入的时间是否符合常理,从而计算出来两个日期时间相隔的天数。
魔方和编程,看似不相干的两件事,但其实都是锻炼我们大脑的思维能力和解决问题的能力,当有一天,我们已经不再执迷于一个又一个的招式的时候,或许我们能看到更清晰的世界。
网友评论