18. september 2003 - 14:54Der er
30 kommentarer og 1 løsning
(Cast) i return statements.
Kære eksperter,
I nedenstående program ønsker jeg, i metoden leadsTo(,) at returnere hvilket rum der er tale om. Når jeg gør det som jeg gør får jeg et objekt ud i stedet.
import java.util.*;
/** * Room... * * @author Michael E. Caspersen * @version 26 March 2003 */ public class Room {
private List rooms; private Collection items; private String name;
/** * rooms is a 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 * * items is a collection with references to the items in the room * * name is the name of the room (useful for testing) */
public Room(String name) { rooms = new ArrayList(4); for (int i = 0; i<4; i++) { rooms.add(i, null); } items = new ArrayList(); this.name = name; }
/** * Connects the room to room <code>r</code> in direction <code>dir</code> */ public void connectTo(int dir, Room r) { rooms.set(dir, r); }
/** * Returns whether there is a room in direction <code>dir</code> from this room */ public boolean roomExists(int dir) {
/** * Returns the room connected to this room in direction <code>dir</code> */
public Room leadsTo(int dir) {
Room a = "I retning " + dir + " er rummet" + (String)rooms.get(dir); return a; }
/** * Adds item <code>i</code> to the room */ public void addItem(Item i) { items.add(this); }
/** * Return whether there are any items in this room */ public boolean itemExists() {
if (items.size()>0) { return true; } else { return false; } } /** * Return an Item chosen randomly among all items in the room */ public Item chooseItem() {
return null; // kun indsat for at tilfredsstille oversætteren }
/** * Removes item <code>i</code> from the room */ public void removeItem(Item i) { items.remove(this); }
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
public class Driver { private Room Køkken;//class scope dvs kan bruges i helke klassen private Room Stue;
public void test() { Room køkken = new Room("Køkken");//method scope dvs kan kun bruges i metoden Room stue = new Room("Stue"); køkken.connectTo(1,Stue); køkken.leadsTo(1); }
Det vil kompile men Køkken og Stue vil kun være initialiserede inden i test() metoden. Hvis du vil initialisere dine class-variable skal du erstatte Room Køkken = new Room("Køkken"); med this.Køkken = new Room("Køkken"); og det samme for Stue.
public class Driver { private Room Køkken; private Room Stue;
public void test() { this.Køkken = new Room("Køkken"); this.Stue = new Room("Stue"); Køkken.connectTo(1,Stue); System.out.println(Køkken.strLeadsTo(1)); }
} Det er i øvrigt ikke standard at bruge stort begyndelsesbogstav til varible
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.