Ajuda com Classes, qual devo usar para solucionar esse problema?

4 respostas
L

o arquivo esta em .txt , terei que ler esse arquivo e criar uma matriz a partir dele . queria saber qual classe devo usar e uma breve explicaçao dela se possivel ainda estou iniciando na programaçao ?

Carregar uma matriz de Boolean por meio de um arquivo de configuração externo formatado de acordo com
exemplo abaixo:
0 1 2 3 4 5
0 | | |X|X|X|X|
1 |X| |X|X|X|X|
2 |X| | |X|X|X|
3 |X|X| |.| |X|
4 |X|X| |X| | |
5 |X|X| |X|X|X|
6 |X|X|X|X|X|X|
Obs.: os caracteres ?X? indicam parede e ? ? espaço livre, enquanto que ?.? informa a posição de partida.

4 Respostas

Brainiac.jar

Explica melhor isso ai, você quer gerar uma matriz Boolean com valores a partir deste arquivo ? Ok, então o X representaria true e vazio false?

J

Cara… por cima… para resolver esse seu problema você teria que ler o arquivo File / BufferedReader… depois processar os caracteres de acordo com sua nescessidade, mas sinceramente não entendi nada do que vc quer fazer… seja mais claro em sua descrição…
Abrass

L
Assim eu vo ler o arquivo de texto no qual tem aquela matriz acima , onde tem X == false , espaço vazio == true ,o zero representa o ponto inicial , eu ja criei a parte de leitura do arquivo segue abaixo o codigo. Preciso agora de uma classe que leia as linhas e me devolva um vetor ou uma matriz acho que a classe split faz isso mas nao sei como utilizala .
import com.sun.corba.se.impl.resolver.SplitLocalResolverImpl;
import java.io.*;

public class Arquivo {

    /**
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        escreverArquivo();
        lerArquivo();
    }

    private static void escreverArquivo() throws IOException {
        FileWriter fileWriter =
                new FileWriter("d:\\teste.txt", false);
        BufferedWriter buffer = new BufferedWriter(fileWriter);

        buffer.write("Conteúdo do arquivo:");
        buffer.newLine();
        buffer.write("bla bla bla");

        buffer.close();
    }

    private static void lerArquivo() throws IOException {
        FileReader fileReader = new FileReader("B:\\Downloads\\refontesexercciodolabirinto\\configuracaoLabirinto.txt");
        BufferedReader buffer = new BufferedReader(fileReader);

        String linha = null;
        Integer numLinhas = 0;
        do {
            linha = buffer.readLine();
            if (linha != null) {
                System.out.println(linha);
                numLinhas++;
            }
        } while (linha != null);

        System.out.println(String.format("\nNúmero de linhas: %d", numLinhas));
        String[] vet = linha.split("| |");
        buffer.close();
        System.out.println(vet);
    }

}
Brainiac.jar

O método split funciona da seguinte forma, você informa qual é o caracter separador, então a cada vez que ele encontra esse caracter, ele separa o texto em 2, 3, 4… 1 milhão de partes, dependendo da quantidade de | que tiver seu texto.

Tente o seguinte, tire um | do argumento, e deixe como abaixo:

String[] vet = linha.split("|");

Desta forma ele vai guardar em cada posição de vet um X, um espaço vazio, ou um ponto . Ignorando o |, pois é o separador

Criado 2 de março de 2013
Ultima resposta 2 de mar. de 2013
Respostas 4
Participantes 3