我有以下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
块中的解决了这个问题,但这就像我的主代码的副本,它以我提供的输入形式出现。我必须遵循这种模式,我的意思是通过检查方法中的条件来增加值。
请让我知道我怎么能得到这个。
由于
答案 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)