RISOLTO -- FUNZIONA
import java.util.Scanner;
public class CicloEs14 {
public static void main(String[] args) {
/*
* Si scriva un programma che legge un elenco di voti ottenuti durante un esame come interi
* da 0 a 30. si mostri il numero totale di voti e il numero di voti in ciascuna delle seguenti
* categorie: ottimo (voti 29 e 30), distinto (voti da 26 a 28), buono (voti da 23 a 25), discreto
* (voti da 20 a 22), sufficiente (voti 18 e 19), insufficiente (voti da 0 a 17). si usi un numero
* negativo per indicare la fine dell'inserimento.
*
* l'input fosse:
* 0 2 17 18 20 22
*
* output fosse:
* numero totale di voti:11
* numero di ottimi: 2
* numero di distinti: 2
* numero di buoni: 2
* numero di disceti: 2
* numero di sufficienti: 2
* numero di insufficienti: 2
*
*/
/*Il while(voti <= n) non ha senso (perché voti lo usi dopo anche per ricevere il voto i-esimo.
* Usa un ciclo for, da 0 per i<n (o 1 per i<=n).Usa una variabile specifica solo per il voto i-esimo
* (che può anche definita nel ciclo), chiamala voto, non voti.I confronti dei range sono ok.
* Il if(n < 0){ non serve. Quando il for è terminato ... sai che è finito l'input e quindi stampi
* i risultati.*/
int n = 0, voto = 0, cont = 0, ottimo = 0, distinti = 0,buoni = 0,discreti = 0,sufficienti = 0,insufficienti = 0;
Scanner in = new Scanner(System.in);
System.out.println("Quanti voti vuoi inserire: ");
n = in.nextInt();
for(int i = 1; i <= n; i++){
System.out.println("inserisci voti: ");
voto = in.nextInt();
if((voto >= 29) && (voto <= 30)){
ottimo++;
}
else if((voto >=26) && (voto <= 28)){
distinti++;
}
else if((voto >= 23) && (voto <= 25)){
buoni++;
}
else if((voto >= 20) && (voto <= 22)){
discreti++;
}
else if((voto >= 18) && (voto <= 19)){
sufficienti++;
}
else if((voto >= 0) && (voto <= 17)){
insufficienti++;
}
else
System.out.println("Terminato!!!");
}
System.out.println("numero totali di voti: " + n);
System.out.println("numero di ottimi: " + ottimo);
System.out.println("numero di distinti: " + distinti);
System.out.println("numero di buoni: " + buoni);
System.out.println("numero di discreti: " + discreti);
System.out.println("numero di sufficienti: " + sufficienti);
System.out.println("numero di insufficienti: " + insufficienti);
}
}