ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java第一阶段学习总结

2021-10-15 23:33:42  阅读:194  来源: 互联网

标签:总结 题目 作业 日期 Java 三角形 输入 第一阶段


一前言:

  本次博客内容主要是本人作为Java初学者,在前三周接触面向对象程序设计的总结。本次总结以分析PTA前三次作业为主。由于本人在编程上基础薄弱,并在第三周时因为一些个人原因并没有解决第三周PTA上的作业,所以本次重心偏向于前两次作业的分析。

  在PTA的第一次作业中,我们可以在一个Main类的主方法中完成题目要求,更多的是考察个人一些编程基础,只要掌握一些基础的Java语法就可以进行编程,只要能清楚理解到题目的要求就能编出来。而在第二次作业中除了一个主类还要考虑到同一个目标有2个以上的方法来解决题目中的其他功能。第三次的作业要求类的设计,为了更好地解决问题,我们需要设计各种类,每个类里面还会有它们各自的属性和方法,然后在Main类中调用其他的类,利用其他类去调用其中的属性和方法,从而实现解决题目所需要的功能。从单类主方法到多类多方法,这里面需要学习的东西很多,在短短三周时间,从无到有,时间非常紧张,除了要学习一下Java的语法,还要试着去接受面向对象的理念。

二设计与分析:

  第一次作业:判断三角形类型。

  分析过程:首先,初步确定题目要求。按照题目要求,我们需要输入一个三角形的三条边长,三条边长都为实数型,取值范围为【1,200】,根据输入的数据判断这个三条边长是否可以构成一个三角形。如果可以形成一个三角形,那我们就要判断这个三角形是一个什么类型的三角形。按照我们的基本认知和题目要求,可以分为:输入合法且三边相等则为等边三角形,这时输出“Equilateral triangle”;输入合法且在有两条边相等的同时还基本两条相等的边的平方和减去第三条边的平方小于0.00001的条件则为等腰直角三角形,这时输出“Isosceles right-angled triangle”;输入合法且有两条边相等则为等腰三角形,这时输出“Isosceles triangle”;输入合法且存在有两条边的平方和小于第三条边的平方的情况则为直角三角形,这时输出“Right-angled triangle“;输入合法但不属于以上任意一种的情况则为一般三角形,这时输出“General triangle”。根据以上的基本要求,初步选择使用if--else语句来实现题目要求,完成编译过程。

  主要代码如下:

 

 

 

    第二次作业:求前N天

  分析过程:首先是输入要求:在一行中输入年月日的值以及n的值,可以用一个或多个空格或回车分隔。在这里,输入的年月日的值都为整型数,年份的取值范围为【1820,2020】,月份的取值范围为【1,12】,日期的取值范围为【1.31】,n是输入取值为【-10,10】的整型数,最后当n大于0时输出该日期的前n天,当n小于0时输出该日期的后n天。接下来就是按照常识,年份有平年闰年之分,月份有大小之分,因此我们需要一个能判断是否为闰年的类,如果是闰年则二月的天数要在原来28天的基础上再加一天。为了更好的解决月份的大小之分,直接建立一个一维数组,数组中存上每个月有多少天。在建立了基础的日期输入之后,便要解决求前n天的要求。这里需要解决的问题有点多,如果输入的日期数小于n的值,则需要将月份值减一,若此时月份值为一则将年份值减一且月份值为十二。同样的,如果我们要求这个日期的后n天,则需要判断日期数加n后是否大于月份值所对应的日期数组的值,若大则月份值加一,若月份值为十二则将年份值加一并且月份值为一。最后输出题目所需的最终答案。

  主要代码如下:

判断是否为闰年:

 

 求前n天:

 

 

 

 

  第三次作业:定义日期类;一元多项式求导类

  由于并未完整做出第三次作业,所以并不好具体分析。

三踩坑心得:

  严格的来讲,这几次作业并没有什么算是踩坑的经历,更多的还是自己对Java程序语言的不熟悉和自身能力的缺陷导致自己并没有很好的完成作业。就个人而言,这并不能算是不好的经历,相反这也更加提醒自己要多花功夫好好学。不单单是熟悉掌握Java语言的语法,更重要是理解并掌握面向对象程序设计的思想,可以解决作业中的问题。就以往的解题经历来看,本人解决问题最大的难点不在于分析问题的需求,更大的难点在于如何将自己脑海中的分析转换成Java语句,能让程序不报错,不出错的实现出来。总的来说,还是动手打代码的时间太少,编译代码时思路不够清晰,不能完美贴合程序语言的习惯。

四改进建议:

  这样的代码于我,已经是倾尽全力,如果要改进的话,只能从改变思路下手。但思想受限,实在是没有更好的改进建议了。

五总结:

  作为Java的初学者,每学一点就算是学到了一点,同样的需要学习的东西就很多很多。因为自己会的很少并且学习时间比较紧张,所以要一下子去懂老师讲的是什么就很难,更重要是不理解。每个人的基础不同,接收能力也不同,所以个人已经做好了自己努力的准备,先学好自己还没学会的,再多看看别人的代码并培养到自己的意识,希望后续可以理解老师讲的东西,能学到什么程度便学到什么程度,更重要的是希望自己可以顺利通过该门课程。

标签:总结,题目,作业,日期,Java,三角形,输入,第一阶段
来源: https://www.cnblogs.com/xmbzyt/p/15413133.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有