Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите написать калькулятор на Java, Помогите плз 
:(
    Опции темы
Помогите
Дата 30.5.2004, 13:37 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Люди добрые, помогите написать калькулятор на яве, так чтобы он в самом начале спрашивал "User name" "age" "gender" "Reg.No" "Email" , чтобы это спрашивалось когда прога запускалась, в этом окне или где-нибудь другом, и чтобы это все отображалось где-то, плюс нужно сделать так, чтобы инфа проверялось, всмысле, чтобы не было такого типа в поле "age" там написали альфавитными буквами.. очень нужно, буду вечно благодарен если поможите, если можно то желательно английскими буквами и побольше комментариев, я должен научится и обяснить все действия..Заранее огромное спасибо

кстати мне это нужно в течении двух дней, помогите пожалуйта..очень прошу
  Вверх
LSD
Дата 30.5.2004, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Что то на форуме стало появлятся много народу с срочными вопросам, не иначе как сессия на носу biggrin.gif .
Теперь о программе, четко что она должна делать и как должна быть реализованна (консльное, GUI и т.д.). Мой калькулятор у меня возраст, пол и т.д. не запрашивает. Какого рода проверки надо вставить в него, и что делать в случае неправильного ввода.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Guest
Дата 30.5.2004, 19:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Делать она должна все то что делает калькулятор, типа спрашивается первое число, потом действие (умножить, делить и т.д.), и потом второе число, и затем результат выходит.
Она должна быть как аппликейшн, можно добавить еще апплетную версию, проверки не знаю какие, просто нужно сделать так, чтобы при вводе альфавитных букв в поле где надо вводить число, прога не принимала это и выводила надпись "Enter number" вот так вот... sad.gif sad.gif
  Вверх
Помогите
Дата 31.5.2004, 15:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата
и как должна быть реализованна (консльное, GUI и т.д.).

GUI sad.gif
  Вверх
LSD
Дата 31.5.2004, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Вот код smile.gif, вообще говоря кривоватый, но лучше я ничего не успею сделать. С тебя adv/76.gif !
Код
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;

public class Calc extends JFrame
{
 private JTextField textField;
 private Double op1;
 private Character operation;
 private boolean newInput;

 public Calc()
 {
   super("Calculator");
   setDefaultCloseOperation(EXIT_ON_CLOSE);

   newInput = false;

   Container contentPane = getContentPane();

   textField = new JTextField("0");
   textField.setEditable(false);
   textField.setHorizontalAlignment(JTextField.RIGHT);
   contentPane.add(textField, BorderLayout.NORTH);

   ActionListener numberListener = new NumericButtonsListener();
   ActionListener operationListener = new OperationButtonsListener();

   JPanel buttonsPanel = new JPanel(new GridLayout(4, 3, 5, 5));
   buttonsPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
   for(int i = 9; i > 0; i--)
   {
     JButton numericButton = new JButton(Integer.toString(i));
     numericButton.addActionListener(numberListener);
     buttonsPanel.add(numericButton);
   }

   JButton signButton = new JButton("\u00B1");
   signButton.addActionListener(operationListener);
   buttonsPanel.add(signButton);
   JButton zeroButton = new JButton("0");
   zeroButton.addActionListener(numberListener);
   buttonsPanel.add(zeroButton);
   JButton dotButton = new JButton(".");
   dotButton.addActionListener(operationListener);
   buttonsPanel.add(dotButton);

   contentPane.add(buttonsPanel, BorderLayout.CENTER);

   JPanel operationsPanel = new JPanel(new GridLayout(6, 1, 0, 0));

   JButton plusButton = new JButton("+");
   plusButton.addActionListener(operationListener);
   operationsPanel.add(plusButton);
   JButton minusButton = new JButton("-");
   minusButton.addActionListener(operationListener);
   operationsPanel.add(minusButton);
   JButton multiplyButton = new JButton("*");
   multiplyButton.addActionListener(operationListener);
   operationsPanel.add(multiplyButton);
   JButton divideButton = new JButton("/");
   divideButton.addActionListener(operationListener);
   operationsPanel.add(divideButton);
   JButton equalButton = new JButton("=");
   equalButton.addActionListener(operationListener);
   operationsPanel.add(equalButton);
   JButton clearButton = new JButton("C");
   clearButton.addActionListener(operationListener);
   operationsPanel.add(clearButton);

   contentPane.add(operationsPanel, BorderLayout.EAST);

   pack();
   setLocationRelativeTo(null);
 }

 private void numberPressed(int n)
 {
   if(newInput)
   {
     textField.setText("" + n);
     newInput = false;
   }
   else if(textField.getText().equals("0"))
   {
     textField.setText("" + n);
   }
   else
   {
     textField.setText(textField.getText() + n);
   }
 }

 private void operationPressed(char op)
 {
   switch(op)
   {
     case '+':
     case '-':
     case '*':
     case '/':
       if(newInput)
       {
         op1 = new Double(textField.getText());
         operation = new Character(op);
       }
       else if(operation == null)
       {
         newInput = true;
         op1 = new Double(textField.getText());
         operation = new Character(op);
       }
       else
       {
         enterPressed();
       }
       break;
     case '.':
       String str1 = textField.getText();
       if(str1.indexOf('.') < 0)
         textField.setText(str1 + ".");
       break;
     case '\u00B1':
       String str2 = textField.getText();
       if(str2.charAt(0) == '-')
         textField.setText(str2.substring(1));
       else
         textField.setText("-" + str2);
       break;
     case '=':
       enterPressed();
       break;
     case 'C':
     case 'c':
       clear();
       break;
     default:
   }
 }

 private void clear()
 {
   op1 = null;
   operation = null;
   newInput = false;
   textField.setText("0");
 }

 private void enterPressed()
 {
   newInput = true;
   if(op1 != null && operation != null)
   {
     calc(op1.doubleValue(), Double.parseDouble(textField.getText()), operation.charValue());
     op1 = new Double(textField.getText());
     operation = null;
   }
 }

 private void calc(double op1, double op2, char operation)
 {
   switch(operation)
   {
     case '+':
       textField.setText(Double.toString(op1 + op2));
       break;
     case '-':
       textField.setText(Double.toString(op1 - op2));
       break;
     case '*':
       textField.setText(Double.toString(op1 * op2));
       break;
     case '/':
       textField.setText(Double.toString(op1 / op2));
       break;
     default:
       textField.setText("Error");
   }
 }

 public static void main(String[] args)
 {
   Calc calc = new Calc();
   calc.show();
 }

 private class NumericButtonsListener implements ActionListener
 {
   public void actionPerformed(ActionEvent ev)
   {
     numberPressed(Integer.parseInt( ( (JButton) ev.getSource()).getText()));
   }
 }

 private class OperationButtonsListener implements ActionListener
 {
   public void actionPerformed(ActionEvent ev)
   {
     operationPressed( ( (JButton) ev.getSource()).getText().charAt(0));
   }
 }
}



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Помогите
Дата 1.6.2004, 16:14 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Наиогромнещее спасибо smile.gif Пыво наверное не получится (т.к. живу я в 4000 км от тебя) , но вот если ты добавишь свои комментарии в этот код (Там не поверят что это я сам написал *вполне ессессно*, поэтому меня могут вызвать на виву, будут проверять методом вопросов и ответов, а если я сам не пойму что здесь значит что, то как я буду отвечать? я совсем чайник на Яве, поэтому ) и отправишь мне на [email protected] *.class файлы и код, я тебе отправлю 7 значку аську (красивый, с примаком) в ответ, очень жду.. butbut.gif
кстати этот калькулятор спрашивает user name email age reg.no gender? это очень нужно сделать, хоть в другом окне.. plz plz plz plz plz
  Вверх
LSD
Дата 1.6.2004, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



У меня пара встречных вопросов:
1) к какому сроку это надо?
2) насколько хорошо ты разбираешься в Java (комментариев только к методам достаточно)?
3) запросить user name, email, age reg.no, gender я могу а что потом дальше с этим добром делать?


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Помогите
Дата 1.6.2004, 19:51 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











