来自学习Java的新手小白
题目:计算两个数的乘积,要求使用方法重载。
我用int和double两两匹配定义了四个sum方法,但是在main方法中键盘输入时怎么编写呢,键盘输入也有四种情况诶。

解决方案 »

  1.   

    定义int类型接收,然后类型转换一下就可以,没你想的那么复杂public static void main(String[] args) {
    @SuppressWarnings("resource")
        Scanner in = new Scanner(System.in);
        System.out.println("请输第一个数");
    int one = in.nextInt();
        System.out.println("请输第二个数");
    int two = in.nextInt();
    double oneD = one;
    double twoD = two;
    sum(one,two);
    sum(one,twoD);
    sum(oneD,two);
    sum(oneD,twoD);
    }public static void sum(int one,int two){
    System.out.println("调用了第一个方法,结果为:"+one*two);
    }
    public static void sum(int one,double two){
    System.out.println("调用了第二个方法,结果为:"+one*two);
    }
    public static void sum(double one,int two){
    System.out.println("调用了第三个方法,结果为:"+one*two);
    }
    public static void sum(double one,double two){
    System.out.println("调用了第四个方法,结果为:"+one*two);
    }
      

  2.   

    package test;public class Mutiply { public static void main(String[] args) {
    int rs1= mutiply(1,2);
    System.out.println(rs1);
    double rs2=mutiply(2,3);
    System.out.println(rs2);
    double rs3=mutiply(3,3);
    System.out.println(rs3);
    double rs4=mutiply(4,3);
    System.out.println(rs4);
    }

    public  static  int mutiply(int x,int y) {
    return x*y;
    }
    public  static  double mutiply(int x,double y) {
    return x*y;
    }
    public  static  double mutiply(double x,double y) {
    return x*y;
    }
    public  static  double mutiply(double x,int y) {
    return x*y;
    }
    }
      

  3.   

    public class Demo001 {
    public static void main(String[] args) {Scanner scanner = new Scanner(System.in);
    String nextLine = scanner.nextLine();
    String[] split = nextLine.split(","); String s = split[0];
    String s2 = split[1]; if (s.contains(".") && s2.contains("."))
    sum(Double.valueOf(s), Double.valueOf(s2)); else if (s.contains(".") && !s2.contains("."))
    sum(Double.valueOf(s), Integer.valueOf(s2)); else if (!s.contains(".") && !s2.contains("."))
    sum(Integer.valueOf(s), Integer.valueOf(s2)); else if (!s.contains(".") && s2.contains("."))
    sum(Integer.valueOf(s), Double.valueOf(s2));
    }
    public static void sum(int one, int two) {
    System.out.println("调用了第一个方法,结果为:" + one * two);
    } public static void sum(int one, double two) {
    System.out.println("调用了第二个方法,结果为:" + one * two);
    } public static void sum(double one, int two) {
    System.out.println("调用了第三个方法,结果为:" + one * two);
    } public static void sum(double one, double two) {
    System.out.println("调用了第四个方法,结果为:" + one * two);
    }}