RISOLTO Esercizio Java

Stato
Discussione chiusa ad ulteriori risposte.

insidethelollo98

Nuovo Utente
7
0

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:

Skills07

Moderatore
Staff Forum
Utente Èlite
26,744
7,917
CPU
Ryzen 7 5800x
Dissipatore
Deepcool gammax l240 v2
Scheda Madre
Aourus Gigabyte X-470 ultra gaming
HDD
Samsung Evo 850 250gb,2tb x 2 toshiba P300, 256 Ssd silicon power
RAM
32 gb G.Skill Tridentz 3200 mhz RGB
GPU
KFA2 Rtx 2070 super
Monitor
ASUS TUF QHD 165hz IPS, ITEK GCF 165hz IPS QHD, Samsung Curvo 144hz QHD
PSU
Seasonic Focus 650w 80 platinum
Case
Coolermaster h500p
Periferiche
Asus Tuf Wireless
Net
Fibra Tim 100mb
OS
Windows 10 Pro 64 bit
il problema quale sarebbe? cosa non ti riesce?
 

DispatchCode

Moderatore
Staff Forum
1,360
999
CPU
Intel 1200 I9-10900KF 3.75GHz 10x 125W
Dissipatore
Gigabyte Aorus Waterforce X360 ARGB
Scheda Madre
Asus 1200 TUF Z590-Plus Gaming ATX DDR4
HDD
1TB NVMe PCI 3.0 x4, 1TB 7200rpm 64MB SATA3
RAM
DDR4 32GB 3600MHz CL18 ARGB
GPU
Nvidia RTX 3080 10Gb DDR6
Audio
Integrata 7.1 HD audio
Monitor
AOC C27g2u 165Hz
PSU
Gigabyte P850PM
Case
Phanteks Enthoo Evolv X ARGB
Periferiche
MSI Vigor GK30, mouse Logitech
Net
30Mbps/3Mbps con Eolo
OS
Windows 10 64bit
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.
 
  • Mi piace
Reazioni: BAT e Tidus88

pabloski

Utente Èlite
2,766
830
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
 

BAT

Moderatore
Staff Forum
Utente Èlite
9,708
4,180
CPU
Neurone solitario
Dissipatore
Ventaglio azionato a mano
Scheda Madre
Casalinga
RAM
Molto molto volatile
GPU
Binoculare integrata nel cranio
PSU
Pastasciutta, pollo e patatine al forno
Net
Segnali di fumo e/o tamburi
OS
Windows 10000 BUG
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.
 

giangiks

Utente Attivo
239
16
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
Post automatically merged:

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.

Entra

oppure Accedi utilizzando

Discussioni Simili