RISOLTO Esercizio Java

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

insidethelollo98

Nuovo Utente
Messaggi
7
Reazioni
0
Punteggio
20

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

Questo è quello che ho fatto fino adesso:
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);

}
}
 
Ultima modifica da un moderatore:
il problema quale sarebbe? cosa non ti riesce?
 
il problema quale sarebbe? cosa non ti riesce?
Il problema è che è tutto sbagliato...

Riporto tutti gli errori che vedo @insidethelollo98

Codice:
    int voti;
    voti=new int;

Non è un array questo.

Codice:
for(i=0;i!=0;i++)

La condizione del ciclo è errata.

Codice:
voti=leggi.nextInt();

questo è a sua volta errato, in quanto "voti" non è un array (e se lo fosse devi specificare l'indice).

Codice:
somma=somma+voti;

idem, non è un array, e se lo fosse dovresti specificare l'indice.

Codice:
    minimo=voti;
    massimo=voti;
    for(i=1;i!=0;i++)
    {

anche qui, dovresti accedere all'indice di voti (se fosse un array).
Inoltre la condizione è errata, i non sarà mai 0.
 
beh, in effetti, quel listato mostra una certa meccanicità nella logica ( il for è decisamente fuori posto visto quello che chiede la traccia, mischiato poi col while, viene da chiedersi cosa volesse fare! ) e una totale non conoscenza della sintassi del Java
 
se leggi i voti uno per uno il ciclo for è concettualmente sbagliato (anche se utilizzabile facendo qualche acrobazia programmatoria...), dovresti usare un ciclo while oppure un do che termina non appena leggi lo zero.
 
ma scusa, puoi fare tutto in un solo ciclo, inoltre molte cose che hai scritto non hanno senso, ti consiglio di studiare gli errori che commetti.

https://pastebin.com/5WaUtsd0 ---> così funziona ed ha bisogno solo di un ciclo
--- i due messaggi sono stati uniti ---
ma scusa, puoi fare tutto in un solo ciclo, inoltre molte cose che hai scritto non hanno senso, ti consiglio di studiare gli errori che commetti.

https://pastebin.com/5WaUtsd0 ---> così funziona ed ha bisogno solo di un ciclo.

specifico che si potrebbe fare molto meglio ma ho provato ad adattare il tuo
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top