现在我正在向构造函数传递硬编码的参数。我想将用户输入作为参数传递给构造函数。以下是我的代码:
public class AddTwoNumbers {
AddTwoNumbers(int num1, int num2){
int sum = num1+num2;
System.out.println("Sum = "+sum);
}
AddTwoNumbers(int num1, float num2){
float sum = num1+num2;
System.out.println("Sum = "+sum);
}
AddTwoNumbers(float num1, int num2){
float sum = num1+num2;
System.out.println("Sum = "+sum);
}
AddTwoNumbers(float num1, float num2){
float sum = num1+num2;
System.out.println("Sum = "+sum);
}
public static void main(String[] args) {
AddTwoNumbers addNumObj1 = new AddTwoNumbers(4,5);
AddTwoNumbers addNumObj2 = new AddTwoNumbers(4.5f, 5.5f);
}
}
那么我该如何接受用户输入呢。如果我使用Scanner类,那么我已经限制了用户的输入选择,也就是说,如果我要求用户输入两个整数,但用户想要一个整数和另一个浮点数。这样做也没有留下构造函数重载的优点。因此,我正在寻找一种解决方案,在该解决方案中,我不想向用户显示可供选择的多个选项,而是通过代码进行处理,并希望专门使用构造函数重载。
您在控制台中无法执行太多操作。您应该要求用户选择要使用的witch构造函数及其扫描仪,以选择用户输入的数据类型,例如:
Scanner sc=new Scanner(System.in);
int x = sc.nextInt() //will get Int
int y = sc.nextFloat() //will get float