java简单计算器怎么判断输入是否合法,是不是我想要的类型

想再加一个判断的条件,我想要判断输入的是否为double类型或者其他类型的时候,应该用扫描语句判断,代码如图求指教

package com.deng.method;

import java.util.Scanner;


public class Calculator {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        double a;
        String flag;
        double b;

        System.out.println("请输入第一位数字");
        a=scanner.nextDouble();
        System.out.println("请输入运算符号");
        flag=scanner.next();
        System.out.println("请输入第二个数字");
        b=scanner.nextDouble();

        switch (flag){
            case "+":
                System.out.println("结果为:"+(a+b));
                break;
            case "-":
                System.out.println("结果为:"+(a-b));
                break;
            case "*":
                System.out.println("结果为:"+a*b);
                break;
            case "/":
                System.out.println("结果为:"+a/b);
                break;
        }

    }
}

 

你nextDouble的时候 扫描的字符串直接报错的

可以单独写一个函数来实现判断类型符合不符合的功能。在函数中运用循环和分支语句,类型不对给出提示重新输入,直到类型符合,通过返回值返回