java简单的除法运算_用JAVA写一个计算器 要求有图形界面.简单的加减乘除,不要小数点运算....

共回答了20个问题采纳率:80%

寔杩炵画杩愮畻寰桙br/>import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.Frame;

import java.awt.GridLayout;

import java.awt.Panel;

import java.awt.TextField;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

public class Calculator {

x05public static void main(String[] args) {

x05x05Frame f = new Frame("Calculator");

x05x05

x05x05final TextField tf = new TextField();

x05x05Panel p = new Panel();

x05x05

x05x05f.setLayout(new BorderLayout());

x05x05f.add(tf,BorderLayout.NORTH);

x05x05f.add(p,BorderLayout.CENTER);

x05x05

x05x05p.setLayout(new GridLayout(4,4));

x05x05

x05x05Button one = new Button("1");

x05x05Button two = new Button("2");

x05x05Button three = new Button("3");

x05x05Button four = new Button("4");

x05x05Button five = new Button("5");

x05x05Button six = new Button("6");

x05x05Button seven = new Button("7");

x05x05Button eight = new Button("8");

x05x05Button nine = new Button("9");

x05x05Button zero = new Button("0");

x05x05Button add = new Button("+");

x05x05Button sub = new Button("-");

x05x05Button mul = new Button("*");

x05x05Button div = new Button("/");

x05x05Button decimal = new Button(".");

x05x05final Button equal = new Button("=");

x05x05

x05x05p.add(one);

x05x05p.add(two);

x05x05p.add(three);

x05x05p.add(four);

x05x05p.add(five);

x05x05p.add(six);

x05x05p.add(seven);

x05x05p.add(eight);

x05x05p.add(nine);

x05x05p.add(zero);

x05x05p.add(add);

x05x05p.add(sub);

x05x05p.add(mul);

x05x05p.add(div);

x05x05p.add(decimal);

x05x05p.add(equal);

x05x05

x05x05final String[] ary = {"",null,""};

x05x05

x05x05class NumMouseListener implements MouseListener{

x05x05x05public void mouseClicked(MouseEvent e) {

x05x05x05x05String num = ((Button)e.getSource()).getLabel().trim();

x05x05x05x05if(ary[1] == null){

x05x05x05x05x05ary[0] = ary[0] + "" + num;

x05x05x05x05}else{

x05x05x05x05x05ary[2] = ary[2] + "" + num;

x05x05x05x05}

x05x05x05x05

x05x05x05x05tf.setText(tf.getText() + "" + num);

x05x05x05}

x05x05x05public void mouseEntered(MouseEvent e) {}

x05x05x05public void mouseExited(MouseEvent e) {}

x05x05x05public void mousePressed(MouseEvent e) {}

x05x05x05public void mouseReleased(MouseEvent e) {}

x05x05x05

x05x05}

x05x05

x05x05one.addMouseListener(new NumMouseListener());

x05x05two.addMouseListener(new NumMouseListener());

x05x05three.addMouseListener(new NumMouseListener());

x05x05four.addMouseListener(new NumMouseListener());

x05x05five.addMouseListener(new NumMouseListener());

x05x05six.addMouseListener(new NumMouseListener());

x05x05seven.addMouseListener(new NumMouseListener());

x05x05eight.addMouseListener(new NumMouseListener());

x05x05nine.addMouseListener(new NumMouseListener());

x05x05zero.addMouseListener(new NumMouseListener());

x05x05

x05x05class OperatotrMouseListener implements MouseListener{

x05x05x05public void mouseClicked(MouseEvent e) {

x05x05x05x05if(e.getSource() == equal){

x05x05x05x05x05try {

x05x05x05x05x05x05long result = calculate(Integer.parseInt(ary[0]),Integer.parseInt(ary[2]),ary[1]);

x05x05x05x05x05x05tf.setText(String.valueOf(result));

x05x05x05x05x05x05

x05x05x05x05x05x05ary[0] = tf.getText();

x05x05x05x05x05x05ary[1] = null;

x05x05x05x05x05x05ary[2] = "";

x05x05x05x05x05} catch (Exception e1) {

x05x05x05x05x05x05e1.printStackTrace();

x05x05x05x05x05}

x05x05x05x05}else{

x05x05x05x05x05ary[1] = ((Button) e.getSource()).getLabel();

x05x05x05x05x05

x05x05x05x05x05if(ary[0].length() > 0){

x05x05x05x05x05x05ary[2] = "";

x05x05x05x05x05}else{

x05x05x05x05x05x05ary[0] = String.valueOf(tf.getText());

x05x05x05x05x05}

x05x05x05x05x05

x05x05x05x05x05tf.setText("");

x05x05x05x05}

x05x05x05}

x05x05x05private long calculate(int i,int j,String operator) throws Exception {

x05x05x05x05if(operator.equals("+")){

x05x05x05x05x05return i + j;

x05x05x05x05}else if(operator.equals("-")){

x05x05x05x05x05return i - j;

x05x05x05x05}else if(operator.equals("*")){

x05x05x05x05x05return i * j;

x05x05x05x05}else if(operator.equals("/")){

x05x05x05x05x05return i / j;

x05x05x05x05}else{

x05x05x05x05x05throw new Exception("Invalid operator.(Only +-/* accepted");

x05x05x05x05}

x05x05x05}

x05x05x05public void mouseEntered(MouseEvent e) {}

x05x05x05public void mouseExited(MouseEvent e) {}

x05x05x05public void mousePressed(MouseEvent e) {}

x05x05x05public void mouseReleased(MouseEvent e) {}

x05x05}

x05x05

x05x05add.addMouseListener(new OperatotrMouseListener());

x05x05mul.addMouseListener(new OperatotrMouseListener());

x05x05div.addMouseListener(new OperatotrMouseListener());

x05x05sub.addMouseListener(new OperatotrMouseListener());

x05x05equal.addMouseListener(new OperatotrMouseListener());

x05x05

x05x05f.addWindowListener(new WindowListener(){

x05x05x05public void windowClosing(WindowEvent e) {

x05x05x05x05System.exit(0);

x05x05x05}

x05x05x05

x05x05x05public void windowActivated(WindowEvent e) {}

x05x05x05public void windowClosed(WindowEvent e) {}

x05x05x05public void windowDeactivated(WindowEvent e) {}

x05x05x05public void windowDeiconified(WindowEvent e) {}

x05x05x05public void windowIconified(WindowEvent e) {}

x05x05x05public void windowOpened(WindowEvent e) {}

x05x05});

x05x05

x05x05f.setVisible(true);

x05x05f.setBounds(200,200,250,250);

x05x05f.validate();

x05}

}