1) Нужно к 5и 3го Июня, т.е. есть еще два дня, но мне самому нужен минимум день, чтобы написать репорт, т.е. там еще кое какие вещи надо написать о проге, только уже не на яве (к счастью )
2) Разрбираюсь не очень, ну плохо можно сказать
знаю что значат эти строки

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
чуть чуть разбираюсь в классах, а так полный ламок
3) А эту информацию желательно отображать где-нибудь рядом с калькулятором
например вот квадратик калькулятор
_______________
| |
| |
| |
| |
| |
------------------------

а инфу можно прям радом где нибудь показывать,
типа
Your info
age:14
gender:male
reg.no: 1
email:[email protected]
а с боку уже калькулятор, так разницы это не имеет большой, где удобней и все, лиж-бы отображалось и все..


  Вверх
Помогите
Дата 1.6.2004, 19:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Квадратик получился прям сказать, *не очень* smile.gif
  Вверх
ElectricalStorm
Дата 7.6.2004, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 547
Регистрация: 22.1.2004

Репутация: 5
Всего: 9



Вот симпатичный пример
тока малофункциональный но .... если применить воображение ...

Код

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

class Calculator extends JFrame {
   public Calculator() {
       setTitle("Calculator");
       getContentPane().add(new CalculatorPanel());
   }

