QQ群对话整理(删除一些简单的回应),对一些重要的地方,我做了一些加粗
宝玉 2015/9/21 1:49:05
这次题目还有个问题就是如何读取Excel,我想对于很多同学来说是个困难
Java读取Excel我也没做过,但是如果我做的话,我会有几种思路
直接Google(技术文章尽量用Google)Java读取Excel的文档,找到合适的类库
我的关键字会是:Java Read Excel
基本上前几条都是答案
但是代码我看了下,都依赖于第三方类库,很讨厌
那么我们就要考虑下怎么把问题简化,尽可能用简单方法来做
你们知道CSV吗?
计131-张振渊(380366480) 2015/9/21 1:52:52
没听说过
宝玉(9619774) 2015/9/21 1:53:22
没听说过正常,这来源于平时对知识面的积累
csv是一种纯文本格式
http://baike.baidu.com/subview/468993/5926031.htm
计131-张振渊(380366480) 2015/9/21 1:55:06
要把表格转换成csv?
宝玉(9619774) 2015/9/21 1:55:25
Excel可以导出成csv
csv是纯文本格式
宝玉(9619774) 2015/9/21 1:56:22
文本编辑器打开时这样的
一行文本就是对应Excel的一行
每列数据都用逗号隔开
那么现在问题就简单了,完全不必依赖Excel库
宝玉(9619774) 2015/9/21 1:58:11
现在借助现有的知识应该可以完成的
甚至你偷懒一点,或者你还是不知道,那么继续换个关键字搜索:java read csv
宝玉(9619774) 2015/9/21 1:59:01
这是搜索出来的第一篇文章:http://www.mkyong.com/java/how-to-read-and-parse-csv-file-in-java/
看,代码都可以借鉴了
计131-张振渊(380366480) 2015/9/21 2:00:36
似乎只要改第一行的路径就可以了
宝玉(9619774) 2015/9/21 2:00:43
但这里我必须强调一点:搜索引擎可以帮助你解决很多问题,但不能过度依赖搜索引擎,即使你通过搜索引擎找到答案,也必须完全理解答案
宝玉(9619774) 2015/9/21 2:01:23
所以要求你们如果是通过搜索引擎找到的代码,必须:
1. 注明来源
2. 每一行代码按照你的理解加上注释!
否则可能会按0分记
计131-张振渊(380366480) 2015/9/21 2:02:47
额……真是个危险的方法
宝玉(9619774) 2015/9/21 2:03:07
不要成为一个“百度程序员”
“百度程序员”指的是所有问题只会通过百度去搜索借鉴,百度搜索不出来就不会做了
计131-张振渊(380366480) 2015/9/21 2:04:36
我需要升级成“谷歌程序员”了。
百度里东西zhengshao
宝玉(9619774) 2015/9/21 2:06:01
要做好软件开发,除了编程本身,还有两个能力必不可少:
1. 英语要逐步提高
2. 学会用Google去检索
中文关键字检索技术资料会很难的
宝玉(9619774) 2015/9/21 2:10:22
@计131-张振渊 你们学过面向对象吗?
计131-张振渊(380366480) 2015/9/21 2:10:55
我忘记了,不晓得别人记得不
宝玉(9619774) 2015/9/21 2:11:55
从你们这次前面几个人交的作业来看
都没有应用到面向对象的概念
如果你们学过,应该要回忆反思一下
计131-张振渊(380366480) 2015/9/21 2:12:34
啊哈,我找到那个笑话了
宝玉(9619774) 2015/9/21 2:12:50
如果你们没学过,那么应该自学一下 (注: 他们学过C++,面向对象思想可能都还给老师了,教材原因、过度陷入C++ 语言的细节可能是另外一个原因)
计131-张振渊(380366480) 2015/9/21 2:14:20
额,好吧
宝玉(9619774) 2015/9/21 2:14:20
这次课程的代码结构,按照面向对象的设计,应该是这样的:
宝玉(9619774) 2015/9/21 2:15:05
1 class A { 2 public int count(int[] a, int start, int length) { 3 } 4 } 5 class B { 6 public int count(int[][] a, int start, int length) { 7 } 8 } 9 class C { 10 public int count(int[][][] a, int start, int length) { 11 } 12 }
宝玉(9619774) 2015/9/21 2:17:59
如果是有统一基类,可以改成:
1 class D { 2 public abstract int count(int[][][] a, int start, int length); 3 } 4 5 class A extends D { 6 public int count(int[][][] a, int start, int length) { 7 // only count the first column 8 } 9 }
计131-张振渊(380366480) 2015/9/21 2:19:00
这……这是第二次作业第四题的标准答案。
么?
宝玉(9619774) 2015/9/21 2:20:48
Main函数的结构应该是:
1 class D { 2 public abstract int count(int[][][] a, int start, int length); 3 } 4 5 class A extends D { 6 public int count(int[][][] a, int start, int length) { 7 // only count the first column 8 } 9 }
宝玉(9619774) 2015/9/21 2:22:45
这不是直接给你们答案
而是告诉你们应该怎么去设计一个程序
计131-张振渊(380366480) 2015/9/21 2:23:42
好
宝玉(9619774) 2015/9/21 2:25:10
你们可以思考下我的程序结构和你们的结构有什么不同,有什么优缺点
计131-张振渊(380366480) 2015/9/21 2:25:45
缺点就是累吧
宝玉(9619774) 2015/9/21 2:26:12
这就跟前面Google代码一样,一定要有自己的思考
宝玉(9619774) 2015/9/21 2:31:33
早点休息吧
计131-张振渊(380366480) 2015/9/21 2:31:48
哦