Dipenderà da come è dichiarato opzione_1Originariamente inviato da java_junior
Il programma me la inserisce alrrimenti vede un'errore sul primo "case" che incontra......
Con che versione di java stai compilando?
Quando si verifica un'eccezione puoi fare due cose:Originariamente inviato da java_junior
Non ho capito...... considera che sono alle primissime armi....
1. gestirla (se il metodo è in grado di farlo)
2. rilanciarla al metodo chiamante.
Ad esempio, se chiedi di inserire un numero e l'utente inserisce una stringa probabilmente otterrai una InputMismatchException. Catturi questa eccezione, avverti l'utente di inserire solo numeri e gli riproponi il prompt di inserimento.
Ora.
Tu hai un metodo che può rilanciare un'eccezione (throws IOException).
Dentro quel metodo tutte le istruzioni sono dentro un try-catch (IOException). E' ridondante...
Rileggi le due righe che ho scritto nel messaggio che hai quotato e lo scoprirai...Originariamente inviato da java_junior
E quindi come dovrei scriverlo nel "case" l'intero?![]()
Ti faccio un esempio base:
codice:public static void funzione() { Scanner scan = new Scanner(System.in); int choose; do { try { System.out.println("\n1 - esegui opzione 1\n2 - esegui opzione 2"); System.out.println("0 - QUIT"); System.out.print("> "); choose = scan.nextInt(); switch (choose) { case 1: System.out.println("opzione 1"); break; case 2: System.out.println("opzione 2"); break; } } catch (InputMismatchException ex) { System.out.println("Invalid input. Please insert an integer number"); if (scan.hasNext()) { // ripulisce il buffer System.out.println("Skipped data: " + scan.next()); } choose = -1; } } while (choose != 0); }


Rispondi quotando