I was trying to make my first java program with the use of switches and scanners, but I just can’t fix the error that returns me.
Error:
Exception in thread "main" java.util.NoSuchElementException at java.util.Scanner.throwFor(Scanner.java:862) at java.util.Scanner.next(Scanner.java:1485) at java.util.Scanner.nextInt(Scanner.java:2117) at java.util.Scanner.nextInt(Scanner.java:2076) at Operazioni.main(Operazioni.java:13)
Code:
import java.util.Scanner; public class Operazioni{ public static void main(String[] args){ int risultato; int select; int num1,num2; Scanner oggetti = new Scanner(System.in); System.out.println("Che operazione vuoi effettuare?"); System.out.println("1. Addizione, 2. Sottrazione, 3. Moltiplicazione 4. Divisione"); select = oggetti.nextInt(); switch (select) { case 1: System.out.print("Inserisci il primo numero"); num1 = oggetti.nextInt(); System.out.print("Inserisci il secondo numero"); num2 = oggetti.nextInt(); risultato = num1 + num2; System.out.println("Il risultato dell'addizione è " + risultato); case 2: System.out.print("Inserisci il primo numero"); num1 = oggetti.nextInt(); System.out.print("Inserisci il secondo numero"); num2 = oggetti.nextInt(); risultato = num1 - num2; System.out.println("Il risultato della sottrazione è " + risultato); break; case 3: System.out.print("Inserisci il primo numero"); num1 = oggetti.nextInt(); System.out.print("Inserisci il secondo numero"); num2 = oggetti.nextInt(); risultato = num1 * num2; System.out.println("Il risultato della moltiplicazione è " +risultato); case 4: System.out.print("Inserisci il primo numero"); num1 = oggetti.nextInt(); System.out.print("Inserisci il secondo numero"); num2 = oggetti.nextInt(); risultato = num1 / num2; System.out.println("Il risultato della divisione è " + risultato); default: System.out.println("Errore, scelta non esistente"); } } }
Forgive me for the bad order in writing the code.
Advertisement
Answer
Your switch-case syntax is missing the break; statements Try this code:
import java.util.Scanner; public class Operazioni { public static void main(String[] args) { int risultato; int select; int num1, num2; Scanner oggetti = new Scanner(System.in); System.out.println("Che operazione vuoi effettuare?"); System.out.println("1. Addizione, 2. Sottrazione, 3. Moltiplicazione 4. Divisione"); select = oggetti.nextInt(); switch (select) { case 1: System.out.print("Inserisci il primo numero"); num1 = oggetti.nextInt(); System.out.print("Inserisci il secondo numero"); num2 = oggetti.nextInt(); risultato = num1 + num2; System.out.println("Il risultato dell'addizione è " + risultato); break; case 2: System.out.print("Inserisci il primo numero"); num1 = oggetti.nextInt(); System.out.print("Inserisci il secondo numero"); num2 = oggetti.nextInt(); risultato = num1 - num2; System.out.println("Il risultato della sottrazione è " + risultato); break; case 3: System.out.print("Inserisci il primo numero"); num1 = oggetti.nextInt(); System.out.print("Inserisci il secondo numero"); num2 = oggetti.nextInt(); risultato = num1 * num2; System.out.println("Il risultato della moltiplicazione è " + risultato); break; case 4: System.out.print("Inserisci il primo numero"); num1 = oggetti.nextInt(); System.out.print("Inserisci il secondo numero"); num2 = oggetti.nextInt(); risultato = num1 / num2; System.out.println("Il risultato della divisione è " + risultato); default: System.out.println("Errore, scelta non esistente"); } } }