import java.util.Scanner; public class MassimoGenerale { public static void main(String[] args) throws IllegalArgumentException { // inizializzo lo stream di ingresso Scanner sc = new Scanner(System.in); // inizializzo le variabili boolean trovato = false; // true se ho trovato almeno un elemento double max = 0; // mantiene il massimo numero reale letto //pongo come condizione del ciclo che ci sia un dato valido da leggere while (sc.hasNextDouble()){ // inizializzo la variabile curr con il nuovo dato letto double curr = sc.nextDouble(); //aggiorno max se non ho ancora trovato un dato valido o se il dato valido appena letto //risulta essere maggiore del massimo corrente. if ((!trovato) || curr > max){ max = curr; //aggiorno max trovato = true; //aggiorno trovato } } //controllo se ho trovato almeno un elemento if (trovato){ //stampo il massimo trovato System.out.println("Massimo trovato "+max); }else { //dichiaro di non aver letto nessun dato valido IllegalArgumentException e = new IllegalArgumentException("Nessun elemento inserito"); throw e; } } }