Aqui poderia ser simplesmente:
int qtdAlunos = horariosDeChegada.length;
Aliás, para que essa {
depois de declarar a variável? Não faz sentido abrir um novo bloco aí.
E os contadores podem ser incrementandos no mesmo loop:
int noHorario = 0, atrasados = 0;
for (int horario : horariosDeChegada) { // <-- o array é de int, então use int na variável "horario" também
if (horario >= 0) {
noHorario++;
} else {
atrasados++;
}
}
Se bem que você não está usando a variável noHorario
para nada, mas enfim…
E repare que os contadores podem ser int
, você só precisa converter para double
na hora de fazer o cálculo:
double percentual = (double) atrasados / qtdAlunos;
Ou seja, ficaria assim:
int[] horariosDeChegada = {-3, -2, 1, 0, 1, -2, 3, -1, 0, 5};
int qtdAlunos = horariosDeChegada.length;
int noHorario = 0, atrasados = 0;
for (int horario : horariosDeChegada) {
if (horario >= 0) {
noHorario++;
} else {
atrasados++;
}
}
double percentual = (double) atrasados / qtdAlunos;
if (percentual > 0.3) {
System.out.println("Aula Cancelada!!!");
} else {
System.out.println("Aula Normal");
}
Mas se não for usar a variável noHorario
, pode removê-la. A quantidade de alunos também me parece redundante (a não ser para deixar o código mais claro, mas dependendo do que for fazer, talvez não precise dela também). E na verdade nem o percentual precisaria (a menos que você vá usar esse valor depois, mas se for só para usar no if
e em nenhum outro lugar, poderia remover também).
Ou seja, também poderia ser:
int[] horariosDeChegada = {-3, -2, 1, 0, 1, -2, 3, -1, 0, 5};
int atrasados = 0;
for (int horario : horariosDeChegada) {
if (horario < 0) {
atrasados++;
}
}
if ((double) atrasados / horariosDeChegada.length > 0.3) {
System.out.println("Aula Cancelada!!!");
} else {
System.out.println("Aula Normal");
}
Obviamente que código menor não é necessariamente melhor. Ao eliminar a variável percentual
, pode ser que não fique tão claro o que o cálculo quer dizer, e aí valeria a pena ter esta variável (e ainda mudar o nome para percentualAtrasados
, por exemplo, para deixar mais claro o que ela significa).