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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

叫了个丫

初级黑马

  • 黑马币:

  • 帖子:

  • 精华:

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

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

27 个回复

正序浏览
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
可以可以
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:49
14#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:46
13#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:43
12#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:39
11#
回复 使用道具 举报
gzgd 高级黑马 2018-6-26 14:01:31
10#
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马