Понимание оператора 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" было бы достаточно. Более того, поскольку это присваивание одинаково для всех итераций цикла, вытащите его наружу и присвойте перед циклом.

Другие вопросы по тегам