gpt4 book ai didi

java - 当方法与另一个方法共享相同的名称时,如何使 if 语句中的变量指向所选方法?

转载 作者:行者123 更新时间:2023-11-29 04:37:48 25 4
gpt4 key购买 nike

给我的任务是关于范围的。所以我别无选择,只能让两种方法共享相同的名称。我已经用两种方法进行了计算,一种用于乘法,另一种用于加法。然后我写了 if 语句来测试语句的有效性是否正确。这一切似乎工作正常,除了我的两个 if 语句都指向我的乘法方法。我不确定如何使检查添加方法有效性的 if 语句指向执行添加计算的方法?

代码如下:

**TestCalculator class**
public class TestCalculator {
Double x;

String string = "b";
Double doubleObject = 1.0;
double doublePrimitive = 2;


/*
* Chops up input on ' ' then decides whether to add or multiply.
* If the string does not contain a valid format returns null.
*/

public void testParsing() {

if (x(12.0) == 17.0) {
System.out.println("Adding Success");}
else {
System.out.println("Adding Fail");
}
if (x(12.0) == 60) {
System.out.println("Multiplying Success");}
else {
System.out.println("Multiplying Fail");
}
}
/*
* Adds the parameter x to the instance variable x and returns the answer as a Double.
*/
public Double x(Double x){
System.out.println("== Adding ==");
//Sum here
this.x = x;
return new Double(x + 5);
}
/*
* Multiplies the parameter x by instance variable x and return the value as a Double.
*/
public Double x(double x){
System.out.println("== Multiplying ==");
this.x = x;
return new Double(x * 5);
}
}

主类

public class Main {

public static void main(String[] args) {

TestCalculator call = new TestCalculator();

call.testParsing();

}

}

我知道添加方法与其他方法是不同的数据类型。一个是对象,另一个是原语,但我不知道如何在我添加的 if 语句中使 x 指向将两个数字相加的方法,而不是将两个数字相乘的方法。感谢任何帮助,谢谢。

最佳答案

I understand that the adding method is o a different data type to the other method. One is an object and the other primitive

你是对的。 Double 是 Java 对 double 原语的包装类。您在 double 文字上调用您的方法,这意味着正在调用具有原始参数的方法。要使用带有对象 Double 参数的方法,您首先必须使用 Double 构造函数(即 新双(12.0))。当您将其传递给您的方法时,Java 会将其识别为对象并调用适当的方法。

关于java - 当方法与另一个方法共享相同的名称时,如何使 if 语句中的变量指向所选方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40518976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com