Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Agenda appuntamenti

Visualizzazione discussione

  1. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Giuso Visualizza il messaggio
    Infatti ho deciso di catturarle nel metodo che crea l'oggetto. Ma non ho capito una cosa. Se nel "try" metto un "if", se la condizione dell'if risulta falsa, viene eseguito il blocco catch? Perchè ho messo dei controlli con degli if, se vanno tutti a buon fine creo l'oggetto, altrimenti cè il blocco catch che mi ritorna -1(Quindi suppongo che il metodo termina li). Anche se l'if è falso mi ritorna 1, non so il motivo.
    Per farti capire meglio, immagina un Rettangolo

    codice:
    public class Rettangolo {
        private double larghezza;
        private double altezza;
    
        public Rettangolo(double larghezza, double altezza) {
            if (larghezza < 0) {
                throw new IllegalArgumentException("La larghezza non può essere negativa");
            }
    
            if (altezza < 0) {
                throw new IllegalArgumentException("La altezza non può essere negativa");
            }
    
            this.larghezza = larghezza;
            this.altezza = altezza;
        }
    
        // .......
    }

    Poi, dove vuoi inserire 1 rettangolo, ad esempio:

    codice:
    Rettangolo rett = null;
    
    do {
        System.out.print("Inserisci larghezza: ");
        double larghezza = //............... 
        System.out.print("Inserisci altezza: ");
        double altezza = //...............
    
        try {
            rett = new Rettangolo(larghezza, altezza);
        } catch (IllegalArgumentException e) {
            System.out.println("Rettangolo non valido, ripeti l'inserimento!");
        }
    } while (rett == null);
    
    // ...usa rett

    Questo è un modo sensato (non ho fatto vedere l'input di larghezza/altezza ... non è importante).

    P.S. evita valori di ritorno di "stato" come 1, -1 ecc... NON stai programmando in "C".
    Ultima modifica di andbin; 05-01-2018 a 20:03
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.