Эта статья разделяет функции Java, реализующего простой калькулятор. Конкретный контент заключается в следующем
тема:
Напишите программу, которая имитирует калькулятор. Добавьте текстовое поле на панель (отображая клавиши и результаты расчета),
10 цифровых кнопок (0 ~ 9), 4 кнопки для работы (добавьте, вычитайте, умножьте, разделяйте), кнопку равного знака и кнопку Clear.
Требуется ключи и результаты, которые будут отображаться в текстовом поле.
Дисплей процесса кода:
Импорт java.awt.container; import java.awt.flowlayout; import java.awt.gridlayout; import java.awt.event.actionevent; импорт java.awt.event.actionlistener; импорт javax.swing.jbutton; импорт javax.swing.jframe; импорт. javax.swing.jtextfield; Public Class Creer1 Extens Jframe реализует ActionListener {private jPanel P1 = new jPanel (); // Создать панель частного JPanel P2 = new jPanel (); // Создать панель частного JTextfield T1; // Текстовое поле 1 используется для отображения входной информации StringBuffer Str; // входная строка jbutton [] b = new jbutton [10]; Jbutton B1, B2, B3, B4, B5, B6; // 16 кнопок двойной x, y; int n; public urday1 () {super ("Большая цель фальшивого капитана"); setSize (350 300); // Установить размер окна setlocationRelativeTo (null); // показать в среднем контейнере c = getContentPane (); // Создать объект панели контента T1 = new JTextField (25); T1.SetEdable (false); // только отображение, p2.add (t1); // Добавить текстовые поля на панель P2.setLayout (New Gridlayout (3,2)); // расположить лицо к 4 рядам и 1 столбце str = new stringbuffer (); // экземпляр каждая кнопка для (int i = 0; i <10; i ++) // Установить метки для кнопок 0 ~ 9 в массиве и зарегистрировать слушатель {string s = ""+i; b [i] = новый Jbutton (ы); b [i] .addactionListener (это); } b1 = new jbutton ("+"); b2 = new jbutton ("-"); b3 = new jbutton ("*"); b4 = new jbutton ("/"); b5 = new jbutton ("="); b6 = new jbutton ("delete"); // Добавить на панель P1.Add (B [7]); p1.add (b [8]); p1.add (b [9]); p1.add (b1); p1.add (b [4]); p1.add (b [5]); p1.add (b [6]); P1.Add (B2); p1.add (b [1]); p1.add (b [2]); p1.add (b [3]); p1.add (b3); p1.add (b [0]); p1.add (b5); p1.add (b6); p1.add (b4); p1.setlayout (новый Gridlayout (4,5,10,10)); // зарегистрировать слушатель b1.addactionListener (это); b2.addactionListener (это); B3.AddactionListener (это); B4.AddactionListener (это); b5.addactionListener (это); b6.addactionListener (это); // Добавить содержимое на панель и добавить в контейнер c.add (p2); C.Add (P1); c.setlayout (new Flowlayout ()); // Установить для последовательного макета // Установить окно закрытие действия setDefaultCloseoPeration (jframe.exit_on_close); // установить окно закрыть действие setVisible (true); // установить на видимый setReSizable (false); // размер кадра запрещено} public static void main (string [] args) {// todo, сгенерированный автоматическим методом @suppresswarnings («неиспользованный») упражнение1 Расчет = Новое упражнение1 (); } @Override public void actionperformed (actionEvent e) {// todo автоматически генерируемый метод stub if (e.getsource () == b6) {t1.settext ("0"); // Очистить T1.SethorizontalAlignment (jtextfield.right); // Право, выравнивающая str.setLength (0); } //Double.parsedouble преобразует строку в двойной тип //t1.getText (). Trim () Получите символ сохранения и очищает иначе if (e.getSource () == b1) // Нажмите кнопку плюс, чтобы получить значение x и очистить значение y {x = double.parsedouble (t1.getText (). str.setLength (0); y = 0d; n = 0; } else if (e.getSource () == b2) // Операция вычитания {x = double.parsedouble (t1.getText (). trim ()); str.setLength (0); y = 0d; n = 1; } else if (e.getSource () == b3) // множественная операция {x = double.parsedouble (t1.getText (). trim ()); str.setLength (0); y = 0d; n = 2; } else if (e.getSource () == b4) // Разделение операции {x = double.parsedouble (t1.getText (). trim ()); str.setLength (0); y = 0d; n = 3; } else if (e.getSource () == b5) // ровный знак {str.setLength (0); Switch (n) {case 0: t1.settext (""+(x+y)); break; Случай 1: t1.settext (""+(xy)); Break; Случай 2: t1.settext (""+(x*y)); Break; Случай 3: t1.settext (""+(x/y)); Break; }} else {if (e.getSource () == b [0]) {if (t1.getText (). trim (). equals ("0")) // Если дисплей равен нулю, не работайте {} else t1.settext (str.append (e.getactioncommand ()). tostring ()); T1.SethorizontalAlignment (jtextfield.right); y = double.parsedouble (t1.getText (). trim ()); } else {t1.settext (str.Append (e.getActionCommand ()). toString ()); T1.SethorizontalAlignment (jtextfield.right); y = double.parsedouble (t1.getText (). trim ()); }}}}Резюме: Код немного длинный, но он не сложно после реального понимания. Конечно, это просто простой калькулятор моделирования.
Другие функции также могут быть добавлены к нему. Например, добавление экспоненциальных операций, эксплуатационных операций, квадратных операций или сделать интерфейс красивым,
Добавьте текстовое поле результата с отображенным выше номером и результатом, отображаемым ниже. Конечно, чтобы сказать так много, это все еще зависит от того, что читатели сами изучают это.
Все вышеперечисленное - все содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.