   public static void main(String[] args) {
       Calculator frame = new Calculator();
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setBounds(400,200,200,200);
       frame.show();
   }
}

class CalculatorPanel extends JPanel {

   private JLabel display;
   private JPanel panel;
   private double result;
   private String lastCommand;
   private boolean start;

   public CalculatorPanel() {
       setLayout(new BorderLayout());

       result = 0;
       lastCommand = "=";
       start = true;
       display = new JLabel("0");

       add(display, BorderLayout.NORTH);

       ActionListener insert = new InsertAction();
       ActionListener command = new CommandAction();

       panel = new JPanel();
       panel.setLayout(new GridLayout(4, 4));

       addButton("7", insert);
       addButton("8", insert);
       addButton("9", insert);
       addButton("/", command);

       addButton("4", insert);
       addButton("5", insert);
       addButton("6", insert);
       addButton("*", command);

       addButton("1", insert);
       addButton("2", insert);
       addButton("3", insert);
       addButton("-", command);

       addButton("0", insert);
       addButton(".", insert);
       addButton("=", command);
       addButton("+", command);

       add(panel, BorderLayout.CENTER);
   }

   private void addButton(String label, ActionListener listener) {
       JButton button = new JButton(label);
       button.addActionListener(listener);
       panel.add(button);
   }

   private class InsertAction 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 evt) {
           String command = evt.getActionCommand();

           if (start) {
               if (command.equals("-")) {
                   display.setText(command);
                   start = false;
               } else
                   lastCommand = command;
           } else {
               calculate(Double.parseDouble(display.getText()));
               lastCommand = command;
               start = true;
           }
       }
   }

   public void calculate(double x) {
       if (lastCommand.equals("+"))
           result += x;
       else if (lastCommand.equals("-"))
           result -= x;
       else if (lastCommand.equals("*"))
           result *= x;
       else if (lastCommand.equals("/"))
           result /= x;
       else if (lastCommand.equals("=")) result = x;
       display.setText("" + result);
   }
}




--------------------
Нужно знать инструмент, которым пользуешься
PM MAIL   Вверх
Funny's
Дата 1.8.2004, 11:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











adv/168.gif х скока таких работ наздали наверно!!!??? за плагиат то не гоняють? adv/abuse.gif
  Вверх
Frigus
Дата 20.12.2012, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 20.12.2012

Репутация: нет
Всего: нет



Цитата(ElectricalStorm @ 7.6.2004,  11:34)
Вот симпатичный пример 
тока малофункциональный но .... если применить воображение ... 

Код

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

class Calculator extends JFrame {
    public Calculator() {
        setTitle("Calculator");
        getContentPane().add(new CalculatorPanel());
    }

    public static void main(String[] args) {
        Calculator frame = new Calculator();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setBounds(400,200,200,200);
        frame.show();
    }
}

class CalculatorPanel extends JPanel {

    private JLabel display;
    private JPanel panel;
    private double result;
    private String lastCommand;
    private boolean start;

