Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

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

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

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

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

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

КАТЕГОРИИ:






Package javaapplication2;




// импорт библиотеки графических компонентов Swing

import javax.swing.*;

public class JavaApplication2 // описание главного класса

{

public static void main(String[] args)

{

// описание переменных:

Double x, y, sLeft, sRight, alfa, sinAlfa, segment;

String input, text;

y=0.0;

sLeft=0.0;

sRight=0.0;

// вызов диалогового окна ввода исходных данных

input=JOptionPane.showInputDialog("Введите значение переменной x:");

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

x=Double.parseDouble(input);

if (x<=1.0) //первый участок

{

y=Math.sqrt(1.0 - (x - 1.0) * (x - 1.0));

if (x<=0.0)

y=0.0;

}

Else

{ //второй участок

y=Math.sqrt(1.0 - (x - Math.floor(x)) * (x - Math.floor(x)));

if (x>=2.0)

y=0.0;

}

if (x==1.0) //двойной знак равенства!

{

sLeft=0.7854;

sRight=0.7854;

}

if (x<1.0) //первый участок

{

sinAlfa=y;

if (sinAlfa!=1.0)

alfa=Math.atan(sinAlfa/Math.sqrt(1.0 - sinAlfa*sinAlfa));

else alfa=Math.PI/2.0;

segment=0.5*(alfa - sinAlfa);

sLeft=segment + 0.5*x*y;

sRight=Math.PI/2.0 - sLeft;

} //x<1.0

if (x>1.0) //второй участок

{

x=2.0-x;

sinAlfa=y;

if (sinAlfa!=1.0)

alfa=Math.atan(sinAlfa/Math.sqrt(1.0 - sinAlfa*sinAlfa));

else alfa=Math.PI/2.0;

segment=0.5*(alfa - sinAlfa);

sLeft=segment + 0.5*x*y;

sRight=Math.PI/2.0 - sLeft;

} //x>1.0

// формирование строки вывода

text="Результат работы программы:\ny=" + y + "\ns_left=" + sLeft + "\ns_right=" + sRight;

// вызов диалогового окна вывода

JOptionPane.showMessageDialog(null, text);

}

}

Переключатель

Часто приходится делать выбор не между двумя, а между несколькими путями решения задачи. Такую ситуацию называют переключателем:

 

В языке Java переключатель реализуется оператором switch (переключатель):

Switch (селектор)

{

case метка-1: оператор-1;

Break;

case метка-2: оператор-2;

Break;

case метка-3: оператор-3;

Break;

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

default: оператор-n;

}

 

где switch - служебное слово переключатель,

case - служебное слово вариант,

селектор - переменная или выражение целого или символьного типов (обязательно ставится в скобках);

метка-1, метка-2,… - метки вариантов – значения селектора –

целые числа, символы или имена констант,

break - служебное слово прервать,

default - служебное слово по умолчанию (не обязательно).

Действия оператора:

1. вычисляется значение селектора,

2. это значение отыскивается среди меток вариантов,

3. выполняется оператор, стоящий за найденной меткой,

4. если далее стоит оператор break, то осуществляется выход из переключателя, иначе выполняется следующий оператор в нем,

5. если метка не найдена, то выполняется оператор, стоящий за словом default.

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

Switch (селектор)

{

case метка-1: case метка-2: case метка-3: оператор-1;

Break;

case метка-4: case метка-5: оператор-2;

Break;

case метка-6: оператор-3;

Break;

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

default: оператор-n;

}

Эту структуру можно представить в следующем виде:

Switch (селектор)

{

case метка-1:

case метка-2:

case метка-3: оператор-1;

Break;

case метка-4:

case метка-5: оператор-2;

Break;

case метка-6: оператор-3;

Break;

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

default: оператор-n;

}

Внимание! Метки вариантов не должны повторяться!

Если в переключателе убрать операторы break, то после выполнения оператора, стоящего за найденной меткой вариантов, выполняются все оставшиеся операторы, в том числе и оператор после слова default:

Int i;

String input;

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

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

i=Integer.parseInt(input);

Switch (i)

{

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

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

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

}

При вводе цифры 0 на экран будут выведены сообщения:

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






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных