Проект калькулятор в 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 Кб

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

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

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

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

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

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

Multiple Choice Questions International monetary system 

Информация и информационные процессы

Реферат по информатике Информация и сигнал, свойства, виды информации Информационные процессы Обработка информации

Тест по экономике, тема 11

Тесты с ответами по основе экономической теории. Выберите один ответ. Дефицит государственного бюджета, доходов в бюджет при повышении ставки налогов, система налогообложения. Расходы государства на закупку товаров. Фискальная функция налогов.

Современные сухие строительные смеси и аксессуары

Сухие смеси представляют собой смесь вяжущих, заполнителей (наполнителей) и различных добавок. Основные материалы, используемые для их производства.

Источники конфликтов

Конфликт возникает только при определенных условиях, одновременно внешних и внутренних. Негативные функции конфликтов.

Сохранить?

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

Введите код

Ok