Главная | Случайная
Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Это цифра один или два. Это неизвестная цифра




Это неизвестная цифра

Для того, чтобы после выполнения нужной ветви оператора switch другие операторы не выполнялись, каждая ветвь должна заканчиваться оператором break:

Int i;

String input;

input=JOptionPane.showInputDialog("Введите цифру:");

// преобразование из строкового значения в целое

i=Integer.parseInt(input);

Switch (i)

{

case 0: System.out.printf(“\nЭто цифра ноль”);

Break;

case 1: case 2: System.out.printf(“\nЭто цифра один или два”);

Break;

default: System.out.printf(“\nЭто неизвестная цифра”);

}

В этом случае после ввода цифры 0 на экран будет выведено только одно сообщение:

Это цифра ноль

Если в каждой ветви switch стоит не по одному, а по нескольку операторов, то необходимо брать их в фигурные скобки:

Switch (селектор)

{

case метка-1:

{

Оператор;

Оператор;

Оператор;

Break;

}

case метка-2:

{

Оператор;

Оператор;

Break;

}

. . . . . . . . . . . . . . . . .

default:

{

Оператор;

Оператор;

}

}

Для улучшения читаемости программы необходимо использовать сдвиг операторов.

Можно использовать вложенные операторы switch, при этом в разных операторах могут быть одинаковые метки вариантов:

Switch (n)

{

case 0: оператор;

Break;

case 1: switch (m)

{

case 0: оператор;

Break;

case 1: оператор;

Break;

default: оператор;

}

case 3: оператор;

Break;

. . . . . . . . . . . . . . . . .

default: оператор;

}

Пример:по заданному номеру месяца года определить количество дней в нем. В этом переключателе всего три ветви:

Int month;

String input;

input=JOptionPane.showInputDialog("Введите номер месяца:");

// преобразование из строкового значения в целое

month=Integer.parseInt(input);

Switch (month)

{

case 1: case 3: case 5:

case 7: case 8: case 10:

case 12: System.out.printf(“\n31 день”);

Break;

case 4: case 6: case 9:

case 11: System.out.printf(“\n30 дней”);

Break;

case 2: System.out.printf(“\n28 дней”);

Break;

default: System.out.printf(“\nТакого месяца нет\n”);

}

Часто встречающиеся ошибки программирования:

1. Точка с запятой после скобок селектора:

Switch (n);

{

case 0: оператор;

Break;

. . . . . . . . . .

2. Отсутствие фигурных скобок после слова switch :

Switch (n)

case 0: оператор;

Break;

. . . . . . . . . .

3. Перечисление меток вариантов без слов case:

Switch (n)

{

case 0, 1, 2: n++;

Break;

. . . . . . . . . .

4. Перечисление меток вариантов через запятые:

Switch (n)

{

case 0, case 1, case 2: n++;

Break;

. . . . . . . . . .

5. Отсутствие оператора break после ветвей переключателя:

Switch (n)

{

case 0: case 1: case 2: n++;

case 3: n--;

. . . . . . . . . .

Циклы

Одним из самых ценных свойств компьютеров является их способность многократно повторять последовательность одинаковых или похожих действий - циклов.

Являясь наиболее мощными структурами алгоритмических языков, циклы подразделяются на:

1. бесконечные циклы,

2. циклы с предусловием (циклы типа ПОКА),

3. циклы с постусловием (циклы типа ДО),

4. циклы с параметром (циклы типа ДЛЯ).

 

Бесконечные циклы

Бесконечный цикл может быть представлен следующей схемой:

 

int i=0, n=5;

//следующие операторы образуют бесконечный цикл:

while (i<=n)

{

i++;

I--;

}

Как правило, появление в программе бесконечных циклов вызвано логическими ошибками, допущенными программистом при разработке алгоритма и кодировании (написании операторов программы). Бесконечные циклы не выявляются комилятором при синтаксическом контроле и проявляются только после запуска программы на выполнение следующим образом:

1. длительное время (десятки секунд) программа не выводит на устройство вывода никакой информации – программа зависает,

2. на устройство вывода постоянно выводится одна и та же информация.

Таким образом, бесконечные циклы – это логические ошибки программиста. С ними сталкивается любой программист, и поэтому необходимо овладеть методами их поиска.

vikidalka.ru - 2015-2017 год. Все права принадлежат их авторам!