int反向符号否定()java
要求 假设现有类ICalculator可用,该类为整数算术计算器建模,并包含:int反向符号否定()java,java,methods,logic,negate,Java,Methods,Logic,Negate,要求 假设现有类ICalculator可用,该类为整数算术计算器建模,并包含: 存储当前int值的实例变量currentValue 并且可以被任何子类访问和修改 方法add、sub、mul和div ICalculator中的每个方法接收一个int参数,并将其操作应用于currentValue,并返回currentValue的新值。因此,如果currentValue的值为8,并且调用了sub(6),那么currentValue将以值2结束,并返回2 因此,您需要基于ICalculator编
- 存储当前int值的实例变量currentValue 并且可以被任何子类访问和修改
- 方法add、sub、mul和div ICalculator中的每个方法接收一个int参数,并将其操作应用于currentValue,并返回currentValue的新值。因此,如果currentValue的值为8,并且调用了sub(6),那么currentValue将以值2结束,并返回2
public class ICalculator2 extends ICalculator {
public int negate() {
int val = add(0);
if (val == -22) return val * -1;
else if (val == 100) return val * -1;
else return 0;}}
备注:
- 您的代码在执行过程中出错
- 您可能希望使用100以外的数字
- 您可能需要使用22以外的数字
- 您确定要使用:val吗
- 您可能想使用:您不需要进行任何奇怪的计算。请尝试以下方法:
public class ICalculator2 extends ICalculator { public int negate() { return (currentValue = -currentValue); } }
请尝试这将帮助您解决此问题int i = -22; i = i*-1; System.out.println(i); return i;
给你的数字就是一个例子。如果真值表使用任何其他数字,您的示例将失败。这就是代码出现问题的原因。 您需要使用代码来显示当currentValue不是0时发生的情况 请查看以下内容:public class ICalculator2 extends ICalculator { public int negate() { if (currentValue != 0) { return currentValue * -1;} else { return 0; } } }
老兄,你完全搞错了 公共类ICalculator 2扩展了ICalculator{public int negate(){ int val =mul(-1); return val;}}
您知道吗?-22和100是示例,它们无关紧要。重点是您需要否定它是什么。您可以通过操作ICalculate类中为您提供的一个方法来实现这一点。请记住,您不能直接使用实例变量currentValue,因为它是私有变量,并且子类只有一个通过方法访问私有变量。在这种情况下,最好的操作方法是mul(),参数为-1 公共int否定(){ 返回mul(-1);
}我刚刚注意到,您正在尝试扩展传统上应该是接口的内容。这行不通。您实现了一个接口。您提到的-22将转换为22,但您的代码显示为-22。请确保您的代码和语句正确无误。w你为什么不简单地用
乘以值呢?是的。你应该简单地用-1乘以值。我认为你不应该硬编码代码中的值-1
和22
。这些只是示例。你应该写一个一般的100
方法,该方法适用于任何数字,而不仅仅是0、22和100。我将其更改为代码,但仍然存在相同的逻辑错误:⇒ NegativedValue的值不正确。如果否定()
为正,则仍需要求反,并且不需要使用i
或乘法。答案错误。因此,我提到的问题中,您已经解决了50%。您是否阅读了其他答案?If