A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

叫了个丫

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 叫了个丫 初级黑马   /  2018-3-18 20:30  /  1644 人查看  /  27 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        来传智播客两个星期了,来到这里我认真学习,发现收获挺大的。之前我没有接触过JAVA这个东西,为了提高自己更进一步的认识水平,我随便挑选了道题进行分析和总结。如下: 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括姓名,三门课成绩),计算出总成绩,并把学生的信息和计算出的总分数高低顺序存放在磁盘文件"stud.txt"中。 这道题说难是真的算不上,但是涉及到的知识点还是蛮多的,值得复习一下。首先,学习JAVA最重要的是培养自己面向对象的思想,万物皆对象嘛。因此,我们可以把任何同类事物的特征向上抽取,建立对象。我们把题目中的五个学生归为一类,建立学生对象,其中姓名和三门课程的成绩作为属性,因为属性是自己的东西,所以我们设置的private修饰。为了方便初始化,我们将这些属性作为参数传到其构造函数中去。并用this方法传递赋值。题目中要求将学生的信息和计算出的总分存在磁盘,因此我们可以分别建立获取总分和姓名的方法对外公开。这样,有了学生类,我们想建立多少个学生对象都可以建立多少个。也充分体现了面向对象的思想。 接着,由于需要在键盘上输入数据,又要把这些数据存在在磁盘上,因此涉及到了IO流的知识。我们每在键盘上输入一条数据都要把它存在在容器中,那么,容器又该选择哪种比较好呢?由于要进行分数从高到低的排序,所以选择TreeSet容器最为合适,又因为存放的对象是学生类型,所以使用泛型的类型就是STUDENTS。我们每输入一条数据都要通过正则表达式来进行分割,将每条被分割数据作为参数传递到学生类中去建立学生对象。存储在set容器中。这个容易又通过建立自己的比较器来对学生进行排序,并建立迭代器将他们有序存在到目的地。完成最后的任务。 我们可以做个形象的比喻,将猪肉送到加工厂去,经过加工处理做成不同的罐头,然后再用货车将他们运送到超市去供选购。其中,键盘输入数据就是猪肉,学生信息就是罐头,set容器就是加工厂,分类加工和货车运送就是比较器和迭代器,超市当然就是磁盘文件了。这样,程序也就好理解多了。虽然我没有提供出代码来只是分析了一下它的解题思路,但是在传智老师的引导下,我认为,思想是不变的,代码怎么写都是可以的。而且,一个解决问题的程序是由大量代码组成,大量代码包含了很多的知识点,只有通过平时大量的练习,我们每个知识点才能更好掌握。这样,有了编程思想和牢固的基础知识,我们才能以不变应万变,立于不败之地。

27 个回复

倒序浏览
厉害了啊
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:00:54
7#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:00:57
8#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:05
9#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:31
10#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:39
11#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:43
12#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:46
13#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:49
14#
回复 使用道具 举报
可以可以
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马