【问题标题】:Android: Int stays the sameAndroid:Int 保持不变
【发布时间】:2012-03-13 16:52:36
【问题描述】:

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

所以我的问题是我想继续将 1 加到整数上并让它像这样;

1+1=2
2+1=3

它不断更新我现在拥有的整数;

int val = 1;
int g = 1;

val = g + val;

但它一直说它 2 怎么来的?

谢谢。

【问题讨论】:

  • 您需要提供更完整的示例——您在此处提供的内容不足以重现问题。
  • 只是因为1+1 = 2。没有其他原因。
  • 请发布整个函数。
  • @BorisStrandjev 但在 1 的大情况下呢?
  • 我妈妈告诉我这总是真的。我相信她:P

标签: android math integer


【解决方案1】:

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

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。在循环外初始化它。

    【讨论】:

    • 如果这个心理调试结果是真的,你应该得到一枚奖章 :)
    【解决方案3】:
    int val = 1;
    int g = 1;
    

    下一行:

    val = g + val;
    

    因此等价于

    val = 1 + 1;
    

    相当于

    val = 2;
    

    不知道你会在这里期待什么......

    【讨论】:

      【解决方案4】:
      int val = 1; int g = 1;  val = g + val;
      

      将始终计算为 2。因为发生的情况是您将 g 中的值为 1 和 val 中的值为 1。这产生 2 的总和。然后您将 2 分配给变量val(之前被初始化为1)。

      1+1 永远是 2(在整数数学中)

      【讨论】:

        【解决方案5】:

        所以我的问题是我想继续将 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);
        }
        

        【讨论】:

        • 不,我正在尝试每次单击按钮时自动增加数字
        • @Lars Wesseling 所以...为什么不在按下按钮时增加数字?
        猜你喜欢
        • 1970-01-01
        • 2013-11-06
        • 2015-02-23
        • 1970-01-01
        • 2014-12-03
        • 2015-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多