Разработка программы "Цифровой калькулятор"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

ack); // задаём цвет названия кнопки(i==0) // если i=0, тогда выполняется метод addActionListener (new InsertAction ()) кнопки button, добавляющий новый объект класса InsertAction

{. addActionListener (new InsertAction ()); } // обработка нажатия кнопки передаётся классу InsertAction (), заполняется переменная input(i==1) // если i=1, тогда выполняется метод addActionListener кнопки button

{. addActionListener (new CommandAction ());

}. add (button); // добавляем кнопку button на компоненту (область) panel

}class InsertAction implements ActionListener // создадим класс InsertAction, поддерживающий интерфейс ActionListener (обрабатывает нажатие на клавиши 1,2,3,4 и т.д.)

{void actionPerformed (ActionEvent event) // напишем метод actionPerformed как это требует ActionListener

{input=event. getActionCommand (); // создадим переменную, хранящую введённую команду (getActionCommand () - метод с помощью которого можно получить значение нажатой кнопки) (start)

{display. setText (""); // присвоим переменной display значение пустой стороки

start=false; }(! input. equals (". ") || (display. getText (). lastIndexOf (". ") <0)) // проверка на вторую точку

display. setText (display. getText () +input); // присвоим переменной display значение предыдущей и следующей строки

}

}

private class CommandAction implements ActionListener // создадим класс CommandAction, поддерживающий интерфейс ActionListener (обрабатывает нажатие на клавиши действия)

{

public void actionPerformed (ActionEvent event) // напишем метод actionPerformed как это требует ActionListener

{

String command=event. getActionCommand (); (); // создадим переменную, хранящую введённую команду (getActionCommand () - метод с помощью которого можно получить значение нажатой кнопки)

if (start)

{(command. equals ("-")) // если переменная command содержит знак минус

{display. setText (command); // присвоим переменной display значение переменной command=false;

}lastCommand=command; // иначе присвоим переменной lastCommand значение переменной command

{if (! display. getText (). equals ("-")) // выполняем метод calculate, если display. getText () не содержит знак -(Double. parseDouble (display. getText ())); // иначе метод calculate проведёт все расчёты; передаём методу calculate действительное значение, получаемое преобразованием строки в число (Double. parseDouble)=command; // присвоим переменной lastCommand значение переменной command=true;

}

}

}void calculate (double x) // создадим (опишем) метод calculate

{double y=Math. toRadians (x); // переводим радианы в градусы

if (lastCommand. equals ("+")) result+=x; // if (lastCommand. equals ("-")) result-=x;if (lastCommand. equals ("*")) result*=x;if (lastCommand. equals ("/")) result/=x;if (lastCommand. equals ("X^2")) result=Math. pow (x,2);if (lastCommand. equals ("1/x")) result=1/x;if (lastCommand. equals ("%")) result=x/100;if (lastCommand. equals ("X^3")) result=Math. pow (x,3);if (lastCommand. equals ("sqrt")) result=Math. sqrt (x);if (lastCommand. equals ("sin")) result=Math. sin (y);if (lastCommand. equals ("cos"))

{ if (x==90) result=0; else=Math. cos (y);

}if (lastCommand. equals ("tan")) result=Math. tan (y);if (lastCommand. equals ("=")) result=x;if (lastCommand. equals ("ctg")) result=1/ (Math. tan (y));if (lastCommand. equals ("Asin")) result= (180/Math. PI) * (Math. atan (x/Math. sqrt (1 - x*x)));if (lastCommand. equals ("Acos"))= (180/Math. PI) * ( (Math. PI / 2 - (Math. atan (x/Math. sqrt (1 - x*x)))));if (lastCommand. equals ("Atan")) result= (180/Math. PI) * (Math. atan (x));if (lastCommand. equals ("LN")) result=Math. log (x);if (lastCommand. equals ("Log")) result=Math. log (x);if (lastCommand. equals ("10^x"))

{double S=1;(double u=1; u<=x; u++)=10*S;=S;

}if (lastCommand. equals ("Exp")) result=Math. exp (x);if (lastCommand. equals ("X^Any"))

{ss=JOptionPane. showInputDialog

("Выберете степень");

int ii=Integer. parseInt (ss);

result=Math. exp (ii* (Math. log (x)));=Math. round (result*100) /100;

}else if (lastCommand. equals ("n!"))

{ double P=1;(int t=1; t<=x; t++)

P=t*P;=P;

} else if (lastCommand. equals ("y%x"))

{qq=JOptionPane. showInputDialog

("Выберете желаемый процент от числа");

double ww=Double. parseDouble (qq);=x*ww/100;

}. setText (" "+result); // присвоим значение result переменной display для вывода на экран

}

}

руководство пользователь программа калькулятор

 

 

Алгоритмы

 

Алгоритм №1.

 

Алгоритм №2.

Алгоритм №3.

 

Тестовые примеры

 

1)Скриншот программы.

 

 

2)Вычитание. (12-5=7)

 

 

 

3)Возведение x в любую степень (X^Y). (2^5=32)

 

 

 

 

4)Вычисление синуса числа x (sin (x)) (sin (90) =1)

 

 

5)Вычисление y процентов от числа x (Y%X) (11% от 300=33)

 

 

 

6)Вычисление факториала числа x (x!; x={N}) (7! =5040)

 

Источники

 

1.">

2.-.">

.)">Видео уроки Java от Teach Pro (

.">