java的基础应用,请帮帮我

用java写一个加减乘除的计算
输入格式12+4
输出格式12+4=16


package com.work;

import java.util.Scanner;

/**
 * @author: By yangbocsu
 * @date: 2021/9/25 15:05
 * @description:
 */
public class Calculator {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.nextLine();

        str = str.replace(" ","");//取出多余空格


        int length = str.length();
        // 1 提取出第1个数
        int i=0,num1=0;
        while (Character.isDigit(str.charAt(i)))   //判断字符是不是数字
        {
            num1 = num1*10 + str.charAt(i) - '0';
            i++;
        }
        // 2 提取出运算符
        char op = str.charAt(i);

        // 3 提取出第2个数
        int num2=0;
        i++;
        while (i < length)
        {
            num2 = num2*10 + str.charAt(i) - '0';
            i++;
        }

        switch (op)
        {
            case '+':
                System.out.println(str + "=" + (num1 + num2));
                break;
            case '-':
                System.out.println(str + "=" + (num1 - num2));
                break;
            case '*':
                System.out.println(str + "=" + (num1*num2));
                break;
            case '/':
                if (num2 == 0)
                    System.out.println("除数不能为零");
                else
                    System.out.println(str + "=" + (num1/num2));
                break;
        }
    }
}