Hejså Jeg er ikke så god til Java. Er der nogen der kan fortælle mig, hvordan jeg implementere de manglende metode i den følgende klasse.
import java.util.*;
/** * Visitor modellerer en besøgende, der kan * gå rundt i rum og samle genstande op. * * * @version 26 september 2004 */ public class Visitor { private String name; private Room location; private List items;
/** * Konstruktør for Visitor-objekter * @param name Navnet på den besøgende * @param r Rummet, som den besøgende starter i */ public Visitor(String name, Room r) {
}
/** * Returnerer rummet, hvor den besøgende befinder sig * @return Rummet, hvor den besøgende befinder sig */ public Room getLocation() { return location; }
/** * Flytter den besøgende i retning <code>dir</code> * @param dir Retningen, som den besøgende går i */ public void move(int dir) {
}
/** * Den besøgende samler genstand <code>i</code> op, som bliver * fjernet fra det rum, som den besøgende befinder sig i * @param i Genstanden, som den besøgende samler op */ public void pickUp(Item i) { items.add(i); location.removeItem(i); System.out.println(name + " picks up " + i.getName()); }
I et inbound callcenter, hvor identiteten på den, der ringer ind, skal bekræftes, kan kontrollen nu foregå i telefonkøen. Det understøtter fem centrale KPI'er for callcentre.
Slettet bruger
14. oktober 2004 - 20:54#1
Istedet for at gi' dig løsningen vil jeg hellere give dig tilstrækkeligt inspiration, således du kan løse opgaven (og blive bedre til java) på egen hånd.
Koden som mangler i Constructor'en skal tildele parametrene variablerne name og r til variablerne name og location.
Metoden move kan jeg desværre ikke helt gennemskue hvad skal gøre med, men jeg vil gætte på at du skal manipulere (ændre værdier) i location-variablen.
Tak, Jeg har prøvet, men kan ikke få den til at virke. Kan du ikke fortælle hvordan man gør det?
Synes godt om
Slettet bruger
14. oktober 2004 - 21:20#3
Okay, men det er ikke med min goe' vilje.
/** * Konstruktør for Visitor-objekter * @param name Navnet på den besøgende * @param r Rummet, som den besøgende starter i */ public Visitor(String name, Room r) { this.name = name; this.location = r;
}
Skal rettes til:
/** * Konstruktør for Visitor-objekter * @param name Navnet på den besøgende * @param r Rummet, som den besøgende starter i */ public Visitor(String name, Room r) {
}
Har du koden til Room-klassen liggende, foruden den er jeg ikke sikker på at jeg kan gøre metoden move færdig....
Synes godt om
Slettet bruger
14. oktober 2004 - 21:21#4
Oooops...
Det var lige omvendt... Men du kan nok se forskellen på de to Contructor'e
import java.util.*; import java.util.Random; import java.util.ArrayList; /** * Room modellerer et rum, der har forbindelse til en række andre rum * og som kan indehold genstande og besøgende. * * * @version 26 september 2004 */
/** * rooms is an list of length 4 where * rooms.get(0) refers to the room in direction EAST * rooms.get(1) refers to the room in direction NORTH * rooms.get(2) refers to the room in direction WEST * rooms.get(3) refers to the room in direction SOUTH */
public class Room { private List rooms; private List items; private String name; private Random randomGenerator;
/** * Konstruktør for et rum * @param name Navnet på rummet */
public Room(String name) { rooms = new ArrayList(); for (int i = 0; i < 4; i++) { rooms.add(i,null); } items = new ArrayList(); randomGenerator = new Random();
this.name = name;
}
/** * Forbinder dette rum til rum <code>r</code> i retning <code>dir</code> * og laver også forbindelsen den anden vej * @param dir Retningen, som det andet rum ligger i * @param r Det andet rum */
public void connectTo(int dir, Room r) { //først sættes retning og navn for det pågældende rum: rooms.set(dir,r); //efter at dette er sat, sættes det modsatrettede rum for dette rum: r.rooms.set(Direction.oppositeDir(dir),this); }
/** * Returnerer om hvorvidt der er et rum i * retning <code>dir</code> fra dette rum * @param dir Retningen, hvortil vi tjekker om der er forbindelse * @return Om der findes et rum i retning <code>dir</code> fra dette */ public boolean roomExists(int dir) { return (rooms.get(dir)!=null); }
/** * Returner rummet forbundet til dette rum i retning <code>dir</code> * @param dir Retningen, som vi vil vide hvilket rum der er i * @return Rummet i retning <code>dir</code> */
public Room leadTo(int dir) { return (Room) rooms.get(dir); }
/** * Tilføjer genstanden <code>i</code> til rummet * @param i Genstanden, der skal tilføjes til rummet */ public void addItem(Item i) { items.add(i); }
/** * Returner hvorvidt der er genstande i rummet * @return Om der er genstande i rummet */ public boolean itemExists() { if (items.isEmpty()) return false; else return true; }
/** * Returner en tilfældig af genstandene i rummet * @return En tilfældig genstand fra rummet */
public Item chooseItem() { int index = randomGenerator.nextInt(items.size()); return (Item)items.get(index); }
public void removeItem(Item i) { items.remove(i); }
public boolean haveItem() { return (items.size() > 0); }
}
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.