Boa noite rapaziada.
Preciso de ajuda para terminar o código abaixo, nele tenho que mostrar a quantidade de prioridades, por exemplo, se eu tenho dois caracteres ‘a’ , ‘b’ e ambos têm prioridade = 1 logo, na prioridade nível 1 tenho 2 caracteres. O problema acontece quando tento imprimir a última prioridade da fila, pois ela nunca aparece.
A saída fica 1:2, enquanto era pra ser 1:2, 2:1 (sendo o número antes dos dois pontos a prioridade e depois dos dois pontos a quantidade), quem puder me ajudar agradeço já estou tentando a horas e deve ser a coisa mais simples do mundo ou quase.
FilaP.java
protected void mostraQuantPriorid() {
int p = this.inicio.getPrioridade(), c = 0;
for (No n = this.inicio; n != null; n = n.getProx()) {
if (p == n.getPrioridade()) {
c++;
} else {
System.out.print(p + ": " + c + ", ");
p = n.getPrioridade();
c = 1;
}
}
}
Main.java FilaP fp = new FilaP();
fp.inserirP(1, 'a');
fp.inserirP(1, 'b');
fp.inserirP(2, 'c');
fp.mostraQuantPriorid();
obs: getProx() = retorna um nó, cada nó é composto por um int que indica a prioridade e um Object para qualquer valor no meu caso char.