标签:有序 复制 lazy nbsp lin 代码 掌握 -- main方法
第一次题目集
1,计算两个数的和----数据的输入及运算
2,电话键盘字母数字转换----数字与字符的相互转化,以及数据合法性检验
3,成绩分级管理 ----java中选择语句的运用
4,计算税率----java中选择语句的运用
5,计算钱币----数据运算
6,使用一维数组求平均值----数组的用法
7,对多个整数进行排序----对一维数组进行排序
8,判断三角形类型----double类型转化为int型,产生误差
难度分析:第一次题目集,较为简单,但最后一个题容易出错,不知道哪里错了。
第二次题目集
1,IP地址转换 ----二进制转化为十进制
2,合并两个有序数组为新的有序数组 ----合并数组并排序
3,判断闰年及星期几----合理使用数组代替if
4,求下一天----对方法的调用
5,求前N天----合理利用数组及方法
难度分析:第二次题目集,前面两题比较简单题目集中后3题都十分类似,写出了第三题基本上都能写出。
第三次题目集
1,创建账户类Account ----类的创建及使用、类中方法的调用
2,定义日期类----类的创建及使用、类中方法的调用
3,一元多项式求导(类设计)----字符串的处理(截取、连接)
难度分析:第三次题目集,前两题要求用类的封装,比较简单。
最后一题,考察的是对字符串的处理,很多高效的方法没有掌握熟练(正则表达式、split方法)。
因为初期没有学习关于类的知识,此题没有使用到类
此题中我只使用for循环和if,导致复杂度太高,不知道自己哪个点没有过。
另外,没有写注释,也没有使用方法,直接在Main方法中写完代码。
这一题使用了多个方法,用来判断闰年以及输入日期是否合法。
该题是求日期的下一天,因此要考虑的问题就包括数据的合法,以及跨年、跨月、闰年。
使用了if语句,用来判断。
将各月份的天数存入数组,更为简便,在数组中将月份,即可得到该月对应天数,提高效率。
没有使用类
该题完全可以借鉴上一题7-4求下一天,将方法nextDate(),多传入一个参数n。
与前一个题目比较类似,将各月份的天数存入数组,便于使用。
这一题使用了多个方法,用来判断闰年以及输入日期是否合法。
该题主要是要理解对类的使用,而非前面题目集中,直接调用方法解决问题。
使用了类的封装。
将年月日作为日期的私有属性,将输入的信息参数传入类中,再在类中调用方法,输入结果。
但使用类的封装,做到了对数据的保护。
由于不会对字符串进行处理,这一题我没有写。
我也开始学习对字符串的处理方法,学习掌握高效的方法(正则表达式、split方法)。
1、第一次题目集最后一题判断三角形类型中,开始没有完全考虑到各种不能构成三角形的数据,也没有考虑根号的情况,没有考虑到误差值。
2、第二次题目集时不知道如何来判断月末的最后一天,不知道用数组来存储月的天数,浪费了很多时间。
3、第三次题目集一开始不会类的封装,不知道使用静态方法访问,导致编译器一直报错。
4、学会了如何调试程序,知道如何看自己的程序哪里出了错。
1、第一次题目集中最后一题--判断三角形类型,对三角形三条边比较大小,我使用for循环一个一个比较 非常复杂,且效率极低
double min=a[0],max=a[0],mid=a[0]; for(i=0;i<3;i++) { if(a[i]>max) max=a[i]; if(a[i]<min) min=a[i]; num=num+a[i]; } mid=num-max-min;
对此,可以用Java中的Math类进行快速比较,
改进代码
max=Math.max(Math.max(a[0],a[1]), a[2]); min=Math.min(Math.min(a[0], a[1]), a[2]);
mid=a[0]+a[1]+a[2]-max-min;
2、第一次题目集第七题我用的是冒泡排序来排序的,其实可以用一个函数来完成的。
学到了什么:
学会了类的封装。
学会了如何从控制台输入数据。
学会了一些java函数的使用。
了解了顺序、选择、循环、方法(函数)在java中的使用。
了解复杂度的概念,尽量减少使用if,以及加注释,增加程序可维护性。。
需要进一步学习及研究)
对类的使用(创建、调用)极其不熟练
java中的链表 Linked list
正则表达式
标签:有序 复制 lazy nbsp lin 代码 掌握 -- main方法
原文地址:https://www.cnblogs.com/123lph/p/14617439.html