2.   Functions


In this chapter, we consider a concept that has as profound an impact on control flow as do conditionals and loops: the function, which allows us to transfer control back and forth between different pieces of code. Functions are important because they allow us to clearly separate tasks within a program and because they provide a general mechanism that enables us to reuse code.

Java programs in this chapter.

Below is a list of Java programs in this chapter. Click on the program name to access the Java code; click on the reference number for a brief description; read the textbook for a full discussion.

2.1.1 Harmonic.java harmonic numbers (revisited)
2.1.2 Gaussian.java Gaussian functions
2.1.3 Coupon.java coupon collector (revisited)
2.1.4 PlayThatTuneDeluxe.java play that tune (revisited)
2.2.1 StdRandom.java random number library
2.2.2 StdArrayIO.java array I/O library
2.2.3 IFS.java iterated function systems
2.2.4 StdStats.java data analysis library
2.2.5 StdStats.java data analysis library
2.2.6 Bernoulli.java Bernoulli trials
2.3.1 Euclid.java Euclid's algorithm
2.3.2 TowersOfHanoi.java towers of Hanoi
2.3.3 Beckett.java Gray code
2.3.4 Htree.java recursive graphics
2.3.5 Brownian.java Brownian bridge
2.3.6 LongestCommonSubsequence.java longest common subsequence
2.4.1 Percolation.java percolation scaffolding
2.4.2 VerticalPercolation.java vertical percolation
2.4.3 PercolationVisualizer.java percolation visualization client
2.4.4 PercolationProbability.java percolation probability estimate
2.4.5 Percolation.java percolation detection
2.4.6 PercolationPlot.java adaptive plot client