ТОР 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. на устройство вывода постоянно выводится одна и та же информация. Таким образом, бесконечные циклы – это логические ошибки программиста. С ними сталкивается любой программист, и поэтому необходимо овладеть методами их поиска. Не нашли, что искали? Воспользуйтесь поиском:
|