    public CalculatorPanel() {
        setLayout(new BorderLayout());

        result = 0;
        lastCommand = "=";
        start = true;
        display = new JLabel("0");

        add(display, BorderLayout.NORTH);

        ActionListener insert = new InsertAction();
        ActionListener command = new CommandAction();

        panel = new JPanel();
        panel.setLayout(new GridLayout(4, 4));

        addButton("7", insert);
        addButton("8", insert);
        addButton("9", insert);
        addButton("/", command);

        addButton("4", insert);
        addButton("5", insert);
        addButton("6", insert);
        addButton("*", command);

        addButton("1", insert);
        addButton("2", insert);
        addButton("3", insert);
        addButton("-", command);

        addButton("0", insert);
        addButton(".", insert);
        addButton("=", command);
        addButton("+", command);

        add(panel, BorderLayout.CENTER);
    }

    private void addButton(String label, ActionListener listener) {
        JButton button = new JButton(label);
        button.addActionListener(listener);
        panel.add(button);
    }

    private class InsertAction 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 evt) {
            String command = evt.getActionCommand();

            if (start) {
                if (command.equals("-")) {
                    display.setText(command);
                    start = false;
                } else
                    lastCommand = command;
            } else {
                calculate(Double.parseDouble(display.getText()));
                lastCommand = command;
                start = true;
            }
        }
    }

    public void calculate(double x) {
        if (lastCommand.equals("+"))
            result += x;
        else if (lastCommand.equals("-"))
            result -= x;
        else if (lastCommand.equals("*"))
            result *= x;
        else if (lastCommand.equals("/"))
            result /= x;
        else if (lastCommand.equals("=")) result = x;
        display.setText("" + result);
    }
}


Неплохой кодик.
А как добавить в него кнопочку сброса "С" ?
Я конечно понимаю что я опоздал на пару лет с таким вопросом к автору кода но может быть кто нибудь другой сможет мне ответить?
Я буду очень признателен)
PM MAIL   Вверх
jk1
Дата 23.12.2012, 20:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Годы идут, а с фантазией у преподавателей в ВУЗах все так же туго.
Вот Вам кнопка [c]:

Код

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Calculator extends JFrame {
    public Calculator() {
        setTitle("Calculator");
        getContentPane().add(new CalculatorPanel());
    }
    public static void main(String[] args) {
        Calculator frame = new Calculator();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setBounds(400,200,200,200);
        frame.setVisible(true);
    }
}
class CalculatorPanel extends JPanel {
    private JLabel display;
    private JPanel panel;
    private double result;
    private String lastCommand;
    private boolean start;
    public CalculatorPanel() {
        setLayout(new BorderLayout());
        result = 0;
        lastCommand = "=";
        start = true;
        display = new JLabel("0");
        add(display, BorderLayout.NORTH);
        ActionListener insert = new InsertAction();
        ActionListener command = new CommandAction();
        ActionListener clear = new ClearAction();
        panel = new JPanel();
        panel.setLayout(new GridLayout(5, 4));
        addButton("7", insert);
        addButton("8", insert);
        addButton("9", insert);
        addButton("/", command);
        addButton("4", insert);
        addButton("5", insert);
        addButton("6", insert);
        addButton("*", command);
        addButton("1", insert);
        addButton("2", insert);
        addButton("3", insert);
        addButton("-", command);
        addButton("0", insert);
        addButton(".", insert);
        addButton("=", command);
        addButton("+", command);
        addButton("C", clear);
        add(panel, BorderLayout.CENTER);
    }

    private void addButton(String label, ActionListener listener) {
        JButton button = new JButton(label);
        button.addActionListener(listener);
        panel.add(button);
    }

    private class InsertAction implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            String input = event.getActionCommand();
            if (start) {
                display.setText("");
                start = false;
            }
            display.setText(display.getText() + input);
        }
    }

    private class ClearAction implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            display.setText("0");
        }
    }

    private class CommandAction implements ActionListener {
        public void actionPerformed(ActionEvent evt) {
            String command = evt.getActionCommand();
            if (start) {
                if (command.equals("-")) {
                    display.setText(command);
                    start = false;
                } else
                    lastCommand = command;
            } else {
                calculate(Double.parseDouble(display.getText()));
                lastCommand = command;
                start = true;
            }
        }
    }

    public void calculate(double x) {
        if (lastCommand.equals("+"))
            result += x;
        else if (lastCommand.equals("-"))
            result -= x;
        else if (lastCommand.equals("*"))
            result *= x;
        else if (lastCommand.equals("/"))
            result /= x;
        else if (lastCommand.equals("=")) 
            result = x;
        display.setText("" + result);
    }
}



