Search
Zkonvertujte třídu CellArray na generickou třídu tak, aby (především typově) prošla níže uvedeným testem. Kód jejích metod neměňte.
CellArray
class CellArray { Cell first = new Cell(); Cell second = new Cell(); Cell third = new Cell(); void setA(Object a) { third.set(second.get()); second.set(first.get()); first.set(a); } Object getA() { return first.get(); } void setB(Object b) { third.set(second.get()); second.set(b); } Object getB() { return second.get(); } void setC(Object c) { third.set(c); } Object getC() { return third.get(); } } /** Test **/ import java.util.Random; class Cell<E> { E elem; Cell() {} void set(E e) { elem = e; } E get() { return elem; } } class Homework9Test { public static void main(String[] args) { Random rnd = new Random(); CellArray<Integer, Number, Object> ca = new CellArray<Integer, Number, Object>(); Integer i1 = rnd.nextInt(); Integer i2 = rnd.nextInt(); Integer i3 = rnd.nextInt(); ca.setA(i1); ca.setA(i2); ca.setA(i3); Object ii1 = ca.getC(); Number ii2 = ca.getB(); Integer ii3 = ca.getA(); assert i1.equals(ii1); assert i2.equals(ii2); assert i3.equals(ii3); } }
Do repozitáře do souboru homeworks/Homework9.java odevzdávejte třídu CellArray a případné další vámi naprogramované třídy. Neodevzdávejte třídu Cell ani Homework9Test. Termín odevzdání 3. 5. 1:59 ráno (čas podle serveru s repozitáři).
homeworks/Homework9.java
Cell
Homework9Test
~~DISCUSSION:closed~~