O código em java não está lendo o arquivo txt

4 respostas
P

Olá pessoal, estou com o código em java abaixo que não está lendo o arquivo txt, ocorre uma exceção. O arquivo contém as strings: criacao, cadeira, mesa, armario, praia.
Alguém tem ideia do que possa estar ocorrendo? Pelo que já li por aqui a posição da informação no arquivo pode estar influenciando mas não consegui descobrir até agora.

Exception in thread main java.lang.NumberFormatException: For input string: "criacao"

at java.lang.NumberFormatException.forInputString(Unknown Source)

at java.lang.Integer.parseInt(Unknown Source)

at java.lang.Integer.parseInt(Unknown Source)

at implementacao.FlaviusJosephus.main(FlaviusJosephus.java:18)

package implementacao;

import <a href="http://java.io">java.io</a>.*;

public class FlaviusJosephus

{

public static void main (String[] args)

throws IOException

{

File file = new File(C:/Users/lista.txt);

@SuppressWarnings(resource)

BufferedReader in = new BufferedReader(new FileReader(file));

String line;
while ((line = in.readLine()) != null) {
        line = line.trim();
        String[] split = line.split(", ");

        int total = Integer.parseInt(split[0]);
        int next = Integer.parseInt(split[1]);

        boolean[] killed = new boolean[total];

        int current = 0;
        for (int i = 0; i < total; i++) {
            int count = 0;

            while (true) {
                if (!killed[current]) {
                    count++;

                    if (count == next) {
                        break;
                    }
                }

                current++;
                current %= total;
            }

            killed[current] = true;
            System.out.print(current);

            if (i+1 != total) {
                System.out.print(" ");
            }
        }

        System.out.println();
    }
}

4 Respostas

staroski

Você está fazendo um Integer.parseInt("criacao")

P

Pois é, nessa linha preciso extrair o total de elementos da lista e não estou sabendo como fazer.
Usei o lenght() de algumas formas mas sem sucesso.

H

Se você quer saber a quantidade de caracteres então você ta fazendo errado, seria
int total = split[0].length;

staroski

Posta algumas linhas do arquivo que você está lendo

Criado 20 de abril de 2018
Ultima resposta 21 de abr. de 2018
Respostas 4
Participantes 3