Practice Test 1 - University of Arizona



C Sc 335 Practice Test 1 Section Leader ________ Name ___________________________ 150pts0. Even though Rick did not make any mistakes on Thursday, should we give you 4 points for an easy question like this at the end of Tuesday's test? Circle one (4pts) Yes No No Opinion (4pts)1. Write the correct term, either "RESPONSIBILITIES" or "METHODS and DATA" in the blank space (2pts)At the conceptual level, an object is a set of ________________At the implementation level, an object is ________________2. Describe the essence of polymorphism. (3pts)3. List two Java structures that allow for polymorphic messages ____________ ___________ (2pts)4. If you change ArrayList to LinkedList, will the following code still compile? true or false _____ (2pts) ?List<String> list = new ArrayList<String>(); ? list.add("b"); ? list.add("a"); ? list.add("c");? Collections.shuffle(list);5. Place an X by the name of any interfaces in the Java collection framework in the java.util package? (6pts) ___Collection ___ArrayList ___Queue ___Set ___Map __SortedArrayList6. Which goes into the top compartment (rectangle) of a class diagram of a single class? (2pts) ___Attributes(instance variables) ___Class Name ___Operations (methods)7. Can one Java class implement more than one interface? yes or no ________ (2pts)8. What is better, high cohesion or low cohesion? low or high ________ (2pts)9. Will all assertions in the following test method pass? yes or no ______ (2pts) @Test? public void testNext() {? ? List<String> list = new? ArrayList<String>();??? list.add("b");??? list.add("a");??? Iterator<String> itr = list.iterator();??? assertTrue(itr.hasNext());??? assertEquals("b", itr.next());??? assertEquals("a", itr.next());??? assertTrue(itr.hasNext());? }10. Write the output generated by the same code when aNumberMaybe is first "100" and then "NOgOOD" (6pts)String aNumberMaybe = "123";try { System.out.println("--"); double num= Double.parseDouble(aNumberMaybe); System.out.println("oo");}catch (NumberFormatException nfe) { System.out.println("++");}String aNumberMaybe = "NOgOOD";try { System.out.println("--"); double num = Double.parseDouble(aNumberMaybe); System.out.println("oo");}catch (NumberFormatException nfe) { System.out.println("++");}11. Finish this program with a graphical user interface that will allows use to enter text into a field and be told whether or not that text represents a valid number. If the input is not a number, put !!ERROR in the middle. Hint use Double.parseDouble(String) that throws an exception if the argumnet isn't a valid number. (15pts) // Assume all imports existpublic class NumberFrame extends JFrame { public static void main(String[] args) { new NumberFrame().setVisible(true); } private JLabel heading = new JLabel("Enter a number below"); private JLabel myLabel; private JTextField inputField; // initialize the JFrame public NumberFrame() { setTitle("Numbers"); setSize(170, 125); setDefaultCloseOperation(EXIT_ON_CLOSE); Container cp = this.getContentPane(); cp.setLayout(null); heading.setLocation(0, 0); heading.setSize(140, 20); myLabel = new JLabel("Nothing yet ..."); myLabel.setLocation(30, 30); myLabel.setSize(140, 20); inputField = new JTextField(); inputField.setSize(170, 20); inputField.setLocation(0, 72); cp.add(heading); cp.add(myLabel); cp.add(inputField);12. In the box, write class MyInteger so its objects can be sorted into their natural ordering with a call to java.util.Collections.sort. Each compareTo message must return the difference in value with a negative value indicating the object is less than the argument. Complete a test method to completely test the compareTo method (12pts)public interface Comparable<T> { public int compareTo(T other);}//////////////////////////////////import static org.junit.Assert.*;import org.junit.Test;public class MyIntegerTest { @Test public void testMyInteger() { }}13. Given class Point and a test driver for class Circle and class Rectangle, implement a properly designed inheritance hierarchy in Java (on the next page). Let Shape be the abstract class. Implement all three classes to the right of the non-inheritance version on the next page. Completely implement all constructors and all methods. Include all instance variables. The Circle and Rectangle classes must behave exactly the same with the inheritance hierarchy as without. The assertions must pass. (20pts)import static org.junit.Assert.*;import org.junit.Test;public class ShapeTest { @Test public void test getArea() { // 10 pixels over, 10 pixels down, radius 2.0 Shape c = new Circle(10, 10, 2.0); asssertEquals(3.14159, c.getArea(), 0.001); // width = 3.25, height = 5.75 Shape r = new Rectangle(40, 10, 3.25, 5.75); sssertEquals(18.6875, r.getArea(), 0.001); // width = 3.25, height = 5.75 Shape r2 = new Rectangle(40, 60, 2, 3); asssertEquals(6.0, r.getArea(), 0.1); }}public class Point { // Use this type private int xPos; private int yPos; public Point(int x, int y) { xPos = x; yPos = y; } public int getX() { return xPos; } public int getY() { return yPos; }}public class Rectangle { private Point upperLeft; private double width; private double height; public Rectangle(int x, int y, double height, double width) { upperLeft = new Point(x, y); width = width; height = height; } public int getX() { return upperLeft.getX(); } public int getY() { return upperLeft.getY(); } public double getArea() { return width * height; }}public class Circle { private Point upperLeft; private double radius; public Circle(int x, int y, double diameter) { upperLeft = new Point(x,y); radius = diameter / 2; } public int getX() { return upperLeft.getX(); } public int getY() { return upperLeft.getY(); } public double getArea() { return Math.PI*Math.pow(radius, 2); }}Using good Object-Oriented Design, completely implement the hierarchy here 14. The Observer Design Pattern question from section on 29- or 30-Sep on the new Sections Page added to the left column from our WebSite (28pts)... This question intentionally omitted as it was handed out in section and it is on our Web site ...15. The UofA Bookstore has decided that there is just too much traffic in the bookstore at the beginning of each semester. In an effort to reduce in-house traffic, the bookstore has decided to implement an online storefront where students can purchase all of their books online and just pick them up sometime after they’ve been purchased. You are to do some analysis and come up with a model for the bookstore’s new online front. Details:A student may remove 1 to many items from the shelf and place them into a shopping basketA student should be able to remove items from a shopping basket and place them back on the shelfA student should be able to purchase the items in their shopping basketTo check out, a student must give their shopping basket to the cashier (there is only one cashier)The cashier creates an order that consists of a item, quantity, and a price based on the item’s ISBNIf the CatCard has enough money then the total amount will be deducted and the items will be removed from inventory, a claim check confirmation for the order will be sent to the student’s email addressIf the CatCard funds are insufficient, place all back on the shelfCreate a list of the five most important objects to model this system along with the major responsibility: (10pts)Candidate Object Major Responsibility16. Draw a UML class diagram showing all of your candidate objects and any relationships between them. Show inheritance relationships, interface implementation, or general association such as dependency by drawing a line. Write any multiplicity adornment you can think of. You will likely have 1, and or * in a few places at least. Each classes needs the class name and at least one appropriate method (no attributes needed for a perfect score). (12pts)17. For letter i..j, write the return value of for each or write COMPILETIME if the code would cause an error at compile time, or RUNTIME if the code compiles but would generate an error at runtime. (20pts)class First { public String method2() { return "First2"; } public String method3() { return method2(); }}class Second extends First { public String method2() { return "Second2"; }}class Third extends Second { public String method1() { return "Third1 " + super.method2(); } public String method2() { return "Third2"; }}class Fourth extends First { public String method1() { return "Fourth1"; } public String method2() { return "Fourth2"; }} First var1 = new Second(); First var2 = new Third(); Second var3 = new Third(); Object var4 = new Fourth(); Object var5 = new Second();Write return values such as Fourth2, (no " " needed) or write COMPILETIME or RUNTIME if an error would occur.var1.method2(); ______________________var4.method2(); ______________________var6.method2(); ______________________var2.method3(); ______________________var4.method3(); ______________________var6.method3(); ______________________((Third)var4).method1(); ____________________((Third)var4).method1(); ____________________((Second)var5).method2(); ____________________((Third)var5).method1(); ____________________ ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download