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