Проект калькулятор в Java. Реферат

Территория рекламы
Реферат на тему: «Проект калькулятор в Java»

Давыдов Иван 11ТО

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MyCalc extends JFrame {

private JButton display;

private double result;

private String lastCom;

private boolean start;

private void addButton(String name, ActionListener listener, int x, int y,

       int width, int height) {

   JButton button = new JButton(name);

   button.setBounds(x, y, width, height);

   button.addActionListener(listener);

   getContentPane().add(button);

}

public MyCalc() {

   getContentPane().setLayout(null);

   setTitle("Мой калькулятор");

   setBounds(200, 200, 203, 242);

   getContentPane().setBackground(new Color(100, 149, 237));

   ActionListener output = new OutputAction();

   ActionListener command = new CommandAction();

   result = 0;

   lastCom = "=";

   start = true;

   display = new JButton("0");

   display.setEnabled(false);

   display.setBounds(5, 10, 177, 30);

   addButton("7", output, 5, 50, 41, 20);

   addButton("8", output, 50, 50, 41, 20);

   addButton("9", output, 95, 50, 41, 20);

   addButton("/", command, 140, 50, 41, 20);

   addButton("4", output, 5, 75, 41, 20);

   addButton("5", output, 50, 75, 41, 20);

   addButton("6", output, 95, 75, 41, 20);

   addButton("*", command, 140, 75, 41, 20);

   addButton("1", output, 5, 100, 41, 20);

   addButton("2", output, 50, 100, 41, 20);

   addButton("3", output, 95, 100, 41, 20);

   addButton("-", command, 140, 100, 41, 20);

   addButton("0", output, 5, 125, 41, 20);

   addButton(".", output, 50, 125, 41, 20);

   addButton("=", command, 95, 125, 41, 20);

   addButton("+", command, 140, 125, 41, 20);

   addButton("с", command, 5, 150, 85, 20);

   addButton("<", command, 95, 150, 85, 20);

   addButton("sqrt", command, 5, 175, 85, 20);

   addButton("pow(x,2)", command, 95, 175, 85, 20);

   setDefaultCloseOperation(EXIT_ON_CLOSE);

   setVisible(true);

   TextEvent t = new TextEvent(getContentPane(), 1);

}

private class OutputAction implements ActionListener {

   public void actionPerformed(ActionEvent event) {

       String input = event.getActionCommand();

       if (start) {

           display.setText("");

           start = false;

       }

       display.setText(display.getText() + input);

   }

}

private class CommandAction implements ActionListener {

   public void actionPerformed(ActionEvent event) {

       String command = event.getActionCommand();

       if (start) {

           if (command.equals("-")) {

               display.setText(command);

               start = false;

           } else {

               lastCom = command;

           }

       }else if (command.equals("sqrt")) {

           display.setText("" + Math.sqrt(Double.parseDouble(display.getText())));

           start = true;

       } else if (command.equals("pow(x,2)")) {

           display.setText("" + Math.pow(Double.parseDouble(display.getText()), 2));

           start = true;

       }else if (command.equals("с")) {

           display.setText("");

           start = true;

       }else if (command.equals("<")) {

           //???

       } else {

           calculate(Double.parseDouble(display.getText()));

           lastCom = command;

           start = true;

       }

   }

}

public void calculate(double x) {

   if (lastCom.equals("+")) {

       result += x;

       display.setText("" + result);

   } else if (lastCom.equals("-")) {

       result -= x;

       display.setText("" + result);

   } else if (lastCom.equals("*")) {

       result *= x;

       display.setText("" + result);

   } else if (lastCom.equals("/")) {

       if (x == 0) {

           display.setText("Деление на ноль");

       } else {

           result /= x;

           display.setText("" + result);

       }

   } else if (lastCom.equals("=")) {

       result = x;

       display.setText("" + result);

   }

}

public static void main(String[] args) {

   new MyCalc();

}

}

Результат:

5

← Предыдущая
Страница 1
Следующая →

Скачать

внеаудиторная ном.6.doc

внеаудиторная ном.6.doc
Размер: 56 Кб

Бесплатно Скачать

Пожаловаться на материал

Описание к данному материалу отсутствует

У нас самая большая информационная база в рунете, поэтому Вы всегда можете найти походите запросы

Искать ещё по теме...

Похожие материалы:

Рабочая программа производственной практики «Лечебная деятельность»

Рабочая программа производственной практики для студентов специальности 060101 «Лечебное дело»  по ПМ.02 «Лечебная деятельность», МДК 02.04 «Лечение пациентов детского возраста»

Эквивалентные преобразования электрических цепей

Практическое занятие. Основные теоретические сведения. Эквивалентное преобразование последовательного соединения резисторов. Треугольник и звезда резисторов. Примеры решения задач.

История Тест 7 класс

Структурная схема технологического процесса

Текст в системе коммуникации. Фаза реализации, фаза контроля при производстве текста

Модель производства текста – ориентировка, исполнение, контроль. Ориентировка представляет собой интеллектуально-мыслительную активность. Фаза реализации текста состоит в материализации замысла общения с привлечением языковых средств. Фаза контроля при производстве текста предполагает как отработку самого замысла текста

Сохранить?

Пропустить...

Введите код

Ok