Понимание оператора break и его обработка для существующего кода
В приведенном ниже примере у меня есть проблема в обработке оператора break. Для страны = США, somearray будет только длины один. но в случае "DE" длина больше единицы. но для данной программы, поскольку оператор break используется для выхода после обработки 1-й строки, он не подходит для страны DE, так как страна DE имеет более одной строки. Так как повторное использование - лучший способ, проверить, есть ли какой-либо способ, который я могу использовать повторно. та же логика для страны =DE, а также
if(country == "US" || country == "DE")
{
for(int i = 0; i < somearray.length(); i++)
{
if( (payment == "USD") )
{
if(amount > 0)
{
//do something
}
if( balance.is_positive())
{
// do something
}
break;
}
}
}
Примечание: это не фактический код.. просто написал как пример, чтобы понять..
2 ответа
if(country = "US" || country = "DE")
{
for(int i = 0; i < somearray.length(); i++)
{
if( (payment == "USD") )
{
if(amount > 0)
{
//do something
}
if( balance.is_positive())
{
// do something
}
if(somearray.length()==1) // as per Your requirement country **us** has **length 1** ,in this can break the loop
{break;}
}
}
}
Из того, что я понял, вы хотите обработать каждый элемент в somearray
, Поэтому удаления оператора break будет достаточно. if (payment = "USD")
здесь бесполезно, простое утверждение payment="USD"
было бы достаточно. Более того, поскольку это присваивание одинаково для всех итераций цикла, вытащите его наружу и присвойте перед циклом.