【问题标题】:my code don't work in Main class [duplicate]我的代码在主类中不起作用[重复]
【发布时间】:2018-05-29 14:49:03
【问题描述】:

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

主类是:

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

【问题讨论】:

  • number + 1...
  • 试试这个,“--number”
  • 谢谢,亲爱的 Oliver number+1 作品
  • Java 中的变量是按值传递的

标签: java class main


【解决方案1】:

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

    return number++;
    return number--;

例如这里:

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

值编号增加,但仅在下一条语句时增加。
因此,当您返回时,将返回与参数相同的值。

这里也是一样的:

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

number 永远不会递减,因为该数字在与递减相同的语句中返回。

您有几种解决方法:

分两次做:

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
}

减量运算符的逻辑完全一样。

【讨论】:

    猜你喜欢
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2012-11-28
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多