RISOLTO Numero minimo e massimo di un array

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

Lucym80

Nuovo Utente
Messaggi
12
Reazioni
2
Punteggio
22
Salve a tutti e buone feste.
Avrei bisogno di un aiuto con un altro esercizio Java.
Sono riuscita a fare l'archivio degli artisti e adesso sto provando a fare un programmino che chiede all'utente di inserire numeri in un array e dopo restituisca tra le varie cose il numero minimo e il numero massimo.
Credo di essere riuscita a faere la media, poi ne avrò conferma quando farò il main, ma quando provo scrivere il codice per calcolare il numero massimo, ma mi dà errore e non riesco.
Vi scrivo il codice che per il momento sono riuscita a fare solo con la media, potete farmi un esempio di sintassi per aggiungere il numero massimo?
Mille grazie e ancora auguri!
Codice:
        package esercizio3;
        import java.util.Scanner;

public class ArrayMatematico {
private ArrayMatematico[] arraymatematica;

Scanner scanner = new Scanner(System.in);
public ArrayMatematico () {
arraymatematica = new ArrayMatematico[100];
}
public void inserisci () {
    for (int i = 0; i<this.arraymatematica.length; i++) {
        if(arraymatematica[i] != null && i== this.arraymatematica.length -1) {
            System.out.println("Attenzione! sono stati inseriti piu di 100 numeri: riprovare!");
        }
        else if (arraymatematica[i] == null) {
            arraymatematica[i] = new ArrayMatematico();
        
int scelta =0;
System.out.println("Inserisci i numeri e premi invio. Ricorda: puoi inserire fino  a 100 numeri.");
scelta = scanner.nextInt();
break;
        }
        }
               }
    public void media (double[] sommaArrayMatematico) {
    int i;
double somma, media;
somma =0;
for (i=0; i<=arraymatematica.length-1; i=i+1) {
    somma= sommaArrayMatematico[i];
}
media=somma /arraymatematica.length;
System.out.println("La media dei numeri:" + media);
}
                }
Ancora grazie!
 
Confronta sequenzialmente ogni entry e usa due variabili in cui memorizzare rispettivamente il numero più alto e quello più basso a mano a mano che vengono trovati.
Puoi calcolare tutto, anche la media durante lo stesso ciclo di inserimento dei dati

Inviato dal mio Nexus 6P utilizzando Tapatalk
 
Confronta sequenzialmente ogni entry e usa due variabili in cui memorizzare rispettivamente il numero più alto e quello più basso a mano a mano che vengono trovati.
Puoi calcolare tutto, anche la media durante lo stesso ciclo di inserimento dei dati

Inviato dal mio Nexus 6P utilizzando Tapatalk
Salve, sì, questo l’ho capito: però ho difficoltà nello scrivere il codice maniera corretta: ecco perché chiedevo la sintassi.
 
Al di là che mi pare che qui il codice non lo si può scrivere, non si tratta certo di codice o parole chiave particolari: sono dei confronti con condizione ed eventuale assegnazione di variabile.. se la verifica non la fai durante l'inserimento dovrai inserire il tutto dentro ad un ciclo che scorre l'array.

Inviato dal mio Nexus 6P utilizzando Tapatalk
 
ome disse Gino Bartali (che probabilmente non conosci nemmeno) "L'è tutto sbagliato, l'è tutto da rifare!"

Prima di tutto, il tuo calcolo della somma e' sbagliato. Ricontrolla.

Ma piu' importante, hai dichiarato una classe (ArrayMatematico) al cui interno ha un vettore di tali classi. Perche' mai? Hai bisogno di un vettore di numeri (interi o a virgola mobile, decidi tu). Mi sa che ancore le idee molto confuse su come si usano le Classi. Ti suggerisco di fermarti, non fare piu' esercizi, e vai a ristudiarti come si progettano le classi e come organizzare i dati al loro interno. Cosi' come sei adesso fai solo una grande confusione (scusa se sono "crudo")

E per favore impara a posizionare correttamente le parentesi graffe, sembra che tu le inserisca a caso qui e la', il tuo codice e' illeggibile perche' e' impossibile capire quali parentesi siano accoppiate.
 
Codice:
public void media.... (double[] sommaArrayMatematico) {
int i;
double somma, media;
somma =0;
for (i=0; i somma= sommaArrayMatematico[i];

????

cerca Min e max

}

media=somma /arraymatematica.length;

System.out.println("La media dei numeri:" + media);
Min...
Max...

Perché i valori sono "double"???

Sei sicura che somma contenga la somma di tutti i valori?!? Manca l'operatore.

Io inserirei la ricerca di Max e Min nello stesso ciclo della somma

Inviato dal mio Nexus 6P utilizzando Tapatalk
 
Io credo volesse solo scritto il codice per banalmente copiarlo...

Che avrebbe bisogno di studiare di più credo lo sappia

Inviato dal mio Galaxy S10 utilizzando Tapatalk
 
Io credo volesse solo scritto il codice per banalmente copiarlo...

Che avrebbe bisogno di studiare di più credo lo sappia

Inviato dal mio Galaxy S10 utilizzando Tapatalk
Molti vorrebbero il codice già scritto, ma non si può. Nel caso specifico non c'è molto da scrivere, se non riesce a fare il ragionamento banale per trovare un massimo e un minimo probabilmente meglio che lasci perdere.
Poi il codice scritto era effettivamente pieno di errori e non funzionerebbe. Lo stesso calcolo della media, che riteneva di essere riuscita a fare, contiene un errore.

Inviato dal mio Nexus 6P utilizzando Tapatalk
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top