Java8 中如何合并方法重载为一个方法名调用不同的参数类型?

How do I incorporate method overloading to call different parameter types for one method name in Java 8?

我正在尝试更改我的代码,以便为一个方法名称合并一个 int 和 double 参数。我的最终目标是让用户选择两个数字,如果他们将一个输入为 int,另一个输入为 double,我希望代码仍然能够说明这些不同的类型并成功打印。下面的代码是我到目前为止所想出的基础知识,我想要一些关于如何更改此代码以使用方法重载的帮助。

import java.util.Scanner;
public class SimpleCalculator {
public static void main(String[] args) {
   Scanner input = new Scanner(System.in);
    System.out.println("Select operation:");
    System.out.println("1. Divide 2 numbers");
    System.out.println("2. Exit");

    System.out.print("Enter choice(1/2:");
    int choice = input.nextInt();

    if (choice == 1){
        division();
    }
    else if (choice == 2){
        Exit();
    }
    input.close();
  }

public static void division(){
    int nOne, nTwo;
    Scanner input = new Scanner(System.in);

    System.out.println("Division");

    System.out.print("First Number: ");
    nOne = input.nextInt();

    System.out.print("Second Number: ");
    nTwo = input.nextInt();

    input.close();
    System.out.println("Sum: " + nOne + " / " + nTwo + " = " + (nOne / 
    nTwo));
 }

 public static void Exit(){
    Scanner input = new Scanner(System.in);
    System.out.println("Goodbye");
    System.exit(0);
 }
 }

您需要通过参数提供数据类型。所以你有两个这样的方法:

public int division(int number1, int number2){
//do division
return result;
}

public double division(double number1, double number2){
//do division
return result;
}

然后您可以使用 int 和 double 调用方法 division 并选择相应的方法。