CSE 131 Module 1: Methods
Practice Problems
Important note: Most CSE131 modules will have practice problems section with
a quiz. However,
do not wait until after the quiz to begin working on the project.
You should go a head and start working on the project as soon as you've finished and understood the practice problems.
The purpose of the practice problems is to help you check your understanding
of material covered in class.
You do not need to turn in your
solutions, but
should do the practice problems in preparation for the quiz.
Solutions to selected exercises are available, but you will
benefit most by doing the exercises before you look
at the solutions.
You will learn
more if you do the problems before attending a help session.

Arithmetic Expressions: Draw an expression tree for each of the
following Java expressions. Provide the value of each expression. Remember
that Java computes left to right, and that negation takes precedence over
multiplication and division, which take precedence over addition and subtraction.
a. (50  5 * 4) / 10  7
b. 12 + 5 * 2 + 6 / 3
c. 1 + 2 + 3 + 4 + 5 + 1 * 2 * 3 * 4 * 5

Expressions Containing Variables: Draw an expression tree for each
of the following Java expressions. Note that each variable is represented
here by a single character.
a. (b  Math.sqrt(b * b  4*a*c)) / (2*a)
b. a + (b * c)  ((d * f) / e)  g
c. a + b * c  d * f / e  g

String Expressions: Provide the string value resulting from evaluation
of each expression, or if the expression would result in an error, explain
the error.
a. "this " + "string " + "has " + "spaces "
b. "this" + "string" + "has" + "no" + "spaces"
c. "the sum of " + 6 + " + " + 10 + " is " + (6 + 10)
d. "the sum of " + "6 + 10" + " is " + (6 + 10)
e. 6 + 10 + " equals " + (6 + 10)
f. "" + 6 + "+" + 10 + " equals " + 6 + 10

Boolean Expressions: Provide the boolean value (true or false) resulting
from evaluation of each expression. (Remember that "&&" represents
AND, "" represents OR, and "!" represents NOT.)
a. 3 > 7
b. (3 > 7)  (4 < 9)
c. 135 == 100 + 35
d. (true && false)  (true  false)
e. (3 > 7)  ((10 < 9) == (3 == 8))
f. false  !(3 > 7)

Data Type Identification: Identify the type (int, double, boolean,
or String) of the value that would result from evaluating each Java expression,
or if the expression would result in an error, explain the error. If there
is no error, provide the value of the expression as well as the type.
a. 7 / 2
b. 7.0 / 2
c. ((7 / 2) == (7.0 / 2))
d. "x = " + 6
e. 6 + " = x"
f. ((6 * 3) / 80) / (35  7 * 5)
g. 1 / 2

Writing Java Expressions for Arithmetic Formulae: Write Java expressions
for each of the following arithmetic formulae. In these expressions, use
variable names r for radius, w for width, and h for
height.
a. the area of a circle with radius r
b. the circumference of a circle with radius r
c. the perimeter of a rectangle with height h and width w
d. the volume of a cylinder with radius r and height h
e. the length of the diagonal of a rectangle with height h
and width w
f. the area of a right triangle with height h and width w

A truth table is a table that shows the value of a boolean expression
for all possible assignments to the variables of that expression. Each
row of the table corresponds to a possible assignment of the variables
and the resulting value of the expression. Complete the following
truth table for the logical operators AND (&&) and OR
(). (Fill in the missing values on each line of the table.)
x 
y 
x AND y 
x OR y 
true 
true 


true 

false 
true 
false 
true 


false 
false 

