Ciao a tutti. Quello che non mi è chiaro in questo programma è:codice:import java.util.*; public class DivisioneEx { public static int quoziente(int numeratore, int denominatore) throws ArithmeticException { return numeratore / denominatore; } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); boolean continueLoop = true; do { try { System.out.print("Inserisci numeratore: "); int numeratore = scanner.nextInt(); System.out.print("Inserisci denominatore: "); int denominatore = scanner.nextInt(); int risultato = quoziente(numeratore,denominatore); System.out.printf("\n%d / %d = %d\n",numeratore,denominatore,risultato); continueLoop = false; } catch (InputMismatchException Mismatch) { System.out.printf("\nEccezione: %s\n",Mismatch); scanner.nextLine(); System.out.println("Devi inserire valori interi. Riprova\n"); } catch (ArithmeticException Arithmetic) { System.out.printf("\nEccezione: %s\n",Arithmetic); System.out.println("Devi inserire un denominatore diverso da 0. Riprova\n"); } } while (continueLoop); } }
1) Perchè il programma funziona correttamente anche se al metodo quoziente non specifichiarmo che può ricevere un'eccezione InputMismatchException oltre a ArithmeticException?
2) Perchè il programma funziona correttamente anche se al metodo quoziente non specifichiamo nessuna clausola throws?
3) Cosa fa esattamente scanner.nextLine()?
Spero che riusciate a rispondermi, ciao ^^

Rispondi quotando