Advertisement
sneyzi

Untitled

Jun 7th, 2021
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.84 KB | None | 0 0
  1. import java.awt.EventQueue;
  2.  
  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. import javax.swing.border.EmptyBorder;
  6. import javax.swing.JMenu;
  7. import javax.swing.JMenuBar;
  8. import javax.swing.JMenuItem;
  9. import javax.swing.JOptionPane;
  10.  
  11. import java.awt.event.ActionListener;
  12. import java.awt.event.ActionEvent;
  13. import javax.swing.JTextArea;
  14. import javax.swing.JLabel;
  15. import javax.swing.JTextField;
  16. import javax.swing.JCheckBox;
  17. import javax.swing.JScrollPane;
  18.  
  19. public class Task2 extends JFrame {
  20.  
  21. /**
  22. *
  23. */
  24. private static final long serialVersionUID = 1L;
  25. private JPanel contentPane;
  26. private JTextField textField;
  27. private JTextField textField_1;
  28. private JTextField textField_2;
  29.  
  30. /**
  31. * Launch the application.
  32. */
  33. public static void main(String[] args) {
  34. EventQueue.invokeLater(new Runnable() {
  35. public void run() {
  36. try {
  37. Task2 frame = new Task2();
  38. frame.setVisible(true);
  39. } catch (Exception e) {
  40. e.printStackTrace();
  41. }
  42. }
  43. });
  44. }
  45.  
  46. /**
  47. * Create the frame.
  48. */
  49. public Task2() {
  50. setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  51. setBounds(100, 100, 653, 391);
  52. contentPane = new JPanel();
  53. contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
  54. setContentPane(contentPane);
  55. contentPane.setLayout(null);
  56.  
  57. JMenuBar menuBar = new JMenuBar();
  58. menuBar.setBounds(0, 0, 435, 21);
  59. contentPane.add(menuBar);
  60.  
  61. JMenu mnNewMenu = new JMenu("\u041E\u0431\u0447\u0438\u0441\u043B\u0435\u043D\u043D\u044F");
  62. menuBar.add(mnNewMenu);
  63.  
  64. JScrollPane scrollPane = new JScrollPane();
  65. scrollPane.setBounds(10, 32, 371, 314);
  66. contentPane.add(scrollPane);
  67.  
  68. JTextArea textArea = new JTextArea();
  69. scrollPane.setViewportView(textArea);
  70.  
  71. JPanel panel = new JPanel();
  72. panel.setBounds(474, 32, 129, 92);
  73. contentPane.add(panel);
  74.  
  75. JCheckBox chckbxNewCheckBox = new JCheckBox("\u043D\u0430 \u0435\u043A\u0440\u0430\u043D");
  76. panel.add(chckbxNewCheckBox);
  77.  
  78. JCheckBox chckbxNewCheckBox_1 = new JCheckBox("\u043F\u043E\u0445\u0456\u0434\u043D\u0430");
  79. panel.add(chckbxNewCheckBox_1);
  80.  
  81. JCheckBox chckbxNewCheckBox_2 = new JCheckBox("\u0443 \u043C\u0430\u0441\u0438\u0432");
  82. panel.add(chckbxNewCheckBox_2);
  83.  
  84. JLabel lblNewLabel = new JLabel("y=sin x-0,2");
  85. lblNewLabel.setBounds(392, 33, 63, 14);
  86. contentPane.add(lblNewLabel);
  87.  
  88. JLabel lblNewLabel_1 = new JLabel("\u043B\u0456\u0432\u0430 \u043C\u0435\u0436\u0430");
  89. lblNewLabel_1.setBounds(505, 153, 83, 14);
  90. contentPane.add(lblNewLabel_1);
  91.  
  92. JLabel label = new JLabel("\u043F\u0440\u0430\u0432\u0430 \u043C\u0435\u0436\u0430");
  93. label.setBounds(505, 197, 83, 14);
  94. contentPane.add(label);
  95.  
  96. JLabel label_1 = new JLabel("\u043A\u0440\u043E\u043A");
  97. label_1.setBounds(505, 240, 83, 14);
  98. contentPane.add(label_1);
  99.  
  100. textField = new JTextField();
  101. textField.setBounds(502, 173, 86, 20);
  102. contentPane.add(textField);
  103. textField.setColumns(10);
  104.  
  105. textField_1 = new JTextField();
  106. textField_1.setColumns(10);
  107. textField_1.setBounds(501, 214, 86, 20);
  108. contentPane.add(textField_1);
  109.  
  110. textField_2 = new JTextField();
  111. textField_2.setColumns(10);
  112. textField_2.setBounds(502, 258, 86, 20);
  113. contentPane.add(textField_2);
  114.  
  115. JMenuItem mntmNewMenuItem = new JMenuItem("\u043F\u0440\u043E\u0442\u0430\u0431\u0443\u043B\u044E\u0432\u0430\u0442\u0438");
  116. mntmNewMenuItem.addActionListener(new ActionListener() {
  117. public void actionPerformed(ActionEvent e) {
  118. if (chckbxNewCheckBox.isSelected())
  119. textArea.setText("x f(x)");// вставляємо рядок з підписами стовпців аргументу і значення функції)
  120.  
  121. double a = Double.parseDouble(textField.getText());// Одержуємо числове значення лівої межі
  122. double b = Double.parseDouble(textField_1.getText());// Одержуємо числове значення правої межі
  123. double h = Double.parseDouble(textField_2.getText());// Одержуємо числове значення кроку
  124.  
  125. int i = 0, count = 0, maxElementNumber = 0;
  126.  
  127. double x = a, y; // Починаємо табулювати з лівої межі
  128. double[] masiv = new double[(int) ((b - a) / h) + 1];
  129. double min = 2 * Math.cos(a);
  130.  
  131. while (x <= b) { // поки аргумент х не перевищить праву межу з певним допуском
  132. y = chckbxNewCheckBox_1.isSelected() ? Math.cos(x) : Math.sin(x) - 0.2;
  133.  
  134. //y = 2 * Math.cos(x); // Обчислюємо значення функції
  135. if (chckbxNewCheckBox_2.isSelected()) {
  136. masiv[i] = y;
  137.  
  138. if (masiv[i] < min) {
  139. min = masiv[i];
  140. maxElementNumber = i-1;
  141. }
  142.  
  143. if (masiv[i] > -0.5 && masiv[i] < 0) {
  144. count++;
  145. }
  146.  
  147. i++;
  148. }
  149.  
  150. if (chckbxNewCheckBox.isSelected())
  151. textArea.append("\n" + x + " " + y + (chckbxNewCheckBox_2.isSelected() ? " -" + i + "ий елемент масиву " : "")); // Вставляємо рядок у поле
  152. x = x + h; // Збільшуємо аргумент на величину кроку)
  153. }
  154.  
  155. if (chckbxNewCheckBox_2.isSelected()) {
  156. textArea.append("\nНомер максимального елементу: " + maxElementNumber);
  157. textArea.append("\nКількість елементів більших (-0,5) , але менших 0: " + count);
  158. }
  159. }
  160. });
  161. mnNewMenu.add(mntmNewMenuItem);
  162.  
  163. JMenuItem mntmNewMenuItem_1 = new JMenuItem("\u043E\u0447\u0438\u0441\u0442\u0438\u0442\u0438");
  164. mntmNewMenuItem_1.addActionListener(new ActionListener() {
  165. public void actionPerformed(ActionEvent arg0) {
  166. textArea.setText("");
  167. }
  168. });
  169. mnNewMenu.add(mntmNewMenuItem_1);
  170.  
  171. JMenu menu = new JMenu("\u041A\u0456\u043D\u0435\u0446\u044C");
  172. menuBar.add(menu);
  173.  
  174. JMenuItem mntmNewMenuItem_2 = new JMenuItem("\u043F\u0440\u043E \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u0443");
  175. mntmNewMenuItem_2.addActionListener(new ActionListener() {
  176. public void actionPerformed(ActionEvent arg0) {
  177. JOptionPane.showMessageDialog(null, "Про програму", null, JOptionPane.INFORMATION_MESSAGE);
  178. }
  179. });
  180. menu.add(mntmNewMenuItem_2);
  181.  
  182. JMenuItem mntmNewMenuItem_3 = new JMenuItem("\u043F\u0440\u043E \u0430\u0432\u0442\u043E\u0440\u0430");
  183. mntmNewMenuItem_3.addActionListener(new ActionListener() {
  184. public void actionPerformed(ActionEvent e) {
  185. JOptionPane.showMessageDialog(null, "Про автора", null, JOptionPane.INFORMATION_MESSAGE);
  186. }
  187. });
  188. menu.add(mntmNewMenuItem_3);
  189.  
  190. JMenuItem mntmNewMenuItem_4 = new JMenuItem("\u0432\u0438\u0445\u0456\u0434");
  191. mntmNewMenuItem_4.addActionListener(new ActionListener() {
  192. public void actionPerformed(ActionEvent e) {
  193. System.exit(0);
  194. }
  195. });
  196. menu.add(mntmNewMenuItem_4);
  197. }
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement