Review Questions for Exam 1
Solutions
This review sheet is intended to give you some practice questions to
use in preparing for our first midterm. It is not necessarily complete.
The first exam covers the reading assignments, programming projects and
class/discussion material through Friday, October 1.
1. What is a CPU? See lecture 1 notes.
2. Give one example of an input device and one example of an output
device. See Lecture 1 notes.
3. What is a compiler? See class notes.
4. Write Java code that displays the sum of all numbers which are
multiples of 3 between 1 and 1000.
int sum = 0;
for(int i = 3; i <= 1000; i+=3)
sum += i;
System.out.println("Sum: " + sum);
5. Write a line of code that creates an object that may be used to read
a line of text from the keyboard.
Scanner reader = new Scanner(System.in);
6. Using your object in #5, write a line of Java code that reads a
floating point number from the keyboard.
double x = reader.nextDouble();
7. Assume that val is an initialized variable of type double. Write a
Java statement that prints val to the console window.
System.out.print(val);
8. Write a complete Java program (including any necessary import
statements) that reads 100 floating-point numbers from the user, and
prints the max, min and average value.
import java.util.*;
public class Number8 {
public static void main(String[] args) {
Scanner scan = new
Scanner(System.in);
// Read the first value, and
initialize the min and max to that first value
System.out.print("Enter the first
number: ");
double value = scan.nextDouble();
double min = value;
double max = value;
double sum = value;
// read remaining 99 floating
point numbers
for(int i = 0; i < 99; i++) {
System.out.print("Enter the next number: ");
value =
scan.nextDouble();
min =
Math.min(min, value);
max =
Math.max(max, value);
sum += value;
}
// Display average, minimum, and
maximum
System.out.println("Average: " +
(sum/100));
System.out.println("Minimum: " +
min);
System.out.println("Maximum: " +
max);
}
}
9. Write a Java program that reads 20 lines of text from the user and
prints the number of lines that contain the phrase "happy day"
(disregard capitalization).
import java.util.*;
public class Question9 {
public static void main(String[] args) {
Scanner scan = new
Scanner(System.in);
int numLines = 0; // number
of lines that contain "happy day" - initially zero
System.out.print("Enter 20 lines
of text: ");
for(int i = 0; i < 20; i++) {
String line =
scan.nextLine().toLowerCase();
if(line.indexOf("happy day") >= 0)
numLines++;
}
System.out.println("Number of
lines containing \"happy day\": " + numLines);
}
}
10. Write a Java program that reads a line of text from the keyboard
and prints its reverse to the screen.
import java.util.*;
public class Question10 {
public static void main(String[] args) {
Scanner scan = new
Scanner(System.in);
System.out.print("Enter a line of
text: ");
String s = scan.nextLine();
for(int i = 0; i < s.length();
i++) {
System.out.print(s.charAt(i));
}
}
}
11. Write Java code that prints the string referenced by variable
myString with the first letter capitalized.
String up = myString.toUpperCase();
System.out.print(up.charAt(0) + myString.substring(1));
12. What is the value and type of the result?
a. 17/8 2
b. 24%5 4
c. 14.0/4 3.5
d. Math.pow(3, 5) 243
e. Character.isLetter('+') false
f. Math.round(12.56999)
g. 15 + 2 + " hellos" "17 hellos"
h. 15 * 2 / 4 7
i. (5 < 4) || Character.isDigit('2') true
13. Declare and initialize a class constant that represents the number
of days in March.
public static final int NUM_DAYS_MARCH = 31;
14. Give an example of an explicit cast, and explain when the use of an
explicit cast is, and is not, necessary.
We haven't covered this yet.
15. Write Java code that creates an object of type Random.
Random generator = new Random();
16. What is the difference in comparing Strings with the equals()
method vs. the = = operator?
Using == to compare two String reference variables compares the
addresses in the reference variables. The equals() method actually
compares the Strings.
17. Give examples to show how the methods indexOf(), replace(),
length(), substring(), equals(), equalsIgnoreCase(), toUpperCase() and
charAt() work. (These are all methods in the String
class).
See class notes, Java documentation, and textbook.
18. What is a constructor?
It's a method that is called when a new object is created, and it is
used to perform any necessary initializations for the new object. The
constructor has the same name as the class.
19. Write a if-else if statement that prints a message indicating
whether
the value stored in int variable n is 0, 1, 2, 3 or none of these.
if( (n >= 0) && (n <=3))
System.out.println("Between 0 and 3");
else
System.out.println("Not between 0 and 3");
20. Write code that prints the squares of the numbers
between 1 and n, where n is a value entered by the user.
If the user enters an integer less than 1, print an error message.
if(n >=1) {
for(int i = 1; i <= n; i++)
System.out.println(Math.pow(i,
2));
}
else
System.out.println("Error");
21. Do exercise 21, chapter 2, in the Stepp and Reges book.
22. Use loops to print the following:
*
***
*****
...
***********
The first line in the triangle contains 1 *, the second line contains 3
*, ... the last line contains 11 *'s.
for(int i = 1; i <= 6; i+=2) {
// print a line with 6-i spaces followed by 2i-1 *'s
for(int j = 1; j <= 6-i; j++)
System.out.print(" ");
for(int k = 1; k <= 2*i-1; k++)
System.out.print("*");
System.out.println(); //go to beginning of next line
}
23. Write Java code that simulates the throw of two dice and prints the
value rolled.
Random gen = new Random();
int throw1 = gen.nextInt(6)+1;
int throw2 = gen.nextInt(6)+1;
System.out.println("Throw total: " + (throw1 + throw2));
24. Write a program that uses a Graphics object to draw 10 concentric
circles.
We did this in class.