Pessoal, meu problema é o seguinte: Tenho um algoritmo onde tenho que achar o número de pares que botas de destintos tamanhos e pés formam.
Por exemplo:
40 E
41 D
40 D
41 E
Tenho 4 pés que formam dois pares.
Tenho diversas entradas no programa, e gostaria de saber como sair de um loop quando não tiver mais entradas. Tentei usar o nextLine() do Scanner, ele pega o próximo elemento, repete tudo de novo, mas quando não tem próximo elemento, ele fica pedindo mesmo assim e o programa não sai do loop.
Segue o código:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n;
String nAux = in.next();
int cont = 0;
String saida = "";
boolean acabou = true;
while (acabou) {
n = Integer.parseInt(nAux);
int botasE[] = new int[61];
int botasD[] = new int[61];
for (int i = 0; i < n; i++) {
int m = in.nextInt();
char c = in.next().charAt(0);
if (c == 'D')
botasD[m] += 1;
else
botasE[m] += 1;
}
for (int j = 30; j <= 60; j++) {
if (botasD[j] < botasE[j])
cont += botasD[j];
else
cont += botasE[j];
}
saida += cont + "\n";
if (in.nextLine() != null) //Aqui é onde verifico se existe alguma coisa na próxima linha.
{
nAux = in.nextLine();
} else {
acabou = false;
}
cont = 0;
}
System.out.println(saida);
}
}