ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

总结前三次题目集

2022-04-10 05:31:13  阅读:136  来源: 互联网

标签:总结 语句 题目 字符 字符串 操作符 三次 方法


(1)前言 :

题目集1的知识点:关系操作符(< 、<= 、== 、!= 、 > 、 >=)的操作;各种选择语句( 单分支 if 语句、双分支 if-else 语句、嵌套 if 语句、多分支 if-else 语句、switch 语句和条件操作符)的用法与实际应用情况,布尔操作符(&& 、|| )对布尔值和布尔变量进行计算;当对p1&&p2求值时,Java先求p1的值,如果p1为true,再对p2求值。如果p1为false,就不再对p2求值。当对p1 || p2求值时,Java先对p1求值,如果p1的值为true,就不在对p2求值。因此&&也称为短路与操作符或惰性与操作符,|| 也称为短路或操作符或惰性或操作符;表达式中的操作符按照括号、操作符优先级以及操作符结合律所确定的次序进行求值。

题目集2的知识点:题目集2主要关于对字符串的一系列操作,字符串在Java 中是对象,只能用过一个给定对象调用的方法称为实例方法,非实例方法称为静态方法,可以不使用对象来调用。调用 length() 方法获取他的长度,使用 charAt(indx) 方法从字符串中得到指定下标位置的字符,使用 substring 方法从字符串中获得子串,或者是私用 equals 和 compareTo 方法比较字符串,如果两个字符串相等,equals 方法返回 true ,如果他们不相等,则返回 false ,compareTo 方法根据一个字符串等于、大于或小于另一个字符串,分别返回、正整数或负整数。

题目集3的知识点:这个题目集知识点主要集中于对数学方法的使用,Math类中数学方法 sin、cos、tan、asin、atan、ToRadians、toDegrees、exp、log、log10、pow、sqrt、ceil、floor、rint、round、min、max、abs以及random,用于实现数学函数,再结合前面两个题目集的知识点运用到题目集3中,该题目集主要运用到三角形函数方法、舍入方法以及他们的延申,三个题目主要围绕坐标展开一系列操作,还有运用switch语句。

(2)设计与分析:

第一次作业:

题目集1所涉及的知识点较为单一,比较细致,整体比较简单,不存在太大的问题,按照题目示例做好输入、输出,使用恰当的选择语句,这样就可以完成该题目集。在7-7中判断三角形的类型运用操作符结合三角形的性质,就可以判断出三角形是什么类型。

第二次作业:

7-1

本题需要将字母转化为数字,这里可以利用ASII码里字母之间的差值为1,只要将a/A定义为1,这样后面的字母自然而然地转换为数字。

 

 

7-2

这里输入的这串字符中每串有效字符八位,之后有奇效验位和结束符,奇效验是根据有效字符判断,校验线路在收到数后,通过发生器在校验位填上 0 或 1,以保证和是奇数个 1。程序首先要判断各种错误情况,利用length() 方法、charAt() 方法截取字符串中子串用于判断,还有substring 方法截取指定字符串。将输入的字符串遍历一遍得到要判断的各个位置上的数字,这样就可以根据题意判断可能会出现的各种情况,先判断错误的几种情况,然后再判断正确的情况。这道题主要考验对字符串的操作,以及截取字符串。

 

 

 

 

 

7-3

本题需要截取字符串、对比字符串是否一样,我用 substring 方法截取自定位置的子串,使用 equals 方法将截取的字符串与指定字符串对是否一样,若一样则返回true,则能执行 if 语句里的语句。

 

 

 

第三次作业:

7-1

本题主要针对于对坐标的输入合法性的判断,考验我们对输入的掌握,针对以逗号或者其他符号为分隔符的情况,我们需要使用 spilt 方法设置分隔符形式以及

Double.parseDouble()方法,这样我们可以得正确的坐标输入。在计算距离时使用 Math.abs 与 Math.sqrt 两种数学函数。

 

 

7-2

