您的位置:首页 > 编程语言 > Java开发

算法4公开课课前准备和环境搭建

2017-01-05 20:17 148 查看
公开课地址:https://www.coursera.org/learn/algorithms-part1/home/welcome

算法4参考书:https://book.douban.com/subject/19952400/

公开课建议编译器和环境配置集成下载地址:http://algs4.cs.princeton.edu/home/

在上公开课前,如果有其他语言面向对象的编程基础,没有写过java的话,建议先阅读《算法(第四版)》的1.1和1.2章,了解一些java的基础然后在开始上课。后期写编程作业的时候遇到什么java上的问题及时谷歌就好了。我上课之前完全不会java,只会c#和c,编程作业满分无压力。

每次上课前,建议先把书上对应内容阅读一遍作为预习,这样听课的时候效果会更好。因为是国内,就算翻墙,网速大家都懂的。所以上课的时候建议开两个窗口,学习第一个视频的时候,另外一个窗口缓冲第二个视频,这样两个窗口轮流缓冲比较节约时间。

第一个ppt里有下载编程环境的链接,找到对应系统下载就好啦。下载之后,运行algs4.exe。对比官方给的日志就能知道自己的对没对啦。虽然我翻墙了,然而依旧试了几次才成功。所以不需要着急,一次不成功,多试试就好啦。

装好Dr java之后就可以对照 Hello World in Java on Windows来熟悉编程环境啦。建议英文不好的同学,通篇拉满然后谷歌翻译:)。

但是在使用了Dr java之后,发现不能自动补全太不智能了= =,就想着能不能用eclipse来写代码。但是使用eclipse的话,输入文件比较麻烦,现在我是使用eclipse进行编写然后用命令行编译和运行的。

首先要下个eclipse,切记要和你的java版本一致,如果java是64位的,那样eclipse也必须是64位的。本以为algs4.exe给我的64位机器下的是64位的java,结果没想到是32位的。如果是32位机器,那肯定java是32位的,如果是64位机器:

在命令行输入:java -d64 -version

如果出现:Error: This Java instance does not support a 64-bit JVM.

Please install the desired version.//说明你的java是32位的,对应的装相应的32的eclipse就好了。

装好的之后,要给自己的新建项目配置jre,因为算法课的变成作业必须用到algs4的库。

步骤如下:

鼠标右击你的项目名称(例如:Algs)//我的是这个名称。



Algs->properties->java Build Path->Libraries->Add External JARs…



然后选择你algs4.jre的地方就好啦。(如果之前运行过algs4.exe的话,应该都给你下好了jre(目录一般在C:\Users*用户名\algs4),如果没有需要在官网上下载哦)



做好上述配置之后就可以开始写第一行代码啦。我是一个周的代码在一个package里。目录如下:



怎么新建package和怎么新建java文件自己探索探索吧,都在右键里~

建议把下载的测试文件和代码放在一个文件夹里面。

接下来就是重点啦(敲黑板!),如何在命令行编译代码。因为有些时候有些java文件里使用了自己编写的类,直接javac会有错误。

参考上图的目录。在第一周的编程作业中,我们写的PercolationStats.java是要用到我们自己写的Percolate的。

第一步,先在命令行cd进我们存储项目源文件的目录,以我的为例子:



第二步,在命令行敲:javac-algs4 FristWeek/*.java(FristWeek在src目录下)

这样会编译文件夹FristWeek里的所有java文件,之所以要用javac-algs4,是因为代码中用到了algs4.jre库里的包(忘了说,如果要用algs4.jre的库函数,切记在代码开头加上import,例如:
import edu.princeton.cs.algs4.StdIn;


第三步,运行代码,在命令行敲:java-algs4 FristWeek.InteractivePercolationVisualizer 20

20是代码所需要的参数。

如果需要输入文件(文件在FristWeek目录下),则:java-algs4 FristWeek.PercolationVisualizer FristWeek\input2.txt

如果需要重定向将文件名作为标准输入,那么需要在文件前加上重定向符:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  算法 编程 java