Java教程

BLOG-1

本文主要是介绍BLOG-1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、前言

三次题目集中

题目集01题目量大,但是不难,知识点主要要求掌握Java的基础。

题目集02题目难度大,知识点主要在字符串这一块,其中要求串口字符解析很难,我在网上差了很多资料。

题目集03中2~3都主要要求写一个日期类问题不过要求不同,需要对类的掌握程度要很高,难度很大。

二、设计与分析

1.题目集02-2

 

思路就是将一串字符串进行查找再截取,这样变成一个字符二维数组。

如a[0][k]是第一个有效的字符串,这样第一行就是第一个有效字符串,这样对每个字符串进行解析。

难点在于如何找到第二个开始字符,和如何进行奇偶校验。

2.题目集03-1

 

 

 

 定义一个类,含有a,b,c三个私有属性。getRoot1方法和getRoot2方法计算答案并返回,getDiscriminant判断是否有解和有几个解。

一元二次方程的求解问题,做过很多次了。

3.题目集03-2

 

 

 

 定义了一个DateUtil类可以实现要求的功能。

要求1:测试输入日期的下n天

要求2:测试输入日期的前n天

要求3:测试两个日期之间相差的天数

其中前两个要求之前有类似的题目可以借鉴,之前还有求日期的中也有要求离公元元年的天数,可以借鉴。

难点在于怎么断定天数已经是该月最大天或最小天了可以月份加一或减一了。

还有就是如何判断相隔的两个日期中有几个闰年还有是否在二月之前还是之后。

4.题目集03-3

 

 

 

 和上一题差不多但是定义了DateUtil类,Day类,Month类,Year类。

不过要求Day类

三、踩坑心得

1.题目集02-2

 

出现致命错误,没有搞懂奇偶校验。以为校验位为1就是奇校验,校验位为0就是偶校验.

发现问题后,重新写了一遍。

 

 

2.题目集03-1

 

 发现((-b-Math.sqrt(b*b-4*a*c))没有加/(2*a),测试一直过不去。

 

 

3.题目集03-2

 

因为getPreviousNDays(int n)方法中没有漏掉不是闰年二月的情况。

 

 

 

4.题目集03-3

 

 

四、改进建议

题目集02-2中代码复杂,使用大量if和for循环。

五、总结

学会了字符串的查找截取比较转换。

学会了类的设计

这篇关于BLOG-1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!