import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class ouuyy{
private JFrame window;
private JPanel mainPanel, inputPanel, buttonPanel;
private JTextField jtxtNum1,jtxtNum2;
private JLabel jlblNum1Caption,jlblNum2Caption;
private JButton jbtndey;
public ouuyy() {
window = new JFrame("Калькулятор");
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setResizable(false);
mainPanel = new JPanel(new BorderLayout());
inputPanel = new JPanel();
buttonPanel = new JPanel();
inputPanel.setLayout(new GridLayout(1, 4));
buttonPanel.setLayout(new GridLayout(2, 4, 5, 5));
mainPanel.add(inputPanel, BorderLayout.NORTH);
mainPanel.add(buttonPanel, BorderLayout.CENTER);
window.getContentPane().add(mainPanel);
addButtonsAndTextFields();
window.pack();
window.setLocationRelativeTo(null);
window.setVisible(true);
}
ActionListener oty = new ouyy();
public void addButtonsAndTextFields() {
jbtndey = new JButton("deystvio");
jlblNum1Caption = new JLabel("Число 1: ", JLabel.RIGHT);
jlblNum2Caption = new JLabel("папа кака,,ответ: ", JLabel.RIGHT);
jtxtNum1 = new JTextField("");
jtxtNum2 = new JTextField("");
jbtndey.addActionListener(oty);
buttonPanel.add(jbtndey);
inputPanel.add(jlblNum1Caption);
inputPanel.add(jtxtNum1);
inputPanel.add(jlblNum2Caption);
inputPanel.add(jtxtNum2);
}
private class ouyy implements ActionListener{
@Override
public void actionPerformed(ActionEvent event) {
if (event.getSource() == jbtndey) {
dey();
}}
}
private void dey() {
String input;
input = jtxtNum1.getText();
String[] strings = input.split("\\W");
String[] operator = input.split("\\w");
for (String i:strings) {
float hh =Float.parseFloat(i);
String gf = strings[strings.length - 1];
for (String gg:operator) {
String ff=gg;
jtxtNum2.setText ("");
}
}
}
}
Andry KIT
5 уровень
привет как зделать так чтоби я мог вести пример в первую строку и получить ответ в второй строке ,но при этом я хочу чтоби мой калькулятор бил многострочен например я вожу 4/2+1 и во вторй строке должно получитса 3
Обсуждается
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ksenia MarioMaster
22 июня 2020, 21:49
питання максимально не зрозуміле))
якщо значення - це вхідні дані - то логіку прописуєш ти в коді.
багатопоточність - це коли одночасно на двох процесорах працює твоя прога. для калькулятора - даром не потрібна штука.
0
Andry KIT
22 июня 2020, 19:24
мне надо знать логу обработки значений и простите за граматику и такую наглую просьбу
0
Andry KIT
22 июня 2020, 19:27
*логику
0
Wladyslaw Java Developer Master
22 июня 2020, 21:58
гугли что такое токенайзеры, парсеры, теорию компиляторов можешь почитать.
Если про математические выражения говорить - есть метод рекурсивного спуска, есть постфиксная нотация и алгоритм сортировочной станции.
0
Andry KIT
23 июня 2020, 16:21
спасибо
0