如何统计输入的字符串

我想在控制台输入数字,并统计数字输入了几个,然后根据统计的数字进行方法的调用重载,比如我单输入一个4,用方法1,输入数字13和7,用方法2,这样来解决问题。scanner和方法都写好了,就是差统计的数字问题和判断了,希望各位能给个解答方法。

img

img


/**
 * 定义一个类Shape,包含求各种图形的周长的方法;
 * 输入参数少于1或者多于3,则输出“参数错误”
 * 输入参数为1个则输出圆的周长:
 * 输入参数为2个则输出矩形的周长;
 * 输入参数为3个则输出三角形的周长。
 *
 * @author : qinyingjie
 * @version : 2.2.0
 * @date : 2022/10/23 21:24
 */
public class Basic_15_shape {


    /**
     * 异常
     *
     * @return
     * @throws Exception
     */
    public static double get() throws Exception {
        throw new Exception("参数错误");
    }


    /**
     * 圆的周长
     *
     * @param x
     * @throws Exception
     */
    public static double get(double x) {
        return 2 * Math.PI * x;
    }


    /**
     * 矩形周长
     *
     * @param x
     * @param y
     * @return
     * @throws Exception
     */
    public static double get(double x, double y) {
        return 2 * (x + y);
    }


    /**
     * 三角形周长
     *
     * @param x
     * @param y
     * @param z
     * @throws Exception
     */
    public static double get(int x, int y, int z) throws Exception {
        return x + y + z;
    }

    /**
     * 超过三个
     *
     * @param x
     * @param y
     * @param z
     * @param params
     * @throws Exception
     */
    public static double get(int x, int y, int z, int... params) throws Exception {
        throw new Exception("参数错误");
    }

    /**
     * 输入的数字个数是无法用Scanner控制的
     * 一次只能实现一个实例
     *
     * @param args
     */
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入数字:");
        double number = scan.nextDouble();
        double result = get(number);
        System.out.println("输入框2的结果为:" + result);
    }

}

用重载

你下面的问题,意思是,通过判断你键盘输入的是几,来进行选择不同的方法来实现不同形状的周长计算,用switch case 就好啦