Java Practice Test: Expressions, Unit Tests, Loops, and Methods, Exams of Computer Science

A java practice test covering various topics such as expressions, unit tests, loops, and methods. The test includes writing checkmarks for assertions, completing a unit test for a grading method, determining the number of times 'hello' is printed, writing a for loop for a given sequence of integers, writing a method to find the number of occurrences of an integer in a string, and analyzing the output of given java code. The test also includes a bonus question to write a histogram class.

Typology: Exams

Pre 2010

Uploaded on 08/31/2009

koofers-user-glq
koofers-user-glq 🇺🇸

10 documents

1 / 4

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
C Sc 227 Practice Test 1 Section Leader _________ Your Name _________________________
Complete this BEFORE your next section. Note: I did not time this test. It should take you longer than 50 minutes.
1. Write a checkmark to the right of any assertion if it would pass. Leave the line in the comment blank if
the assertion would fail (8pts)
public class ExpressionsTest extends junit.framework.TestCase
{
public void testExpressions()
{
int j = 5;
int k = 3;
double x = -1.5;
String s = "U of Arizona";
assertEquals(2, j / k); // a. ______
assertEquals(1, j % k); // b. ______
assertEquals(-0.5, x + 1, 1e-12); // c. ______
assertEquals('U', s.charAt(1)); // d. ______
assertEquals(5, s.indexOf("Arizona")); // e. ______
assertEquals(0, s.indexOf("U of A")); // f. ______
assertTrue(s.compareTo("ASU") > 0); // g. ______
assertEquals(2.0, Math.sqrt(j), 1e-12); // h. ______
}
}
2. Complete the unit test for method grade (fill in the blanks) so it executes every branch of code in the nested
selection. The method represents this grading policy (10pts)
Percentage Grade
90.0 percentage "A"
80.0 percentage < 90.0 "B"
70.0 percentage < 80.0 "C"
60.0 percentage < 70.0 "D"
percentage < 60.0 "E"
public class GraderTest extends junit.framework.TestCase {
public void testGrade() {
assertEquals(___________________________________);
assertEquals(___________________________________);
assertEquals(___________________________________);
assertEquals(___________________________________);
assertEquals(___________________________________);
}
public String grade(double percentage) {
String result = "";
if (percentage >= 90.0)
result = "A";
else if (percentage >= 80.0)
result = "B";
else if (percentage >= 70.0)
result = "C";
else if (percentage >= 60.0)
result = "D";
else
result = "E";
return result;
}
}
1
pf3
pf4

Partial preview of the text

Download Java Practice Test: Expressions, Unit Tests, Loops, and Methods and more Exams Computer Science in PDF only on Docsity!

C Sc 227 Practice Test 1 Section Leader _________ Your Name _________________________

Complete this BEFORE your next section. Note: I did not time this test. It should take you longer than 50 minutes.

1. Write a checkmark √ to the right of any assertion if it would pass. Leave the line in the comment blank if

the assertion would fail (8pts)

public class ExpressionsTest extends junit.framework.TestCase { public void testExpressions() { int j = 5; int k = 3; double x = -1.5; String s = "U of Arizona"; assertEquals(2, j / k); // a. ______ assertEquals(1, j % k); // b. ______ assertEquals(-0.5, x + 1, 1e-12); // c. ______ assertEquals('U', s.charAt(1)); // d. ______ assertEquals(5, s.indexOf("Arizona")); // e. ______ assertEquals(0, s.indexOf("U of A")); // f. ______ assertTrue(s.compareTo("ASU") > 0); // g. ______ assertEquals(2.0, Math.sqrt(j), 1e-12); // h. ______ } }

2. Complete the unit test for method grade (fill in the blanks) so it executes every branch of code in the nested

selection. The method represents this grading policy (10pts)

Percentage Grade

90.0 ≥ percentage "A"

80.0 ≥ percentage < 90.0 "B"

70.0 ≥ percentage < 80.0 "C"

60.0 ≥ percentage < 70.0 "D"

percentage < 60.0 "E"

public class GraderTest extends junit.framework.TestCase { public void testGrade() { assertEquals(___________________________________); assertEquals(___________________________________); assertEquals(___________________________________); assertEquals(___________________________________); assertEquals(___________________________________); } public String grade(double percentage) { String result = ""; if (percentage >= 90.0) result = "A"; else if (percentage >= 80.0) result = "B"; else if (percentage >= 70.0) result = "C"; else if (percentage >= 60.0) result = "D"; else result = "E"; return result; } }

3. How many times will the following code print "Hello"? 0, Unknown, and Infinite are legitimate answers

(8pts)

int j = 1; int n = 5; while(j <= n) { System.out.print("Hello"); n++; } int j = 1; while(j <= 11) { System.out.print("Hello"); j = j + 3; } int n = 0; for(int j = 1; j < n; j++) { System.out.print("Hello"); } // Tricky Question for(int j = 1; j <= 11; j++); System.out.print("Hello");

5. Write a for loop that prints this sequence of integers: -10 –5 0 5 10 15, … , 5555 (6pts)

6. Write method occurencesOf that returns the number of times a particular int is found in the Scanner argument's

input String. (12pts)

import java.util.Scanner; import junit.framework.TestCase; public class TestExists extends TestCase { public void testOccurences() { Scanner scanner = new Scanner("1 2 3 4 1 2 3 1 6"); assertEquals(3, occurencesOf(1, scanner)); assertEquals(2, occurencesOf(3, scanner)); assertEquals(1, occurencesOf(6, scanner)); assertEquals(0, occurencesOf(99, scanner)); }

7. Write the output generated by the following code (8pts)

int[] x = { 5, 6, 2, 3, 5 }; int n = x.length; for(int j = n - 1; j > 0; j--) x[j] = x[j-1]; for(int j = 0; j < n; j++) System.out.print(" " + x[j]);

10. Add method removeAllOccurencesOf that removes each occurrence of a given int in an IntList object.

The IntList class must store elements in an array. The code to the left must generate the output shown (16pts)

int[] x = { 1, 5, 3, 4, 5, 5, 5, 6, 5, 8 }; IntList list = new IntList(x); System.out.println(list.toString()); list. removeAllOccurrencesOf(5) ; System.out.println(list.toString());

Output when removing all 5s

public class IntList { private int[] a; private int n; public IntList(int[] x) { a = x; n = a.length; } public String toString() { String result = ""; for(int j = 0; j < n; j++) result = result + a[j] + " "; return result; } // Complete removeAllOccurrencesOf using the initialized instance variables a and n.