本题与第二题相像,同样是对坐标输入合法性的判断,以及对switch语句的运用,还有对点构成的三角形数学运算,同样是运用 abs 等数学方法,本题涉及了几种情况的选择,所以在几种选择语句中,我选择了switch语句,这样会使代码更加简洁直观,在不同的情况下用与 & 、或 | 。在输入的时候,我将坐标存入字符数组,这样便于使用坐标。在判断两个数是否相等时,考虑到 double 运算时的精度损失,当差值小于0.00001时就看作是两个相等的数。

 

 

 

 

 7-3

      本题几乎囊括了前两题的知识点,涉及了许多三角形的数学知识,并且需要考虑多种不同的情况,这就考验了我们对知识的熟练程度,以及代码的简洁程度,所以需要构建许多类方法。我尝试用charAt(indx) 方法遍历字符数组,但结果并不是我想的那样会输出是否合法。我又换成将字符数组转换为字符串一个一个字符遍历,以flag标记是否有不符合标准的情况,结果和第一种方法一样不了了之。在本题当中涉及的数学方法,我掌握得不够好,导致有些情况实现不了。

(3)采坑心得:

       在做题过程中我因为误判奇效验的方法而写错,以至于在测试的时候一直过不了测试点,一直出现错误的输出,后来查资料才发现方法用错了。在截取字符串时不知如何将截取的子串与另一个字符串比较,需要运用 equals 方法。以及在 length 方法使用上字符串与字符数组的使用方法是不一样的,最开始做题时出现了关于length方法的报错才知道使用上的区别。在测试时输出有时为空,其实是有时程序没有走到该步骤。有时因为惯性思维单个字符我用了 " " ,单字符理应用 ' ' ,所以程序报错。在数据集2中7-2题目里,在字符串只有十一位时,返回的结果一直不正确,测试点显示错误。在数据集3中,由于我不懂如何判断输入数字是否合法,暂时也找不到方法,我尝试标记字符,但结果一直为空,我不知道是方法出现问题还是某一个环节出现差错,我还在验证当中,并且在运用数学方法上我也有所欠缺,导致有些步骤我不知道如何实现。在出现问题时应该首先看看错的地方是否有语法错误或者有逻辑错误,尤其是逻辑错误隐藏最深,容易让人忽略,导致测试一直报错。当方法用错时,或者方法不清楚时,查找资料、看书是最有用快捷的方法,当然在查找的过程中我们也应该不断思考这方法如何用、为什么要用这个方法、这个方法可不可行以及能否自己得出方法。

 

 

 

 

 

 

 

 

 (4) 改进建议:

       每个测试点加上注释,这样可以让学生们了解明白自己到底是哪一点没有做好,为改进代码提供一个方向。在测试时不知道自己哪里错了,不清楚改的方向在哪,难免焦躁,如果有注释指明是哪种类型的数据过不了,那么我们的效率会更高,也会提高学生的积极性。

(5) 总结:

       这三个题目集由浅到深,知识点层层递进,且涉及广泛。此次三个题目集的都只是基本语法,题目集3对于我来说难度有点大,这也让我意识到了自己的不足,意识到自己还有许多需要改进的地方,需要学习的地方,有些我认为自己懂了的地方,实际上我并没有真正懂。我需要更多的知识来充实自己这样才不会出现寸步难行,无法动手的情况。在知识掌握上,我还是比较浅显,所以在真正运用上还是不够熟练,有些时候甚至没有用对。在意识到自己的不足后,我会改进自己的学习方法以达到更好的学习的效果。

       我学会了:使用单分支 if 语句、双分支 if-else 语句、嵌套 if 语句、多分支 if-else 语句以及switch语句实现选择控制,懂得 if 语句中的常见错误与陷阱,以及常见错误调试;如何使用Math类中的方法求解数学问题;将数值转换为字符,以及将字符转换为整数;使用String 对象表示字符串;使用length()方法返回字符串长度;charAt(indx)来返回字符串中的字符;使用操作符 + 来连接字符串;从控制台读取字符串、字符;使用System.out.printf 方法来格式化输出。

 

标签:总结,语句,题目,字符,字符串,操作符,三次,方法
来源: https://www.cnblogs.com/ggyycc12/p/16124653.html

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

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

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

ICode9版权所有