Java异常[开关和扫描程序]

Java异常[开关和扫描程序],java,exception,switch-statement,java.util.scanner,Java,Exception,Switch Statement,Java.util.scanner,我试图使用开关和扫描仪来编写我的第一个java程序,但我无法修复返回我的错误 错误: 代码: 导入java.util.Scanner; 公共级歌剧{ 公共静态无效字符串[]args{ 国际餐厅; int选择; int num1,num2; Scanner oggetti=新ScannerSystem.in; System.out.printlnChe operazione vuoi effettuare?; System.out.println1.Addizione,2.Sottrazione,

我试图使用开关和扫描仪来编写我的第一个java程序,但我无法修复返回我的错误

错误:

代码:

导入java.util.Scanner; 公共级歌剧{ 公共静态无效字符串[]args{ 国际餐厅; int选择; int num1,num2; Scanner oggetti=新ScannerSystem.in; System.out.printlnChe operazione vuoi effettuare?; System.out.println1.Addizione,2.Sottrazione,3.Moltiplicizione 4.Division; 选择=oggetti.nextInt; 开关选择{ 案例1: System.out.printInserisci il primo numero; num1=oggetti.nextInt; System.out.printInserisci il secondo numero; num2=oggetti.nextInt; risultato=num1+num2; System.out.printlnIl risultato dell'addizioneè+risultato; 案例2: System.out.printInserisci il primo numero; num1=oggetti.nextInt; System.out.printInserisci il secondo numero; num2=oggetti.nextInt; risultato=num1-num2; System.out.printlnIl risultato della sottrazioneè+risultato; 打破 案例3: System.out.printInserisci il primo numero; num1=oggetti.nextInt; System.out.printInserisci il secondo numero; num2=oggetti.nextInt; risultato=num1*num2; System.out.printlnIl risultato della moltiplicazioneè+risultato; 案例4: System.out.printInserisci il primo numero; num1=oggetti.nextInt; System.out.printInserisci il secondo numero; num2=oggetti.nextInt; risultato=num1/num2; System.out.printlnIl risultato della Divisionè+risultato; 违约: System.out.PrintlErrore,scelta non esistente; } } }
请原谅我在编写代码时的错误顺序。

您的switch case语法缺少中断;声明 请尝试以下代码:

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");
        }
    }
}

虽然您忘记在案例1、3和4中添加中断语句,但您的代码是正确的

您使用scannerobj.nextInt读取用户输入,scanner类的nextInt方法,从用户处读取int值,我猜在您的情况下,用户输入的是字符串而不是整数,这导致了此错误

以下是随附的工作输出代码:

import java.util.Scanner;

public class HelloWorld {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        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);
            break;
        default:
            System.out.println("Errore, scelta non esistente");
        }

    }

}

当您遇到此错误时,您会输入什么?1在某些情况下,您需要中断control starter的流,否则它将在它之后尝试执行其余情况的代码2让编辑器/IDE为您缩进代码。还有哪一行是13?根据发布的代码,它将是开关选择,但没有涉及扫描仪。请注意,由于您为每个操作输入num1和num2,因此您可以从开关中取出,然后再进行操作并简化代码。嗯?case语句不需要大括号。
import java.util.Scanner;

public class HelloWorld {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        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);
            break;
        default:
            System.out.println("Errore, scelta non esistente");
        }

    }

}