Android:Int保持不变

时间:2012-03-13 16:52:36

标签: android math integer

我觉得这个问题很愚蠢,但我现在已经和它斗争了一天,我似乎无法让它发挥作用。

所以我的问题是我想继续添加1和整数,并使它像它一样;

1+1=2
2+1=3

它不断更新整数我现在有了这个;

int val = 1;
int g = 1;

val = g + val;

但它一直在说它的2怎么样?

感谢。

5 个答案:

答案 0 :(得分:3)

我猜你把所有代码放在点击处理程序中。相反,将变量声明/初始化放在类级别中,只在您的单击处理程序中添加您的附加代码。粗略代码如下:

public YourActivity extends Activity {
    int val = 1;
    int g = 1;

    @Override
    protected void onCreate (Bundle savedInstanceState) {
        ... //find button in here
        button.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                val = g + val;
            }
        });
    }
}

答案 1 :(得分:2)

因为你一直把它设置为1.在循环外面初始化它。

答案 2 :(得分:0)

int val = 1;
int g = 1;

下一行:

val = g + val;
因此

等同于

val = 1 + 1;

相当于

val = 2;

不确定你会在这里期待什么...

答案 3 :(得分:0)

int val = 1; int g = 1;  val = g + val;

总是评估为2.因为发生了什么,你将g中的值取为1,将val中的值取为1.这将得到2的总和。然后取2并将其分配给变量val(之前已初始化为1)。

1 + 1将始终为2(在整数数学中)

答案 4 :(得分:0)

  

所以我的问题是我想继续添加1和整数,并使它像它一样;

1+1=2
2+1=3

我猜你想做这样的事情,以产生给定次数的输出。

int timesToLoop = 10;
int summedUp = 0;
for (int i=0; i < timesToLoop; i++)
{
    summedUp = i + 1;
    System.out.println(i + " + " + "1 = " + summedUp);
}