Я создаю функцию для чтения лабиринта из файла файла, содержащего размер лабиринта [строка], [col], [Entrypoint_row], [EntryPoint_Col], [ExitPoint_row] [ExitPoint_Col], а затем лабиринты данныеЗаполнение данных из текстового файла в массив char в java
В настоящее время файл есть данные, такие как
общественной ничтожной readMaze() бросает FileNotFoundException {
/используются для хранения точек входа и точки выхода
int EntryPoints[]=new int[2];
int ExitPoints[]=new int[2];
try
{
String line="";
FileReader fr=new FileReader("maze.txt");
BufferedReader br=new BufferedReader(fr);
- считывание данных в линии в виде строки
- разделить строку переменной строки на массив символов обр
получить данные от arr до объявленных переменных
line=br.readLine(); String arr[]=line.split(" "); row=Integer.parseInt(arr[0]); col=Integer.parseInt(arr[1]); this.AllocateMaze(row, col); //allocating size of maze row and col from file EntryPoints[0]=Integer.parseInt(arr[2]); EntryPoints[1]=Integer.parseInt(arr[3]); ExitPoints[0]=Integer.parseInt(arr[4]); ExitPoints[1]=Integer.parseInt(arr[5]); System.out.println("row :"+row+"col :"+col); System.out.println("exit points :"+EntryPoints[0]+" : "+EntryPoints[1]); System.out.println("exit points :"+ExitPoints[0]+" : "+ExitPoints[1]); int i=0,k=0; boolean flag=true;
Populating лабиринт [] [] с данными в файл полукокс по полукоксу
while(!(line=br.readLine()).equals(null)) { k=0; for(int j=0;j<row;j++) {
Здесь я получил массив OUTOF занного исключения при г = 8, J = 8, почему в том, что я не могу найти способ чтобы справиться с этим нужна помощь
maze[i][j]=String.valueOf(line.charAt(k));//here k++; } i++; } } catch(Exception e) { e.printStackTrace(); }
}
да это была ошибка, но улица я получил нулевой указатель за исключением ** в то время как (! (line = br.readLine()). equals (null)) ** есть ли какие-либо проблемы в этой строке? – striker
Да, есть проблема. Вы не можете сравнить значение null с 'equals', потому что ваше значение равно null, поэтому вы получаете NPE. Просто используйте while (! ((Line = br.readLine()) == null)) –
Это работало ** while ((line = br.readLine())! = Null) ** thanks alot **:) * * – striker