break 语句无法使循环停止

阿布舍克·普尼亚

我在数据库中有一些值。我正在获取它并根据
我的需要进行比较,但问题是它将它与列表的最后一个值进行比较。
如果我将我的值与条件进行比较,循环应该中断并使用循环中的中断出现,如果条件但它不起作用。
就像数据一样。

serial_number=1  
range_one_start=1.00    to  range_one_end=1.10  
range_two_start=20.00   to  range_two_end=20.40  
rate=1.00
------
serial_number=2  
range_one_start=1.11    to  range_one_end=1.20  
range_two_start=20.00   to  range_two_end=20.50  
rate=2.00  
------
serial_number=3  
range_one_start=1.21    to  range_one_end=1.30  
range_two_start=20.00   to  range_two_end=20.50  
rate=3.00  

依此类推,我想获取serial_number 2 的数据,因此我将传递数据
Range_one = 1.12 和Range_two = 20,因此在ans 中我将获得速率2.00。
所以如果条件会像

if(1.12 >= 1.11 && 1.12 <= 1.20 && 20 >= 20.00 && 20 <= 20.50 )
    {
        Double rate_value = 2.00;

        break;
    }

下面是我的循环

 for (int i = 0; i < list.size(); i++) {
    Double serial_number = Double.parseDouble(list.get(i).Serial_number_);
    Double range_one_start = Double.parseDouble(list.get(i).Range_one_start);
    Double range_one_end = Double.parseDouble(list.get(i).Range_one)end);
    Double range_two_start = Double.parseDouble(list.get(i).Range_two_start);
    Double range_two__end = Double.parseDouble(list.get(i).Range_two_end);
    Double rate = Double.parseDouble(list.get(i).Rate);
    if(Range_one >= range_one_start && Range_one <= range_one_end && Range_two >= range_two_start && Range_two <= range_two__end )
    {
        Double rate_value = rate;

        break; // this break statement is not working its not breaking the loop.
    }
}

提前致谢

瓦卜哈夫

使用下面的代码:

for (int i = 0; i < list_p_to_p_clr_buffalo.size(); i++) {
   Double serial_number =     Double.parseDouble(list_p_to_p_clr_buffalo.get(i).Serial_number_P_To_P_CLR_Buffalo);
   Double range_one_start = Double.parseDouble(list_p_to_p_clr_buffalo.get(i).fat_from_P_To_P_CLR_Buffalo);
   Double range_one_end = Double.parseDouble(list_p_to_p_clr_buffalo.get(i).fat_to_P_To_P_CLR_Buffalo);
   Double range_two_start = Double.parseDouble(list_p_to_p_clr_buffalo.get(i).CLR_from_P_To_P_CLR_Buffalo);
   Double range_two__end = Double.parseDouble(list_p_to_p_clr_buffalo.get(i).CLR_to_P_To_P_CLR_Buffalo);
   Double rate = Double.parseDouble(list_p_to_p_clr_buffalo.get(i).rate_P_To_P_CLR_Buffalo);
   Log.e("IF Condition == >", " " +(fatRate >= range_one_start && fatRate <= range_one_end && clrRate >= range_two_start && clrRate <= range_two__end ));

   try {
       if(fatRate >= range_one_start && fatRate <= range_one_end && clrRate >= range_two_start && clrRate <= range_two__end ) {
           Log.e("IF CONDITION DEBUG == >", "CONDITION OK");
           pToPClrRate = rate;
           Log.e("Rate***pToPClrRate* Buff** ==>",""+pToPClrRate);
            runOnUiThread(new Runnable() {
                public void run() {
                    // some code #3 (Write your code here to run in UI thread)
                    condition = true; 
                    refreshBtn.setEnabled(true);
                }
            });

            break; // this break statement is not working its not breaking the loop.
        }
        else{
            runOnUiThread(new Runnable() {
                public void run() {
                    // some code #3 (Write your code here to run in UI thread)
                    condition = false; 
                    refreshBtn.setEnabled(false);
                 }
            });

            Log.e("IF CONDITION DEBUG == >", "CONDITION no else part");
        }


    } catch (Exception e) {
         // TODO: handle exception
         Log.e("Exception  == >", " "+ e);
    }

}

结论:无论如何检查你的条件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章