根据返回值增加值

时间:2015-10-16 07:23:54

标签: java

我有以下Java代码。

public class Test {
    public static void main(String[] args) {
        int i = 5;
        int j = 0;
        for (int k = 1; k <= i; k++) {
            System.out.println("row count is " + j);
            increment(j);
            j += 1;
        }
    }

    private static int increment(int j) {
        if (j == 2) {
            j += 1;
            System.out.println("row count is " + j);
        }
        return j;
    }
}

这里我想根据返回值增加j值。

我得到的当前输出是。

row count is 0
row count is 1
row count is 2
row count is 3
row count is 3
row count is 4

我的预期输出是

row count is 0
row count is 1
row count is 2
row count is 3
row count is 4
row count is 5

我知道放

if (j == 2) {
    j += 1;
    System.out.println("row count is " + j);
}
我的for块中的

解决了这个问题,但这就像我的主代码的副本,它以我提供的输入形式出现。我必须遵循这种模式,我的意思是通过检查方法中的条件来增加值。

请让我知道我怎么能得到这个。

由于

3 个答案:

答案 0 :(得分:4)

Java与 AlertDialog alertDialog = new AlertDialog.Builder(DashboardActivity.this).create(); alertDialog.setMessage("invalid deal id or does not belong to the same organization"); alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "Ok"), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); alertDialog.show(); 一起使用,您只需更改方法Pass-By-Value中的参数j即可更改increment中的原始值。

您需要调用增量并将返回值再次存储到main

j

如果你想了解为什么会这样,我会建议你通过this So question

答案 1 :(得分:2)

j函数中的increment是循环中j的副本(即它不相同&#34;对象&#34;还有它是一个原始的),因此如果你在函数中修改j,它就不会在函数外部更新。

答案 2 :(得分:0)

如果要将返回的值与某些内容进行比较,首先需要使用它。

要么做以下事情:

if ( increment(j) == expectedValue)

或做:

int test = increment(j);
if( test == expectedValue)