Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Exception in thread "main" java.util.NoSuchElementException

Pessoal, boa noite! Ajuda!!!! Estava lendo sobre a Classe Scanner. Incrementei um pouco o exemplo do Javadoc, o programa funcionou, porém, está gerando erro. Poderiam me ajudar?

import java.io.*;
import java.util.*;

public class TesteScanner{
    public static void main(String[] args) throws IOException {

        String input = "3 x1 4 x1 tiago x1 fernandes x1 moraes x1\n5 x1 6 x1 luiz x1 fernandes x1 moraes x1";
        Scanner s = new Scanner(input).useDelimiter("\\s*x1\\s*");;

         PrintStream ps = new PrintStream("saida.txt");

          while (s.hasNextLine()) {

              ps.println(s.nextInt());
              ps.println(s.nextInt());
              ps.println(s.next());
              ps.println(s.next());
              ps.println(s.next());
          }
          s.close();
          ps.close();
    }
}

Erro:

Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.nextInt(Scanner.java:2076) at TesteScanner.main(TesteScanner.java:31)

2 respostas
solução!

Opa, o problema é que você chama o next várias vezes dentro do loop :). Chama uma vez só, guarda o retorno numa variável e aí usa ela.

Obrigado!