Ola, Primeiro post aqui, desculpem qualquer coisa mas aqui esta.
Dei uma olhadanos noutros posts mas nao consequi resolver esse erro.
Compila beleza mas quando executo usando o “w” e “h” do metodo “read” naum funcione e recebo erro:
“Exception in thread “main” java.lang.ArrayIndexOutOfBoundsException: 0”
mas se seto “w” e “h” em “main” executa tambem beleza, o erro provavelmente esta no metodo “read” mas naum consigo achar, por favor ajudem me… :lol:
[code]
import java.io.;
import java.util.;
public class MazeFirst
{
static int h, w;
static Random fill = new Random();
public static void displayArray(int[][] array, int h, int w) //mostra a array
{
for(int j = 0; j < h; j++)
{
{
for(int y = 0; y < w; y++)
{
System.out.print(array[j][y] + " ");
}
System.out.println("\n");
}
}
}
public static void wallFilling(int[][] array, int h, int w) //preenche a array com zeros
{
for(int j = 0; j < h; j++)
{
for(int y = 0; y < w; y++)
{
array[j][y] = 0;
//System.out.println(array[j][y] + " ");
}
}
}
static public void read() // ******leio aqui*****erro provavelmente aqui
{
try{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("MAZEFILE.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read first line
w = Integer.parseInt(br.readLine()); // ******tudo parece estar blz
h = Integer.parseInt(br.readLine());
//Read File Line By Line
while ((strLine = br.readLine()) != null)
{
// Print the content on the console
System.out.println (strLine);
}
//Close the input stream
//in.close();
}
catch (Exception e)
{//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
}
public static void main(String args[])
{
// w =50;
// h =50;
int[][] a = new int[h][w];
//draw();
read(); // Leio de um arguivo contendo apenas 2 linhas(50, 50)
wallFilling(a, h,w);
displayArray(a, h, w);
System.out.println(" Width = "+w+" Height = " + h);
}
}[/code]