1年前

8

java计算器,能实现加减乘除。 //***该梦幻计算器与Windows附件自带计算器的标准版功能、界面相仿***// //******但还不支持键盘操作,如有需要,下一次等级将满足你**********// import java.awt.*; import java.lang.*; import javax.swing.*; import javax.swing.event.*; import java.awt.event.*; import java.awt.Component.*; import java.awt.color.*; import java.text.DecimalFormat; //*****************************************************************************// //*****************************************************************************// public class Calculator implements ActionListener //导入动作监听接口 { //******************************// //*****设计计算器界面的单位*****// JFrame frame; //定义框架 JTextField textAnswer; //定义输出显示框 JPanel panel, panel1, panel2, panel3;//定义面板作为子容器,从而达到要求的界面效果 JMenuBar mainMenu; JTextField textMemory; JLabel labelMemSpace; //labelMemSpace单纯做摆设,控制面板的形状 JButton buttonBk, buttonCe, buttonC; JButton button[]; JButton buttonMC, buttonMR, buttonMS, buttonMAdd; JButton buttonDot, buttonAddAndSub, buttonAdd, buttonSub, buttonMul,buttonDiv, buttonMod; JButton buttonSqrt, buttonDao, buttonEqual; JMenu editMenu, viewMenu, helpMenu; JMenuItem copyItem, pasteItem, tItem, sItem, numberGroup, topHelp, aboutCal,myCollege; DecimalFormat df; //设置数据输出精度 boolean clickable; //控制当前能否按键 double memoryd; //使用内存中存储的数字 int memoryi; double vard, answerd; //用来保存double型数据的中间值(vard)和最后结果(answerd) short key = -1, prekey = -1; //key用来保存当前进行何种运算,prekey用来保存前次进行何种运算 boolean clear = false; String copy; //做复制用 JTextArea help; //帮助 JScrollPane scrollHelp; static boolean One =true; //******************// //*****构造函数开始*****// public Calculator() { clickable = true; answerd = 0; frame = new JFrame("梦幻计算器--SWE08008"); frame.setResizable(false);//不允许改变计算器的大小 frame.setLocation(250,150);//设置计算器的起始位置 frame.setBackground(Color.YELLOW); df = new DecimalFormat("0.##############"); //设置数据输出精度(对于double型值)
### 回答1: 以下是一个简单Java 计算器程序: ```java import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Calculator implements ActionListener { JFrame frame; JTextField textField; JButton[] numberButtons = new JButton[10]; JButton[] functionButtons = new JButton[9]; JButton addButton, subButton, mulButton, divButton; JButton decButton, equButton, delButton, clrButton; JPanel panel; Font font = new Font("Arial", Font.BOLD, 30); double num1 = 0, num2 = 0, result = 0; char operator; Calculator() { frame = new JFrame("Calculator"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(420, 550); frame.setLayout(null); textField = new JTextField(); textField.setBounds(50, 25, 300, 50); textField.setFont(font); textField.setEditable(false); addButton = new JButton("+"); subButton = new JButton("-"); mulButton = new JButton("*"); divButton = new JButton("/"); decButton = new JButton("."); equButton = new JButton("="); delButton = new JButton("Delete"); clrButton = new JButton("Clear"); functionButtons[0] = addButton; functionButtons[1] = subButton; functionButtons[2] = mulButton; functionButtons[3] = divButton; functionButtons[4] = decButton; functionButtons[5] = equButton; functionButtons[6] = delButton; functionButtons[7] = clrButton; for(int i = 0; i < 8; i++) { functionButtons[i].addActionListener(this); functionButtons[i].setFont(font); functionButtons[i].setFocusable(false); } for(int i = 0; i < 10; i++) { numberButtons[i] = new JButton(String.valueOf(i)); numberButtons[i].addActionListener(this); numberButtons[i].setFont(font); numberButtons[i].setFocusable(false); } delButton.setBounds(50, 430, 145, 50); clrButton.setBounds(205, 430, 145, 50); panel = new JPanel(); panel.setBounds(50, 100, 300, 300); panel.setLayout(new GridLayout(4, 4, 10, 10)); panel.setBackground(Color.BLACK); panel.add(numberButtons[1]); panel.add(numberButtons[2]); panel.add(numberButtons[3]); panel.add(addButton); panel.add(numberButtons[4]); panel.add(numberButtons[5]); panel.add(numberButtons[6]); panel.add(subButton); panel.add(numberButtons[7]); panel.add(numberButtons[8]); panel.add(numberButtons[9]); panel.add(mulButton); panel.add(decButton); panel.add(numberButtons[0]); panel.add(equButton); panel.add(divButton); frame.add(panel); frame.add(delButton); frame.add(clrButton); frame.add(textField); frame.setVisible(true); } public static void main(String[] args) { Calculator calculator = new Calculator(); } @Override public void actionPerformed(ActionEvent e) { for(int i = 0; i < 10; i++) { if(e.getSource() == numberButtons[i]) { textField.setText(textField.getText() + String.valueOf(i)); } } if(e.getSource() == decButton) { textField.setText(textField.getText() + "."); } if(e.getSource() == addButton) { num1 = Double.parseDouble(textField.getText()); operator = '+'; textField.setText(""); } if(e.getSource() == subButton) { num1 = Double.parseDouble(textField.getText()); operator = '-'; textField.setText(""); } if(e.getSource() == mulButton) { num1 = Double.parseDouble(textField.getText()); operator = '*'; textField.setText(""); } if(e.getSource() == divButton) { num1 = Double.parseDouble(textField.getText()); operator = '/'; textField.setText(""); } if(e.getSource() == equButton) { num2 = Double.parseDouble(textField.getText()); switch(operator) { case '+': result = num1 + num2; break; case '-': result = num1 - num2; break; case '*': result = num1 * num2; break; case '/': result = num1 / num2; break; } textField.setText(String.valueOf(result)); num1 = result; } if(e.getSource() == clrButton) { textField.setText(""); } if(e.getSource() == delButton) { String str = textField.getText(); textField.setText(""); for(int i = 0; i < str.length() - 1; i++) { textField.setText(textField.getText() + str.charAt(i)); } } } } ``` 这个计算器程序使用了 Swing 库来创建图形用户界面。它包括一个文本框和一些按钮,可以进行简单的加、减、乘、除、小数点、等于、删除和清零操作。您可以根据需要修改它来适应您的具体要求。 ### 回答2: 编一个简易计算器要求使用Java编程语言并具备图形用户界面(GUI)。计算器应能够显示运算过程和结果,能够进行简单加减乘除运算以及符合运算,还能够支持先算乘除再算加减的功能。 为了实现这个计算器,可以使用Java的Swing库来创建图形用户界面。首先,需要创建一个包含计算器面板的窗口。该面板包含若干按钮以及一个显示结果的文本框。 在按钮方面,可以设置数字按钮(0-9)和运算符按钮(加减乘除)以及等于按钮。还可以添加清除按钮用于重置计算器。 在文本框方面,可以用于显示用户输入的数字、运算符和结果。 为了实现先算乘除再算加减的功能,可以使用堆栈来存储运算符和操作数。当用户输入一个运算符时,将其放入堆栈中。当用户输入一个操作数时,将其从堆栈中弹出,并执行之前的运算符和操作数运算,然后将结果重新放入堆栈。 最后,当用户按下等于按钮时,从堆栈中弹出最终的结果并显示在文本框中。 通过以上步骤,可以实现一个简单计算器,用Java编程语言编,并拥有图形界面。它可以显示运行过程和结果,并支持简单加减乘除运算以及复合运算,还能够实现先算乘除再算加减的功能。 ### 回答3: 要编一个简易计算器,可以使用Java语言结合图形界面库来实现,比如使用Swing或者JavaFX。 首先,需要创建一个图形界面窗口,在窗口中添加显示结果的文本框以及按钮。 接下来,通过按钮的点击事件来实现计算器的功能。对于加减乘除操作,可以使用四个按钮,分别表示加法、减法、乘法和除法。当点击某个操作符按钮时,程序会读取文本框中的数据作为操作数,然后将操作符保存起来。 在点击数字按钮时,程序会在文本框中显示相应的数字。 当点击等号按钮时,程序会从文本框中读取第二个操作数,并根据保存的操作符来执行相应的运算,并将结果显示在文本框中。 要实现先算乘除再算加减的功能,可以在保存操作符的同时,判断是否已经保存了乘法或除法操作符。如果保存了乘法或除法操作符,则在点击等号按钮时,先计算乘法或除法运算,然后将结果再作为第一个操作数,继续执行加法或减法运算。 最后,还可以添加清除按钮,点击该按钮可以将文本框中的内容清空,以及退格按钮,点击该按钮可以删除文本框中的最后一个字符。 通过以上步骤,就可以编一个简易的可以进行简单加减乘除运算,并且支持先算乘除再算加减的计算器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值