我的代码在 Main class 中不起作用

my code don't work in Main class

我想在 NumeicVariable class 中计算并在 Main class 中显示结果,但我的代码无法正常工作。

主要class是:

package com.sajjad.java;

public class Main {

    public static void main(String[] args) {

        int value = 20;
        System.out.println(NumericVariables.drawOne(value)); //
        System.out.println(NumericVariables.addOne(value));  //

    }
}

而 NumericValues 是:

package com.sajjad.java;

import com.sun.org.apache.xpath.internal.SourceTree;

public class NumericVariables {
    public static int addOne(int number){
        return number++;
    }

    public static int drawOne(int number) {
        return number--;
    }
}

注意:结果为20

您使用 post 递增和递减运算符:

    return number++;
    return number--;

例如这里:

public static int addOne(int number) {
    return ++number;
}

数值递增,但仅在下一条语句出现时递增。
所以当你 return 时,与参数相同的值是 returned.

这里也是一样的:

public static int drawOne(int number) {
    return number--;
}

number 永远不会递减,因为数字是 return 在递减的同一语句中编辑的。

您有几种解决方法:

分两次完成:

public static int addOne(int number) {
    number++;  // post increment
    return number; // value incremented here
}

使用预递增运算符:

public static int addOne(int number) {
    return ++number; // incremented right now
}

或者更简单地增加 1 :

public static int addOne(int number) {
    return number+1; // incremented right now
}

自减运算符的逻辑完全一样