Why do i get NullPointerExeption

Discussion in 'Plugin Development' started by rob4001, Aug 2, 2011.

Thread Status:
Not open for further replies.
  1. I get this error


    Code:
    java.lang.NullPointerException
        at net.umc.Rob4001.sqljava.Residents.<init>(Residents.java:16)
        at net.umc.Rob4001.UmTowny.UmTowny.onEnable(UmTowny.java:48)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:126)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:857)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:264)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:151)
        at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:136)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:284)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:271)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:148)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    With this code

    Code:
        private final sqlCore data;
        private Resident[] ress;
        private int last;
    
        public Residents(sqlCore sql) {
            data = sql;
            last = 0;
    //THis line 16 \/
            ress[0]= new Resident("tester","test","owner");
            load();
        }
    
        public void load() {
            if (data.checkTable("res") == false) {
                data.createTable("CREATE TABLE res (id INT AUTO_INCREMENT PRIMARY_KEY, name VARCHAR(255), rank VARCHAR(255), town VARCHAR(255));");
            }
            String query = "SELECT * FROM res;";
            ResultSet rs = data.sqlQuery(query);
            try {
                while (rs.next()) {
                    String name = rs.getString("name");
                    ress[last] = new Resident(name,rs.getString("rank"),rs.getString("town"));
    
                    last += 1;
                }
            } catch (SQLException e) {
    
                e.printStackTrace();
            }
    
        }
    When the resident.java is

    Code:
    public class Resident {
    private final String name;
    private String town;
    private String rank;
    
    public Resident(String n,String Town,String rank){
        name = n.toLowerCase();
        this.town = Town;
        this.rank = rank;
    
    }
    
    public String getName() {
        return name;
    }
    
    public void setTown(String town) {
        this.town = town.toLowerCase();
    }
    
    public String getTown() {
        return town;
    }
    
    public void setRank(String rank) {
        this.rank = rank.toLowerCase();
    }
    
    public String getRank() {
        return rank;
    }
    
    }

    Why?
     
  2. Offline

    Nitnelave

    Are you sure it's your sqljava file that you posted? the one with the line 16?
     
  3. Offline

    nisovin

    Your ress[] array is not initialized. You should have something like this in there.
    Code:
    ress = new Resident[10];
    It might be easier for you to just use an ArrayList.
     
  4. Yes i am sure that is
    net.umc.Rob4001.sqljava.Residents.java

    so would i have to capp it or is there a way of making an unlimited one?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 18, 2016
  5. Offline

    nisovin

    Use an ArrayList.
     
  6. Could you provide a bit of code?
     
  7. Offline

    nisovin

    Code:
    ArrayList<Resident> ress = new ArrayList<Resident>();
    ...
    ress.add(new Resident("tester","test","owner"));
    
     
  8. Thank you very much :D
     
Thread Status:
Not open for further replies.

Share This Page