Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

I denne oppgaven tar vi utgangspunkt i et StringGrid-grensesnitt som definerer metodene til et rutenett som holder strenger. Et rutenett som holder strenger  er firkantet og består av et antall rader og kolonner. Det skal være mulig å spørre rutenettet hvilken streng som er på angitt rad og kolonne i tillegg til å endre strengen på angitt rad og kolonne. Denne oppførselen er oppsummert i det definerte StringGrid-grensesnittet under:

Code Block
package interfaces;

public interface StringGrid extends Iterable<String> {

	public int getRowCount();
	public int getColumnCount();

	public String getElement(int row, int column);
	public void setElement(int row, int column, String element);
}

 

har et navn (String) bestående av fornavn ("given name") og etternavn ("family name"). 

 

- Grid - generelt grensesnitt (og implementasjon) for rutenett og iterator over elementene

 

Legg merke til at StringGrid-grensesnittet arver (extends) fra Iterable<T>-klassen hvilket betyr at det skal være mulig å iterere over klassen ved å spørre Iterator-objektet om neste streng i rutenettet.

Del 1 - StringGrid-grensesnitt og implementerende StringGridImpl-klasse

  Lag en StringGridImpl-klasse som implementerer StringGrid-grensesnittet.

-- De får utdelt GridImpl<T> og skal selv definere Grid<T>-grensesnittet og endre GridImpl så den implementerer Grid<T> (dersom vi tror bruk av generics forvirrer dem, så låser vi det til String, men da må testen oppdateres)

 

 

Del 2 -

...

StringGridIterator-klasse

 

-- GridIterator<T> implementerer en Iterator<T> over alle elementene. Klassen kan konfigureres slik at den kan itererer bortover først (rowMajor=true) eller nedover først (rowMajor=false).


...