int反向标志负()Java



要求

假设现有类的可用性,即iCalculator,该类别对整数算术计算器进行建模,并包含:

  • 一个存储当前int值的实例变量CurrentValue计算器的大量,可以通过任何子类访问和修改。

  • 方法添加,sub,mul和div

    iCalculator中的每种方法都会收到一个INT参数,并将其操作应用于CurrentValue并返回CurrentValue的新值。因此,如果CurrestValue具有值8和sub(6),则CurrentValue最终以值2,然后返回2。

因此,您要根据iCalculator编写子类iCalculator2的定义。类iCalculator2还有一种附加方法,否定,没有任何论点。否定的效果是扭转电流值的迹象。例如,如果CurrestValue为零,则没有更改,如果是-22,则它将变为22,如果它为100,则变为-100。此外,否定还返回CurrentValue的新值。

源代码

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);
    }
}

您通过操纵iCalculate类中为您提供的方法来执行此操作。请记住,您不能直接使用实例变量CurrentValue,因为它是私有变量,并且子类只能通过方法访问私有变量。在这种情况下,操纵的最佳方法是mul(),参数为-1。

public int negate(){

返回mul(-1);}

我刚刚注意到,您正在尝试扩展应扩展应常规上的是接口。那行不通。您实现接口。

请尝试此问题将帮助您解决此问题

        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; 
            }
        }
    }

花花公子你已经错了。

公共类iCalculator2扩展了iCalculator {

public int negate(){
    int val =mul(-1);
    return val;}}

你看到了吗?-22和100是例子,它们无关紧要。关键是您需要否定它的一切。

最新更新