Week 8 (Mar 10)¶
Your "reading" for this week is to prepare for the exam. Begin by taking the sample exam on your own so you know what you need to study.
Sample Questions¶
Take the exam below on your own, closed book, without a computer. Set a 50-minute timer so you can practice finishing in the time alloted. The actual exam will be similar in difficulty and length to this exam. Solutions will be posted in Canvas about 24 hours prior to the exam.
These specific questions should not be construed as a study guide. These questions do not necessarily provide information about what you should and/or shouldn't study. Try to write and answer different variants of each question. You may discuss your questions and answers with other students enrolled in the course.
Tip
Practice drawing memory diagrams for Question 2 (EarRing
, LipRing
, NavelRing
, and NoseRing
) of the sample exam.
Memory Diagrams¶
Activity 9 and the Memory Diagrams tutorial may be helpful for reviewing the basics. For more practice, draw a memory diagram for each of the exercises below.
Exercise 1: Variables
long money = 50;
boolean good = true;
double price = money;
char hash = '#';
String rating = "PG";
Exercise 2: Arrays
int[] data = null;
int[] counts = {10, 3, 7, -5};
double[] scores = new double[3];
String[] words = new String[2];
String[] take = {"CS 159", "CS 227"};
int[] easy = {1, 2, 3};
int[] copy = easy;
Exercise 3: Methods
public static void main(String[] args) {
int[] nums = {159, 227};
printArray(nums);
}
public static void printArray(int[] a) {
System.out.print("{" + a[0]);
for (int i = 1; i < a.length; i++) {
System.out.print(", " + a[i]);
}
System.out.println("}");
}
Exercise 4: Objects
public class Card {
private int rank; // 1=Ace, ..., 11=Jack, 12=Queen, 13=King
private int suit; // 0=Clubs, 1=Diamonds, 2=Hearts, 3=Spades
public Card(int rank, int suit) {
this.rank = rank;
this.suit = suit;
}
public static void main(String[] args) {
Card c1 = new Card(8, 1);
Card c2 = new Card(12, 2);
Card c3 = c1;
c1 = c2;
}
}
Exercise 5: Static
public class BankAccount {
private static final String PREFIX = "1234";
private static int nextNumber = 1;
private String number;
private String owner;
private double balance;
public BankAccount(String owner) {
this.number = PREFIX + String.format("%04d", nextNumber);
this.owner = owner;
nextNumber++;
}
public static void main(String[] args) {
BankAccount ba1 = new BankAccount("Stacie");
BankAccount ba2 = new BankAccount("Trevor");
}
}
Video 1: Classes¶
This video by Dr. Weikle was posted before Exam 1 but is also a great review of HW5 topics.
Video 2: Exceptions¶
Note: This video is from last year. File I/O is not on this year's Exam 2. Feel free to watch the first half, stopping at 4:45. Or watch the entire video if you would like to see next week's topic.