普林斯顿大学《算法》第四版 IDEA 运行环境的搭建
环境的搭建分以下几个步骤:
- Java 运行环境的搭建
- IDEA 的安装与破解
- 《算法》 运行库的下载与配置
- IDEA 工程的创建以及在IDEA中使用命令行
前两个步骤就不写了,网上的教程一大把。
《算法》 运行库的下载与配置
1.首先,我们需要下载作者提供的运行库,下载地址: 点我下载 ,
下载红色框框的内容
我们需要下载两个内容,一个是库,一个是测试的数据。库是algs4.jar,数据是algs4-data.zip。
2.在C盘建立目录 C:\Program Files\algs4 将 algs4.jar 放入其中,如下所示:
algs4.jar的存放位置
ps:这里你可以放在任何你想要放的地方,笔者只是习惯放在C盘而已。
3.在CLASSPATH环境变量中,添加值 C:\Program Files\algs4\algs4.jar
(就是刚刚存放algs4.jar的路径),如下所示:
环境变量的设置
网上说,要加个 分号 ,具体我也没去深究,就这样吧。
这样下来,就完成了库的配置了。还有一个测试数据的使用,在下一节。
IDEA 工程的创建以及在IDEA中使用命令
1.创建一个HelloWorld工程
选择你的JDK,我使用的是1.6。
2.为项目添加jar包
配置IDEA
,打开File--->Project Structure
添加jar包
3.解压测试数据到src目录下:
解压测试数据到src目录下
IDEA中重定向配置
《算法》中的代码很多都需要使用terminal进行命令行执行,而且重定向符号“<“经常被用到,例如开头这段二分查找算法的命令:
但是在IDEA中通过terminal执行这行命令的时候会得到如下错误(“<”运算符是为将来使用而保留的。):
这时候我们需要在IDEA中对重定向进行配置(Run > Configrations):
这样我们就可以得到测试结果了:
Coursera普林斯顿算法作业一
HELLO,WORLD
本次作业是可选的。它主要目标是确保你可以书写简单的 Java 程序,使用 algs4.jar,并且提交它们到 Coursera autograder。
- 创建我们的 Java 编程环境(可选)。通过指导书一步一步在你们的计算机上,创建新手友好的 Java 编程环境。在每次作业,从顶部的菜单中使用 Project。
作为指导的一部分,你将书写,编译,并且执行 HelloWorld.java 程序。
|
|
- 命令行参数。程序 HelloGoodbye.java 接受两个命令行参数,并且输出 hello 和 goodbye 消息,如下所示(hello 消息的名字按顺序,goodbye 消息的名字逆序)。
|
|
- 使用 algs4.jar。正在完善。编写 RandomWord.java 程序,从标准输入中读取一串单词,并且随机输出这些单词中的一个。不要存储这些单词在数组或者链表中,使用 Knuth 的方法:当读到第 i 个单词,以概率 1/i 选择它作为冠军,来代替之前的冠军。在读取所有单词之后,输出最后的冠军。
|
|
使用如下来自 algs4.jar 的库函数
- StdIn.readString():从标准输入中读取并返回下一个字符串。
- StdIn.isEmpty():如果标准输入中不再有可用的字符串,返回 true。否则,返回 false。
- StdOut.println():向标准输出打印字符串和换行符。可以使用 System.out.println() 代替。
- StdRandom.bernoulli(p):概率 p 的情况返回 true,概率 1 - p 的情况返回 false。
为了访问这些库函数,你必须做如下两件事:
- 添加 algs4.jar 到 java classpath。
如果使用 IntelliJ,需要项目目录包含 algs4.jar 并且添加到 java classpath。
- 在程序最上方添加 import 语句
|
|
网站提交。提交的 ZIP 文件只包含 HelloWorld.java,HelloGoodbye.java 和 RandomWorld.java。除了上面列举的 java.lang 和 algs4.jar 之外,不允许调用其它库。
解答
ex1
直接输出 hello,world
|
|
ex2
很粗暴,默认输入两个值,不能用循环,很僵硬
|
|
ex3
按照题目要求完成,没有什么需要动脑的地方
|
|
发布于 2022-07-23 16:07
附录:没有重启IDEA时代码可能报错IntelliJ IDEA Cannot resolve method println(java.lang.String)
重启或是执行下面操作:
File -> Invalidate Caches / Restart…
清空缓存就可以了