2012-03-13 58 views
0

我對這個問題感到啞巴,但我一直在爲此奮戰一整天,而我似乎無法得到它的工作。Android:Int保持不變

所以我的問題是我想繼續加1和整數,並使其走向;

1+1=2 
2+1=3 

它不斷更新Integer我現在有這個;

int val = 1; 
int g = 1; 

val = g + val; 

但它一直在說它的2怎麼回事?

謝謝。

+0

您需要提供更完整的示例 - 您在此給出的內容不足以重現此問題。 – 2012-03-13 16:54:26

+2

只因爲1 + 1 = 2。沒有其他原因。 – 2012-03-13 16:54:36

+0

請發佈整個功能。 – Woot4Moo 2012-03-13 16:58:05

回答

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; 
      } 
     }); 
    } 
} 
2

因爲您一直將其設置爲1.在循環外初始化它。

+4

如果這個心理調試結果是真的,你應該得到一枚獎章:) – AakashM 2012-03-13 16:56:53

+0

這是一個長鏡頭! – assylias 2012-03-13 16:58:15

0
int val = 1; 
int g = 1; 

下一行:

val = g + val; 

因此相當於

val = 1 + 1; 

這相當於

val = 2; 

不知道你會期望在這裏有什麼...

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

將總是爲2.因爲發生的事情是你把它是1。這產生的2總和然後取2,並將其分配給在g爲1的值,並在val值變量val(之前被初始化爲1)。

1 + 1永遠是2(以整數數學)

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); 
} 
+0

不,我試圖讓每次點擊一個按鈕時自動增加數字 – 2012-03-13 17:07:02

+0

@Lars Wesseling所以......當按鈕按下時爲什麼不增加數字? – bbedward 2012-03-13 23:47:04