2012-03-13 55 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