在Java中增加if中变量的值

在Java中增加if中变量的值,java,count,conditional,Java,Count,Conditional,这是一个基本问题,但我不知道为什么它不起作用 我希望当一个条件满足时,一个变量在一个变量中增加它的值(当然我以前做过,但它不起作用)。这是我的代码: double count0 = 0; if (neural.getResult(emg, eda, ax, ay, az, 1000) == 1){ count0 = count0 +1; } neural.getResult(肌电图、eda、ax、ay、az、1000)不断读取传感器的实时值,它给我1或0,这取决于这些传感器,我试图计算

这是一个基本问题,但我不知道为什么它不起作用

我希望当一个条件满足时,一个变量在一个变量中增加它的值(当然我以前做过,但它不起作用)。这是我的代码:

double count0 = 0;
if (neural.getResult(emg, eda, ax, ay, az, 1000) == 1){
    count0 = count0 +1;
}

neural.getResult(肌电图、eda、ax、ay、az、1000)
不断读取传感器的实时值,它给我1或0,这取决于这些传感器,我试图计算它给我多少个传感器,但当我打印
count0
时,它只显示1,比如,如果它只在if中输入一次,如果您想让它执行多次,就必须使用循环

while
循环的一般语法为:

while (condition)
{
    //do sth..
}
因此,在您的示例中,这将得到:

double count0 = 0;
boolean run = true;
while (run)
{
    if (neural.getResult(emg, eda, ax, ay, az, 1000) == 1){
        count0 = count0 + 1;
    }
    //add some sort of exit here.
    if (your_stop_condition)
    {
        run = false;
    }
}

但要小心:如果您没有在某个地方将
run
设置为
false
,上述操作将无限执行。

您的案例是否处于循环中?如果是,那么每次进入案例count0都将为0并添加1。所以0+1=1。当它再次进入案例时,count0将再次为0,并将1与0相加(count0=0)。
如果案例处于循环中,则将count0变量从循环中移出,就像它在if“
if
s中只输入一次一样,只执行一次。您的意思是在使用
时使用
?或者,如果这是在一个您没有显示的循环中,您是想在循环之外声明
count0
?您是否尝试过用一个循环来逐步完成该代码?另外,您可以发布更多的代码吗。至少是完整的方法,其中代码是如何显示您的循环或计时器,您多长时间输入一次代码片段?您需要添加一个循环或可能使用观察者模式。基本上,您需要监视neural.getResult()。你所做的只是调用它一次(根据你的代码)。我这样做了,它工作了,但有时它会多次打印相同的值,我不知道为什么。可能是因为neural不是1,所以它不会向count0添加任何内容,但你仍然在打印它。如果不想在值不变的情况下打印该值,则将日志放在count0=count0+1之后的If语句中;