这里是处理,我需要从.txt文件中填充数组。我心中已经使用的扫描仪类读取每一行,并从INTS得到一个位置存储阵列中的令牌:从.txt填充数组时出现NullPointerException
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Scanner;
public class Aplicacion {
static Elemento _tablero[][] = new Elemento[8][8];
public static Elemento[][] Leertxt() throws FileNotFoundException,IOException
{
Scanner sc = new Scanner(new File("C:/Users/Owner/Documents/UNIMET/Trimestre 5/Estructura de Datos/Proyecto 1a/src/inicio.txt"));
while(sc.hasNext())
{
String ln = sc.next();
if (ln.equals("Pared"))
{
int i = sc.nextInt();
int j = sc.nextInt();
_tablero[i][j] = new Pared(i,j);//crea una pared nueva
}
else if (ln.equals("Fantasma"))
{
int i = sc.nextInt();
int j = sc.nextInt();
_tablero[i][j] = new Fantasma(i,j);//crea un fantasma nuevo
}
else if (ln.equals("Vacio"))
{
int i = sc.nextInt();
int j = sc.nextInt();
_tablero[i][j] = new Vacio(i,j); //crea un vacio
}
}
for(int i=0; i<_tablero.length;i++)
{
for(int j=0;j<_tablero.length;j++)
{
if (_tablero[i][j] instanceof Vacio)
{
_tablero[i][j] = null;
_tablero[i][j] = new Punto(i,j);
}
}
} return _tablero;
}
public void mostrar() throws FileNotFoundException, IOException
{ Elemento[][] tab = Leertxt();
for (int i = 0; i < tab.length; i++)
{ for(int j = 0;j < tab.length; j++)
{
System.out.print(" "+ tab[i][j].mostrar();
}
System.out.println();//salto de linea
}
}
它编译,没有错误,但是当我跑我最终得到
Exception in thread "main" java.lang.NullPointerException
at Aplicacion.mostrar(Aplicacion.java:73)
at JuegoPacman.main(JuegoPacman.java:27)
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)
我不明白它从哪儿得到的线73 的NullPointerException异常的mostrar方法是在Elemento的类的抽象方法,它只是打印一个符号...任何帮助,将愉快地接受
是什么在线73? – Thilo 2012-02-13 05:12:16
'mostrar()'中只有一个取消引用... ...你几乎可以从中推断出行号;) – 2012-02-13 05:28:23