Java 按步骤递增一个数字,例如2、4、6、8

Java 按步骤递增一个数字,例如2、4、6、8,java,Java,我有一个扩展计数器的StepCounter类。计数器有一个递增方法,它向计数器中添加1。我需要重写此方法,以便StepCounter类中的increment方法将计数器增加“step”的值,例如,如果step=2,则增量将向计数器添加2,而不是1。不知怎么的,我不能让它工作。这就是我所做的编码: public class StepCounter extends Counter { //fields private int step; //constructors

我有一个扩展计数器的StepCounter类。计数器有一个递增方法,它向计数器中添加1。我需要重写此方法,以便StepCounter类中的increment方法将计数器增加“step”的值,例如,如果step=2,则增量将向计数器添加2,而不是1。不知怎么的,我不能让它工作。这就是我所做的编码:

public class StepCounter extends Counter {

    //fields
    private int step;

    //constructors
    public StepCounter() {
        super();
        step = 2;
    }

    public StepCounter(int count, int step) {
        super(count);
        this.step = step;
    }

    //methods
    public void setStep(int step) {
        this.step = step;
    }

    public int getStep() {
        return step;
    }

    @Override
    public void increment() {
        super.getCount() += step;
    }   
}
我已经尝试过各种风格,比如

super.getCount()+=getStep()

等等


顺便说一句,getCount()方法从计数器类返回计数值。

您得到了该值,但没有设置它。
试着这样做:

setCount(getCount() + step);
在这种情况下,也不需要
super
关键字,如果您的继承类不重写
getCount()
,没有它,它的可读性会更好。
getCount()
方法是从计数器继承的,所以您应该这样做

 @Override
    public void increment() {
        Integer tmp = this.getCount() += step;
        setCount(tmp);
    } 
此外,在无参数构造函数中,应该正确初始化step变量

public StepCounter() {
    super();
    this.step = 2;
}

您希望如何处理递增的值?它从未被分配到任何地方@DaDaDom,increment方法应从计数器类中递增计数值。我使用了super.getCount(),因为它返回count值。我想创建一个StepCounter类型的ArrayList,并向其中添加一些数据。然后我想创建一个for循环,它将一个接一个地打印10个结果,显示计数器的工作方式。
此外,在无参数构造函数中,您应该正确初始化step变量。
这里不需要使用
this
。我怀疑
count
是primitve,这会导致不必要的自动装箱。出于我自己的原因,我在任何地方处理数学运算时都避免使用原语,更喜欢使用异常处理的自动装箱。@拉齐奥你应该开始接受帮助你的答案,让其他人看到,这些问题已经得到了回答。