Domanda Esercizio in Java

insidethelollo98

Utente Iron
12 Gennaio 2021
5
3
0
9

Ragazzi sono alle prime armi con java e mi servirebbe una mano con il seguente esercizio:​

Scrivere un programma java che somma tutti i voti dati dall'utente e ne trova il massimo e il minimo. Termina quando il voto dato è zero​

 
Ultima modifica da un moderatore:
Ciao! Potresti mandare la tua versione del codice? Così possiamo risolvere dubbi più specifici
Sicuramente avrò sbagliato tutto però ecco:

Java:
package esercizio2;
import java.util.Scanner;

public class esercizio3 {

    public static void main(String[] args) {
        Scanner leggi=new Scanner (System.in);
    int voti;
    voti=new int;
    int i;
    float somma;
    int minimo;
    int massimo;
  
    for(i=0;i!=0;i++)
    {
        do
        {
        System.out.print("Inserisci il"+(i+1)+"voto");
        voti=leggi.nextInt();
    }while (voti<0);
}
    somma=0;
    for(i=0;i!=0;i++) {
        somma=somma+voti;
    }
    System.out.println("La somma è; "+ somma);
    minimo=voti;
    massimo=voti;
    for(i=1;i!=0;i++)
    {
        if(minimo>voti)
        {
            minimo=voti;
        }
        if(massimo<voti)
        {
            massimo=voti;
        }
    }
    System.out.println("IL numero minore" + minimo);
    System.out.println("Il numero maggiore" + massimo);

}
}
 
Ricorda di utilizzare il tag CODE la prossima volta, grazie.

C'è un errore, quel new int. E' uno dei tipi primitivi, quindi non deve essere istanziato. Devi usare gli array?
Ci sono anche altri errori (non sintattici)...

La prima domanda che mi pongo è: hai provato il codice? Anche se immagino già la risposta...

Cerco di riepilogare tutte le cose da correggere:
  • dovresti utilizzare un array e quindi dichiarare un array di tipo int per i voti
  • il primo ciclo for così com'è è inutile: il valore che memorizzi in "voti" lo perdi all'inserimento successivo
  • il ciclo che verifica il massimo e il minimo è ovviamente errato a sua volta
Se non puoi usare gli array allora dovrai fare il controllo su massimo/minimo direttamente durante l'inserimento dei valori.