Der kommer en nullpointer-exception i følgende linje af mit program: public void pickUp(Item i) { int p = randomGenerator.nextInt(); if(location.itemExists() == true) { location.removeItem(i); items.add(i); // <----- } else { System.out.println("The Item is not in the Room."); } } hvilket nok betyder, at items er null.
Det er lidt noget pis, men det har jeg allerede skrevet... :-/
Her er hele klassens kode:
import java.util.*; /** * Room laver et rum, med forbindelse til andre rum * - kan indeholde genstande og besøgende. */ public class Room { //Fields private List rooms; private ArrayList items; private String name; private Random randomGenerator=new Random(); //Constructor. /** * 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 */
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; } //Method public void connectTo(int dir, Room r) {rooms.set(dir, r);} //Method public boolean roomExists(int dir) { return rooms.get(dir) != null; } //Method public Room leadTo(int dir) {return (Room)rooms.get(dir);} //Method public void addItem(Item i) {items.add(i);} //Method public boolean itemExists() { if (items.size()>0) { return true; } else { return false; } } //Method public Item chooseItem() {int itemsSize = items.size(); int p = randomGenerator.nextInt(); return (Item) items.get(itemsSize); } //Method public void removeItem(Item i) {System.out.println(items.remove(i) + " has been removed");}
//Den Nye Metode, som jeg er RET usikker på public void roomContains(Item i); {if(location.roomContains()== true){ System.out.println("The Item is in the Room."); }} //Method public String toString() {return this.name;}
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.