0% found this document useful (0 votes)
78 views4 pages

Building Java Programs Chapter 2 Lab Handout

This document contains the lab handout for Chapter 2 of the Java textbook "Building Java Programs". It includes 7 problems covering expressions, variables, for loops, and nested for loops. The problems involve evaluating expressions, analyzing code snippets, generating sequences with for loops, and using for loops to print out patterns of characters. The solutions are provided after the problems.

Uploaded by

SolisterADV
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
78 views4 pages

Building Java Programs Chapter 2 Lab Handout

This document contains the lab handout for Chapter 2 of the Java textbook "Building Java Programs". It includes 7 problems covering expressions, variables, for loops, and nested for loops. The problems involve evaluating expressions, analyzing code snippets, generating sequences with for loops, and using for loops to print out patterns of characters. The solutions are provided after the problems.

Uploaded by

SolisterADV
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 4

Building Java Programs

Chapter 2 Lab Handout

Expressions
1. Compute the value of each expression below. Be sure to list a literal of appropriate type (e.g., 7.0 rather
than 7 for a double, string literals in quotes).
Expression Expression
4 * 3/8 + 2.5 * 2 (2.5 + 3.5)/2
26 % 10 % 4 * 3 9/4 * 2.0 - 5/4
(5 * 7.0/2 - 2.5)/5 * 2 3 * 4 + 2 * 3
12/7 * 4.4 * 2/4 177 % 100 % 10/2
"hello 34 " + 2 * 4 9/2.0 + 7/3 - 3.0/2
"2 + 2 " + 3 + 4 813 % 100/3 + 2.4
3 + 4 + " 2 + 2" 27/2/2.0 * (4.3 + 1.7) - 8/3
41 % 7 * 3/5 + 5/2 * 2.5 89 % (5 + 5) % 5
22 + 4 * 2 4.0/2 * 9/2
10.0/2/4 392/10 % 10/2
23 % 8 % 3 53/5/(0.6 + 1.4)/2 + 13/2
17 % 10/4 8 * 2 - 7/4
8/5 + 13/2/3.0 37 % 20 % 3 * 4
12 - 2 - 3 2.5 * 2 + 8/5.0 + 10/3
6/2 + 7/3 2 * 3/4 * 2/4.0 + 4.5 - 1
6 * 7%4 89 % 10/4 * 2.0/5 + (1.5 + 1.0/2) * 2

Variables
2. What is the output from the following code?
int max;
int min = 10;
max = 17 - 4 / 10;
max = max + 6;
min = max - min;
System.out.println(max * 2);
System.out.println(max + min);
System.out.println(max);
System.out.println(min);

3. What are the values of the variables a, b, and c after the following code? (What is the code really doing?)
int a = 3;
int b = 7;
int c = 9;
a = a * b * c;
b = a / b / c;
c = a / b / c;
a = a / b / c;

1 of 4
for Loops
4. Assume that you have a variable called count that will take on the values 1, 2, 3, 4, and so on. You are
going to formulate expressions in terms of count that will yield different sequences. For example, to get the
sequence 2, 4, 6, 8, 10, 12, ..., you would use the expression (2 * count). Fill in the table below,
indicating an expression that will generate each sequence.

Sequence Expression
4, 19, 34, 49, 64, 79, ...

30, 20, 10, 0, -10, -20, ...

-7, -3, 1, 5, 9, 13, ...

97, 94, 91, 88, 85, 82, ...

Nested for Loops


5. What output is produced by the following program?
public class Loops {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
for (int j = 1; j <= 10 - i; j++) {
System.out.print(" ");
}
for (int j = 1; j <= 2 * i - 1; j++) {
System.out.print("*");
}
System.out.println();
}
}
}

6. Write a static method named drawFigure that produces the following output. Use for loops to capture the
structure of the figure.
////////////////\\\\\\\\\\\\\\\\
////////////********\\\\\\\\\\\\
////////****************\\\\\\\\
////************************\\\\
********************************

7. Modify your method from the previous exercise so that it uses a class constant for the figure's size. The
previous output used a constant size of 5. Here is the output for a constant size of 3:
////////\\\\\\\\
////********\\\\
****************

2 of 4
Chapter 2 Lab Handout Solutions
1.
Expression Value Expression Value

4 * 3/8 + 2.5 * 2 6.0 (2.5 + 3.5)/2 3.0


26 % 10 % 4 * 3 6 9/4 * 2.0 - 5/4 3.0
(5 * 7.0/2 - 2.5)/5 * 2 6.0 3 * 4 + 2 * 3 18
12/7 * 4.4 * 2/4 2.2 177 % 100 % 10/2 3
"hello 34 " + 2 * 4 "hello 34 8" 9/2.0 + 7/3 - 3.0/2 5.0
"2 + 2 " + 3 + 4 "2 + 2 34" 813 % 100/3 + 2.4 6.4
3 + 4 + " 2 + 2" "7 2 + 2" 27/2/2.0 * (4.3 + 1.7) - 8/3 37.0
41 % 7 * 3/5 + 5/2 * 2.5 8.0 89 % (5 + 5) % 5 4
22 + 4 * 2 30 4.0/2 * 9/2 9.0
10.0/2/4 1.25 392/10 % 10/2 4
23 % 8 % 3 1 53/5/(0.6 + 1.4)/2 + 13/2 8.5
17 % 10/4 1 8 * 2 - 7/4 15
8/5 + 13/2/3.0 3.0 37 % 20 % 3 * 4 8
12 - 2 - 3 7 2.5 * 2 + 8/5.0 + 10/3 9.6
6/2 + 7/3 5 2 * 3/4 * 2/4.0 + 4.5 - 1 4.0
6 * 7%4 2 89 % 10/4 * 2.0/5 +
(1.5 + 1.0/2) * 2 4.8
2.
46
36
23
13

3.
a has value 9
b has value 3
c has value 7
(The code is rotating the values of the three variables.)

4.
Sequence Expression
---------------------------------------------------
4, 19, 34, 49, 64, 79, ... 15 * count - 11
30, 20, 10, 0, -10, -20, ... 40 - 10 * count
-7, -3, 1, 5, 9, 13, ... 4 * count - 11
97, 94, 91, 88, 85, 82, ... 100 - 3 * count

5.
*
***
*****
*******
*********
***********
*************
***************
*****************
*******************

3 of 4
6.
public static void drawFigure() {
for (int line = 1; line <= 5; line++) {
for (int i = 1; i <= -4 * line + 20; i++) {
System.out.print("/");
}
for (int i = 1; i <= 8 * line - 8; i++) {
System.out.print("*");
}
for (int i = 1; i <= -4 * line + 20; i++) {
System.out.print("\\");
}
System.out.println();
}
}

7.
public static final int SIZE = 5;

public static void drawFigure() {


for (int line = 1; line <= SIZE; line++) {
for (int i = 1; i <= -4 * line + 4 * SIZE; i++) {
System.out.print("/");
}
for (int i = 1; i <= 8 * line - 8; i++) {
System.out.print("*");
}
for (int i = 1; i <= -4 * line + 4 * SIZE; i++) {
System.out.print("\\");
}
System.out.println();
}
}

4 of 4

You might also like