Простой калькулятор на Java

Простой калькулятор на JavaПредставляю вам готовый калькулятор на Java. Просто скопируйте нижний код и вставьте его в ваш IDE Eclipse или NetBeans.

Комментариев 29 на “Простой калькулятор на Java

  1. а как добавить кнопку очистки? ну чтобы введенные данные или результат удалялся

    • Alex прежде чем возникать посмотрите какого типа result в Java — double имеет такую особенность что при арифметических операциях он некоректно возвращает результат(типу 0.300000000004) если хотите норм результат объявите как BigDecimal и все будет в порядке.

      • И будет 0, тот еще эксперт я погляжу. Меняется не один параметр и не на BigDecimal, а на float.

  2. Это ж сколько мне еще учится что бы написать хотя бы такой калькулятор.
    Может ну ее эту яву?

  3. Здравствуйте,помогите пожалуйста написать копию калькулятора windos 7, на среде программирования netbeans язык java , с использованием swing.

  4. Подскажите пожалуйста как сделать чтобы внесенные пользователем данные вносились в Базу Данных (н2 )
    Получилось только добавлять данные записанные в коде (использовал stmt.execute(«INSERT INTO lesson (nam , code ) VALUES (‘фио’, ‘имя’)» ) ,
    а из формы не получается.

  5. Так сейчас калькулятор любой сложности на http://formdesigner.ru/ сделать можно. Это онлайн конструктор веб-форм любой , я там себе опрос на сайт дела.

  6. 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;

    За такое по рукам давать надо 🙂

  7. как исправить использование float ибо простой результат вычитания 2,3-0,3 выдает страшное число
    1,9999999999998

  8. import java.util.Scanner;

    public class Main{
    public static void main(String args[]){
    Scanner sc =new Scanner(System.in);
    int i =sc.nextInt();
    String a = sc.next();
    int j =sc.nextInt();
    if(a.equals(«/»)) {
    System.out.print(i / j);
    }
    if(a.equals(«*»)){
    System.out.print(i*j);
    }
    if(a.equals(«-«)) {
    System.out.print(i — j);
    }
    if(a.equals(«+»)) {
    System.out.print(i + j);
    }

    }
    }

    Не знаю, чи правильно але працює

  9. К черту этот джава, ну нафиг, «простой» калькулятор мне такому не научится ну к черту программирование сидел бы в html не высовывался.

  10. В вашей программе после нажатия кнопки «=» вы не сможете вычесть из результата новое значение.

  11. вставьте пожалуйста комментарии в код, у меня несколько другая структура кода, пытаюсь разобраться откуда идут корни того, что есть у вас и нет у меня..

  12. не претендую на гениальность (только учусь) — прошу конструктивной критики! Сделал округление до 2 знаков и кнопку очистки:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;

    public class Calculator {
    public static void main(String[] args) {
    EventQueue.invokeLater(new Runnable()
    {
    public void run() {
    CalculatorFrame frame = new CalculatorFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
    }
    });
    }
    }
    class CalculatorFrame extends JFrame {
    public CalculatorFrame() {
    setTitle(«Calculator 2.0»);
    CalculatorPanel panel = new CalculatorPanel();
    add(panel);
    pack();
    }
    }
    class CalculatorPanel extends JPanel {
    public CalculatorPanel() {
    setLayout(new BorderLayout());

    result = 0;
    lastCommand = «=»;
    start = true;

    display = new JButton(«0»);
    display.setEnabled(false);
    add(display, BorderLayout.NORTH);

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

    panel = new JPanel();
    panel.setLayout(new GridLayout(4, 5));
    addButton(«», command);
    addButton(«7», insert);
    addButton(«8», insert);
    addButton(«9», insert);
    addButton(«/», command);

    addButton(«», command);
    addButton(«4», insert);
    addButton(«5», insert);
    addButton(«6», insert);
    addButton(«*», command);

    addButton(«», command);
    addButton(«1», insert);
    addButton(«2», insert);
    addButton(«3», insert);
    addButton(«-«, command);

    addButton(«Cl», 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 event) {
    String command = event.getActionCommand();
    if (start) {
    if (command.equals(«Cl»)) {
    // display.setText(command);
    display.setText(«»);
    start = false;
    } else lastCommand = command;
    } else {
    calculate(Double.parseDouble(display.getText()));
    lastCommand = command;
    start = true;
    }
    }
    }

    public void calculate(double x) {

    switch (lastCommand)
    {
    case «+»: result=Math.rint((result + x)*100)/100; break;
    case «-«: result=Math.rint((result — x)*100)/100; break;
    case «*»: result=Math.rint((result * x)*100)/100; break;
    case «/»: result=Math.rint((result / x)*100)/100; break;
    case «=»: result = x; break;

    }
    display.setText(«» + result);
    }

    private JButton display;
    private JPanel panel;
    private double result;
    private String lastCommand;
    private boolean start;
    }

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *