题目:编写一个除法器,输入被除数和除数,并将结果输出。
这道题看似很简单,实则也不难。
就是假如用户输入的类型不同怎么办呢?用户输入int或者double类型应该怎么解决。这里我们就需要用到函数的重载。
代码如下:
import java.util.Scanner; public class demo1 { public static void main(String[] args){ Scanner scanner = new Scanner(System.in); System.out.println("请输入被除数:"); double a = scanner.nextDouble(); System.out.println("请输入除数:"); double b = scanner.nextDouble(); double result = divide(a,b); System.out.println("结果是:"+result); } public static double divide(double a,double b){ if(b==0){ throw new ArithmeticException("除数不能为0"); } return a/b; } public static int divide(int a,int b){ if(b==0){ throw new ArithmeticException("除数不能为0"); } return a/b; } }
其中,如果除数为0,我们还要考虑抛出异常。
方法重载规则:
1.方法名相同 2.参数列表不同 3.返回类型无关 4.访问修饰符无关 5.抛出异常无关