1. > IntSeq u = new IntSeq(new int[] {1, -3, 5, -7, 4}); a) > u.m1() 35 b) > u.m2(u) 100 c) > u.m3() 12 d) > u.m4() 3 2. > I[] a = {new I("A", 2), new J("B", 2, .1), new K("C", 2, 10, .2)}; a) > a[0].m(15) 30.0 b) > a[1] BJ c) > a[1].m(15) 27.0 d) > a[2].m(15) 26.0 3. (a) Ticket t1 = new Ticket(); OK (b) t1.setCurrentPrice(10); OK (c) Ticket t2 = new Ticket(); OK (d) t1.getPrice() 5.0 (e) Ticket.revenue error (f) Ticket[] ts = new Ticket[10]; OK (g) for (int i = 0; i < 10; i++) ts[i] = new Ticket(); OK (h) Ticket.getIssued() 12 4. a) public void rotate() { if (size() < 2) return; int tmp = data[0]; for (int i = 1; i < size(); i++) data[i-1] = data[i]; data[size()-1] = tmp; } b) public void truncate(int pos) { int newSize = pos; int[] newData = new int[newSize]; for (int i = 0; i < newSize; i++) newData[i] = data[i]; data = newData; } c) public void splice(int from, int to, IntSeq mid) { int[] newData = new int[from + mid.size() + size() - to]; int j = 0; for (int i = 0; i < from; i++) newData[j++] = data[i]; for (int i = 0; i < mid.size(); i++) newData[j++] = mid.get(i); for (int i = to; i < size(); i++) newData[j++] = data[i]; data = newData; } 5. a) (i) normal (ii) error (iii) error (iv) normal b) public class Ring implements Displaceable, Area { private Circle inner, outer; public Ring(Point center, double radius, double width) { inner = new Circle(center, rad); outer = new Circle(center, rad + width); } public double getX() { return inner.getX(); } public double getY() { return inner.getY(); } public double getArea() { return outer.getArea() - inner.getArea(); } public void move(double dx, double dy) { inner.move(dx, dy); } }