Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 冻结整数_Java_If Statement_Integer - Fatal编程技术网

Java 冻结整数

Java 冻结整数,java,if-statement,integer,Java,If Statement,Integer,我正在开发一个应用程序,它使用大量的ImageButtons,在这些ImageButtons上的每个onTouch事件中,一个值被添加到一个整数变量中。问题来了,假设我有一个在某个点返回true的语句: if (x == y) 如何使积分变量保持不变,即使用户再次触摸这些图像? 例如,类似这样的事情: if (x == y){ integerVariable will not change}; 您可以通过自定义布尔值来控制它。建议使用getter和setter是因为这种定制的、非标准的字段

我正在开发一个应用程序,它使用大量的ImageButtons,在这些ImageButtons上的每个onTouch事件中,一个值被添加到一个整数变量中。问题来了,假设我有一个在某个点返回true的语句:

if (x == y) 
如何使积分变量保持不变,即使用户再次触摸这些图像? 例如,类似这样的事情:

if (x == y){ integerVariable will not change};

您可以通过自定义布尔值来控制它。建议使用getter和setter是因为这种定制的、非标准的字段访问

只在代码中使用setter setMyInt值,不要直接访问该字段,这样就可以了。如果需要知道该值是否已更新,请查看返回的布尔值

private int myInt;
private boolean isMyIntLocked = false;

public boolean setMyInt(int value) {
    if (isMyIntLocked) {
        Log.i(TAG, "cannot set myInt, it's been locked");
        return false;
    } else {
        this.myInt = value;
        return true;
    }
}

public void lockMyInt(boolean doLock) {
    this.isMyIntLocked = doLock;
}

您可以通过自定义布尔值来控制它。建议使用getter和setter是因为这种定制的、非标准的字段访问

只在代码中使用setter setMyInt值,不要直接访问该字段,这样就可以了。如果需要知道该值是否已更新,请查看返回的布尔值

private int myInt;
private boolean isMyIntLocked = false;

public boolean setMyInt(int value) {
    if (isMyIntLocked) {
        Log.i(TAG, "cannot set myInt, it's been locked");
        return false;
    } else {
        this.myInt = value;
        return true;
    }
}

public void lockMyInt(boolean doLock) {
    this.isMyIntLocked = doLock;
}
可以使用布尔值检查整数是否应该递增

您的变量:

boolean increment = true;
int x = 0, y = 1;
当用户单击X按钮时:

if(increment)
    x++;

if(x == y)
    increment = false;
可以使用布尔值检查整数是否应该递增

您的变量:

boolean increment = true;
int x = 0, y = 1;
当用户单击X按钮时:

if(increment)
    x++;

if(x == y)
    increment = false;

不要再给它赋值了?把代码贴在你想添加整数的地方。。。但这需要重写代码的一大部分。我假设我在SDK中遗漏了一些东西。不要再给它分配任何东西了?在代码中添加整数变量,我正在考虑这样做。。。但这需要重写代码的一大部分。我假设我在SDK中遗漏了一些东西。通过对我的代码进行一些更改,但使用您的逻辑,它工作了!非常感谢。没问题,很高兴你把它整理好了。对我的代码做了一些修改,但使用了你的逻辑,它成功了!非常感谢。没问题,很高兴你把它整理好了。