Yeah, I'm having trouble with this. I've got a program set up to read an external file, divide it into substrings, and put it into an array. The code of the class that does that part is:
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class MapScreen
{
public int screenAt;
FileReader path;
BufferedReader reader;
String[][] map = new String[21][10];
public MapScreen(int startPoint)
{
try
{
path = new FileReader("Map.txt");
reader = new BufferedReader(path);
}
catch (IOException ex)
{
Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
}
String failString = new String();
int j;
int i;
int start;
int end;
for (i = 0; i < startPoint; i++)
try
{
failString = reader.readLine();
}
catch (IOException ex)
{
Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
}
screenAt = i;
for (i = 0; i < 21; i++)
{
try
{
failString = reader.readLine();
}
catch (IOException ex)
{
Logger.getLogger(Interface.class.getName()).log(Level.SEVERE, null, ex);
}
start = 1;
for (j = (screenAt + i) % 2; j < 10; j += 2)
{
end = failString.indexOf(',', start);
map[i][j] = failString.substring(start, end);
start = end + 1;
}
}
}
public String tileAt(int x, int y)
{
return map[x][y];
}
}
When I run it, it returns "Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException", then a huge string of lines of where it's calling from, the first of those being "at MapScreen.<init>(MapScreen.java:50)"
The Map.txt file contains:
cloudsky,grassky,grass,grass,grass,
sky,grass,grass,grass,grass,
cloudsky,grassky,tree,grass,grass,
sky,grass,grass,grass,grass,
cloudsky,grassky,grass,grass,grass,
sky,grass,grass,grass,grass,
cloudsky,grassky,grass,grass,grass,
sky,grass,grass,grass,grass,
cloudsky,grassky,grass,grass,grass,
sky,grass,grass,tree,grass,
cloudsky,grassky,grass,grass,grass,
sky,grass,grass,grass,grass,
cloudsky,grassky,tree,grass,grass,
sky,grass,grass,grass,grass,
cloudsky,grassky,grass,grass,grass,
sky,grass,grass,grass,grass,
cloudsky,grassky,grass,grass,grass,
sky,grass,grass,grass,grass,
cloudsky,grassky,grass,grass,grass,
sky,grass,grass,tree,grass,
I've tried a few things and I can't figure it out by myself. What did I mess up?