Salve sono alle prime armi in programmazione, sono da un paio di giorni a cercare di capire come fare un programma che trovi il massimo tra n numeri inseriti in input e dire quante volte compare (tra i numeri inseriti).
Premetto che non abbiamo fatto array ancora e gli unici costrutti che conosco sono while, if, for, do while insomma quelli di base.
vi posto il codice da me creato.
Il problema che ho è che se inserisco sempre numeri maggiori dei precedenti, il programma mi calcola esattamente quello che voglio, ma se inserisco ad esempio un numero minore del precedente mi dice che quello è il massimo e aggiorna il contatore.codice:import java.util.Scanner;public class Massimo { public static void main(String[] args) { Scanner in = new Scanner(System.in); int num; int max; int count = 0; boolean done = false; while(!done) { System.out.println("Inserisci il numero o premi 'Q' per uscire"); //Visualizza la stringa "Inserisci numero" String input = in.next(); // assegna alla variabile input il valore inserito in input if (input.equalsIgnoreCase("Q")) //se il valore inserito in input è q o Q esci dal ciclo done = true; else { int numeroInserito = Integer.parseInt(input); //altrimenti il numero appena inserito in input è il massimo num = numeroInserito; max = num; count++; if (numeroInserito > max) max = numeroInserito; System.out.println("il massimo è :" + max); System.out.println("Il numero di massimi trovati e'" + count ); } } } }
Il problema l'ho capito ma non riesco a esprimere il confronto tra il numero precedentemente inserito e quello successivo. Come potrei fare?? qualcuno mi può dare una mano a risolverlo senza modificare con altri costrutti particolari questo mio codice??
Grazie spero di essere stato abbastanza chiaro.