Olá. Estou estudando a classe scanner e me deparei com o seguinte problema.
Tenho uma única classe onde criei o construtor e a main para chama-lo. O objetivo do código é pedir duas informações ao usuário e depois mostrar na tela.
Ao executar o codigo ele funciona corretamente na primeira chamado do metodo AgcC, mas dá erro ao executar na segunda vez. Qual o mistério?
import java.util.Scanner;
public class scanner {
private static int agenciaM ;
private static int ccM ;
public static void main(String[] args) {
AgCc ();
System. out .println("Agencia / Conta: " + agenciaM + " / " + ccM );
AgCc ();
System. out .println("Agencia / Conta: " + agenciaM + " / " + ccM );
}
public static void AgCc() {
Scanner s1 = new Scanner(System. in );
System. out .println("Digite o numero da agencia: ");
agenciaM = s1.nextInt();
System. out .println("Digite o numero da conta corrente: ");
ccM = s1.nextInt();
s1.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 scanner.AgCc(scanner.java:20)
at scanner.main(scanner.java:13)