Android break语句无法使循环停止
我在数据库中有一些值。 我正在根据Android break语句无法使循环停止,android,database,sqlite,Android,Database,Sqlite,我在数据库中有一些值。 我正在根据 我需要但问题是将它与列表的最后一个值进行比较。 如果我得到的值与条件相比较,则循环应中断,并使用循环中的中断条件(如果条件不起作用)退出。 就像数据一样 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 ran
我需要但问题是将它与列表的最后一个值进行比较。
如果我得到的值与条件相比较,则循环应中断,并使用循环中的中断条件(如果条件不起作用)退出。
就像数据一样
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
以此类推,我想获取序列号2的数据,因此我将传递数据范围1=1.12和范围2=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;
}
if(1.12>=1.11&&1.12=20.00&&20=range\u one\u start&&range\u one=range\u two\u start&range\u two首先,您应该检查您的if
条件,您可以使用日志进行调试
Log.d("IF CONDITION DEBUG", "CONDITION OK");
将上述代码复制并粘贴到您的if
条件中。然后检查日志。首先,您应该检查您的if
条件,您可以使用Log
进行调试
Log.d("IF CONDITION DEBUG", "CONDITION OK");
将上述代码复制并粘贴到您的if
条件中。然后检查您的日志。请验证您的if条件:
if(Range_one >= range_one_start && Range_one <= range_one_end && Range_two >= range_two_start && Range_two <= range_two__end )
{}
if(Range\u one>=Range\u one\u start&&Range\u one=Range\u two\u start&&Range\u two请验证您的if条件:
if(Range_one >= range_one_start && Range_one <= range_one_end && Range_two >= range_two_start && Range_two <= range_two__end )
{}
如果(Range\u one>=Range\u one\u start&&Range\u one=Range\u two\u start&&Range\u two使用以下代码:
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);
}
}
for(int i=0;i Log.e(“如果条件==>”,“”+(fatRate>=range\u one\u start&&fatRate=range\u two\u start&&clrRate=range\u one\u start&&fatRate=range\u two\u start&&clrRate使用以下代码:
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);
}
}
for(int i=0;i Log.e(“IF Condition==>”、“+(fatRate>=range\u one\u start&&fatRate=range\u two\u start&&clrRate=range\u one\u start&&fatRate=range\u two\u start&&clrRate使用适当的命名约定并澄清问题,以便其他人能够轻松理解您需要什么?您如何知道它“不起作用”?您是否使用了调试器?如果您在中断之前和之后放置日志语句,您是否看到第一个而不是第二个?顺便说一句,您在If
块中声明了一个本地rate\u值
,该块从未用于任何事情。@KristopherJohnson yea我使用了degugger,rate\u值是global变量仅用于我在if块中的变量中编写的问题。使用适当的命名约定并澄清问题,以便其他人能够轻松理解您需要什么?您如何知道它“不起作用”?您是否使用了调试器?如果您在中断之前和之后放置日志语句,您是否看到第一个而不是第二个?顺便说一句,您在If
块中声明了一个本地rate\u值
,该块从未用于任何事情。@KristopherJohnson yea我使用了degugger,rate\u值是glob如果我输入序列号=1值,如果我输入序列号=2值,它不会出现如果条件,它不会出现,如果我输入序列号=1值,它不会出现,如果我输入序列号=2值,它不会出现预兆