Eai galera. To com um problemão aqui, to brigando com um Scanner do java há semanas e não consigo resolver meu problema… Bateu o desespero e vim aqui 
Esse é o código:
public static void atribuicao (double[][] f, String[] g) {
for (int x = 0; x < g.length; x++) {
Scanner sc = new Scanner(System.in).useLocale(Locale.US);
g[x] = sc.nextLine();
for (int y = 0; y < 14; y++) {
f[x][y] = sc.nextDouble(); // Insere os pesos de cada criterio para avaliação
}
}
}
Senta que lá vem história… Meu programa todo mesmo tem 94 linhas. Ele funciona perfeitamente, eu compilo e executo, insiro as entradas manualmente e sucesso. Porém quando eu uso como entrada um arquivo txt, pelo comando java Main <entrada.txt ele da o erro:
Exception in thread “main” java.util.NoSuchElementException: No line found
-
at java.util.Scanner.nextLine(Unknown Source)* -
at EpTeste.atribuicao(EpTeste.java:66)* -
at EpTeste.main(EpTeste.java:17)* // Aqui é a linha onde eu invoquei o método
Se eu utilizo um if (sc.hasNextLine()) {} ele simplesmente me retorna false e nem executa a linha 66 e acontece um erro diferente, dessa vez na linha 69, problema na leitura do double:
Exception in thread “main” java.util.NoSuchElementException
-
at java.util.Scanner.throwFor(Unknown Source)* -
at java.util.Scanner.next(Unknown Source)* -
at java.util.Scanner.nextDouble(Unknown Source)* -
at EpTeste.atribuicao(EpTeste.java:69)* -
at EpTeste.main(EpTeste.java:17)*
Já tentei bastante coisa pra resolver esse segundo problema, como por exemplo ler o double como String, mas mesmo assim da problema. Vou ficar mt feliz se alguém me ajudar =)
Obrigado!