Expand All
Collapse All
- How can I download various input files (such as
fair-coin.txt
and world.txt
) for testing?
-
Click the Project link at the top of the page. It contains an IntelliJ project, together
with various input files, which you can use to develop your program.
Even if you don’t use IntelliJ, the zip file contains various sample input files.
- I’m not familiar with the command line. How do I get started?
-
If you installed our custom IntelliJ programming environment,
you can access a bash shell from OS X, Windows, or Linux.
- How do I access the standard libraries in
stdlib.jar
?
-
You must add
stdlib.jar
to your Java classpath.
-
If you installed our custom IntelliJ programming environment, you should be all set.
From IntelliJ, be sure to use the provided IntelliJ project folders,
which are preconfigured to add
stdlib.jar
to the Java classpath.
From the command line, use javac-introcs
and java-introcs
to compile and execute,
which add stdlib.jar
to the Java classpath.
If using Windows, be sure to use Git Bash (and not Command Prompt, PowerShell, or WSL).
-
If you are using a different environment, here is some guidance on
adding stdlib.jar to the Java classpath.
Typically, adding
stdlib.jar
to your Java classpath must be done separately for each environment
(e.g., bash, IntelliJ, Eclipse, Command Prompt).
-
How do I compute the base-2 logarithm of x?
-
Unfortunately, Java’s math library does not have such a function.
The function
Math.log(x)
returns
the natural logarithm (base e) of x;
the function Math.log10(x)
returns the base-10 logarithm of x.
You can use Math.log(x) / Math.log(2)
to get the base-2 logarithm.
-
How do I print a floating-point number
x
with 4 digits of
precision after the decimal point?
-
Call
StdOut.printf("%.4f\n", x)
. See the
booksite for more
details about the formatted printing.
Many other programming languages (e.g., C, Python, Matlab, R, Ruby, Go) also support
printf
for formatted printing, so it’s worth your time to learn the basics.
-
How do I set the pen color to blue or light gray?
-
These are predefined colors. Use
StdDraw.setPenColor(StdDraw.BLUE)
or StdDraw.setPenColor(StdDraw.LIGHT_GRAY)
.
-
Can I draw the background in light gray and explicitly draw only the blue squares?
-
No. The instructions says to draw all n2 squares, one at a time.
- Can I draw the boundaries as a sequence of line segments instead of a polygon?
-
No. You must draw each polygon using
StdDraw.polygon()
, as specified.
- My favorite country is not supplied as one of the data files. Why not?
-
Sorry, please don’t take any offense.
A few of the source data files that we used had technical discrepancies, which made converting
them into our format more challenging.
If you wish to add a country, please send us an input file in the specified format.