--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Pawl
Дата 23.12.2012, 21:14 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: 7
Всего: 28



Цитата(jk1 @  23.12.2012,  20:58 Найти цитируемый пост)
Годы идут, а с фантазией у преподавателей в ВУЗах все так же туго.

Зря вы так. По-моему они пытаются реализовать в задаче как можно большее число всяческих заморочек, чтобы студент, ломая над ними голову, постигал премудрости программирования и рос над собой! smile Другое дело, создать задачку, чтобы и практическую пользу имела, и все многообразие языка охватывала, и чтобы студент ее решить мог - это таки трудно. А если таких задач надо придумать, к примеру, 20 штук - каждому в группе по варианту - то почти невозможно. Вот и появляются эдакие оторванные от реальности монстры...


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
Frigus
Дата 27.12.2012, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 20.12.2012

Репутация: нет
Всего: нет



Цитата(jk1 @ 23.12.2012,  20:58)
Годы идут, а с фантазией у преподавателей в ВУЗах все так же туго.
Вот Вам кнопка [c]:

Код

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Calculator extends JFrame {
    public Calculator() {
        setTitle("Calculator");
        getContentPane().add(new CalculatorPanel());
    }
    public static void main(String[] args) {
        Calculator frame = new Calculator();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setBounds(400,200,200,200);
        frame.setVisible(true);
    }
}
class CalculatorPanel extends JPanel {
    private JLabel display;
    private JPanel panel;
    private double result;
    private String lastCommand;
    private boolean start;
    public CalculatorPanel() {
        setLayout(new BorderLayout());
        result = 0;
        lastCommand = "=";
        start = true;
        display = new JLabel("0");
        add(display, BorderLayout.NORTH);
        ActionListener insert = new InsertAction();
        ActionListener command = new CommandAction();
        ActionListener clear = new ClearAction();
        panel = new JPanel();
        panel.setLayout(new GridLayout(5, 4));
        addButton("7", insert);
        addButton("8", insert);
        addButton("9", insert);
        addButton("/", command);
        addButton("4", insert);
        addButton("5", insert);
        addButton("6", insert);
        addButton("*", command);
        addButton("1", insert);
        addButton("2", insert);
        addButton("3", insert);
        addButton("-", command);
        addButton("0", insert);
        addButton(".", insert);
        addButton("=", command);
        addButton("+", command);
        addButton("C", clear);
        add(panel, BorderLayout.CENTER);
    }

    private void addButton(String label, ActionListener listener) {
        JButton button = new JButton(label);
        button.addActionListener(listener);
        panel.add(button);
    }

    private class InsertAction implements ActionListener {
        public void actionPerformed(ActionEvent event) {
            String input = event.getActionCommand();
            if (start) {
                display.setText("");
                start = false;
            }
            display.setText(display.getText() + input);
        }
    }

    private class ClearAction implements ActionListener {
        public void actionPerformed(ActionEvent e) {
            display.setText("0");
        }
    }

    private class CommandAction implements ActionListener {
        public void actionPerformed(ActionEvent evt) {
            String command = evt.getActionCommand();
            if (start) {
                if (command.equals("-")) {
                    display.setText(command);
                    start = false;
                } else
                    lastCommand = command;
            } else {
                calculate(Double.parseDouble(display.getText()));
                lastCommand = command;
                start = true;
            }
        }
    }

    public void calculate(double x) {
        if (lastCommand.equals("+"))
            result += x;
        else if (lastCommand.equals("-"))
            result -= x;
        else if (lastCommand.equals("*"))
            result *= x;
        else if (lastCommand.equals("/"))
            result /= x;
        else if (lastCommand.equals("=")) 
            result = x;
        display.setText("" + result);
    }
}

К моему стыду, с фантазией туго у меня)
Спасибо за кнопочку)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1121 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.