问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java编写计算器的流程图

发布网友 发布时间:2022-04-26 19:57

我来回答

1个回答

热心网友 时间:2022-05-04 19:46

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator implements ActionListener
{

String s="",s1;
double d1,d2;
JFrame jf = new JFrame("小计算器by Graate") ;

JTextField tf = new JTextField();

public void init()//实现计算器界面
{
Container c=jf.getContentPane();
tf.setHorizontalAlignment(JTextField.RIGHT);//文本框
c.add(tf,"North");

JPanel pn3 = new JPanel(new BorderLayout());
c.add(pn3,"Center");

JPanel pn2 = new JPanel();//功能键界面(清除键和关闭键)
pn2.setLayout(new BorderLayout());

JPanel pn1 = new JPanel();//运算界面

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

pn3.add(pn2,"North");
pn3.add(pn1);

//设置按钮
JButton b = new JButton("CLEAR");
b.setToolTipText("请按清除键!");//设置清零键
b.setForeground(Color.RED);//设置字体颜色
b.setBackground(Color.YELLOW);//设置背景色
b.addActionListener(this);
pn2.add(b,"Center");
b = new JButton("OFF");
b.setToolTipText("请按退出键!");//设置off键,点击退出应用程序b.addActionListener(this);
b.setForeground(Color.RED);//字体颜色
b.setBackground(Color.ORANGE);//背景色
pn2.add(b,"East");
b = new JButton("1");//add butten 1
b.addActionListener(this);
pn1.add(b);
b = new JButton("2");//add butten 2
b.addActionListener(this);
pn1.add(b);
b = new JButton("3");//add butten 3
b.addActionListener(this);
pn1.add(b);
b = new JButton("+");//add butten +
b.setForeground(Color.BLUE);//设置字体颜色
b.addActionListener(this);
pn1.add(b);
b = new JButton("4");//add butten 4
b.addActionListener(this);
pn1.add(b);
b = new JButton("5");//add butten 5
b.addActionListener(this);
pn1.add(b);
b = new JButton("6");//add button 6
b.addActionListener(this);
pn1.add(b);
b = new JButton("-");//add button -
b.setForeground(Color.BLUE);//设置字体颜色
b.addActionListener(this);
pn1.add(b);
b = new JButton("7");//add button 7
b.addActionListener(this);
pn1.add(b);
b = new JButton("8");//add button 8
b.addActionListener(this);
pn1.add(b);
b = new JButton("9");//add button 9
b.addActionListener(this);
pn1.add(b);
b = new JButton("*");//add button *
b.setForeground(Color.BLUE);//设置字体颜色
b.addActionListener(this);
pn1.add(b);
b = new JButton("0");//add button 0
b.addActionListener(this);
pn1.add(b);
b = new JButton(".");//add button .
b.addActionListener(this);
pn1.add(b);
b = new JButton("=");//add button =
b.setForeground(Color.RED);//设置字体颜色
b.addActionListener(this);
pn1.add(b);
b = new JButton("\\");//add button \
b.setForeground(Color.BLUE);//设置字体颜色
b.addActionListener(this);
pn1.add(b);

jf.setSize(300,300);//设置大小
jf.setVisible(true);//设置为可视
}

//处理按钮按下时的动作,进行相应的处理
public void actionPerformed(ActionEvent e)
{
String command = e.getActionCommand();
tf.setText(tf.getText()+command);
if(command.equals("CLEAR")) //清零键 按下时返回初始状态
{
s1=null;
s="";
tf.setText("");//记录输入值的变量清空
}

else if(command.equals("OFF")) System.exit(0);//off键 关闭应用程序

else if(!command.equals("*")&&!command.equals("\\")
&&!command.equals("+")&&!command.equals("-")
&&!command.equals("="))//判断输入是否为数字
{
if(s1==null)//判断输入是否为第一个
s1 = command;
else s1+=command;
d1 = new Double(s1).doubleValue();//字符串型转换为双精度型,还原输入数字
try
{
if(s.equals("+")) d1 = d1+d2;//加法运算
else if(s.equals("-")) d1 = d2-d1;//减法运算
else if(s.equals("*")) d1 = d1*d2;//乘法运算
else if(s.equals("\\"))d1 = d2/d1;//除法运算
}
catch(Exception ex)
{
tf.setText("Error");//错误显示"Error"
System.out.println(ex.getMessage());
}

}

else if(!command.equals("=")) //判断输入是否为+ - * \
{
s = command;
s1 = null;
d2 = d1;
}

else//输入=时,显示运算结果
{

tf.setText(tf.getText()+d1);

}

}

public static void main(String [] args)
{

new Calculator().init();

}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
二手房物业费该怎么处理 二手房物业费该如何处理 今年八月份买的房子,物业让交一一年欠的物业费,我应该交么,_百度知 ... 深圳房产评估费怎么收费 1小时3分59秒24如何简写 稿纸上怎么写时间 玉米荷叶茶的功效与作用是什么 玉米荷叶茶的作用和功效禁忌是什么 眼睛上眼皮靠眼角的地方摸上去感觉有个硬疙瘩,而且眼睛很疼肿... 上眼皮突然肿了很痒怎么回事 有没有Java的程序代码自动生成流程图??? java程序段流程图 java程序设计无论什么样的都可以画流程图么?(从简单的到十分复杂的)一般都是画什么类型的流程图? JAVA题的 程序流程图 关于JAVA程序流程图的编写 java 流程图画法 什么是java程序流程图?我是刚开始学java的,不知道是什么意思,希望各位能帮我解释一下。 Java中for循环的流程图怎么画? 多肉植物怎么 多肉植物是什么 多肉植物。 qq上安装的表情包如何卸载? 怎么删除qq下载的表情包 qq自己下载的表情包怎么删除 国外起泡酒最佳饮用期是保质期吗 起泡酒打开用保鲜膜保存可以吗 起泡酒塞子怎么塞回去? 自己泡的药酒能存放多长时间 起泡酒打开以后那个塞塞不进去了,怎么办 起泡酒打开后喝不完怎么办 跪求JAVA源程序流程图 JAVA作业流程图。 如何用java实现该程序框图? 中国2017年人均GDP是多少? 2017年哪些省份的人均收入超过了3万? 手机格式化以后,怎么恢复以前的软件? oppor9m好吗?为什么停产了 OPPOR9m是全网通吗? 怎么p自己人脸的西装照片 怎么p穿西装的照片一甜相机 怎么把一张照片p成正装照 电脑QQ如何截图,求解 电脑QQ怎么截图? 购房合同备案后怎么改名 已备案的购房合同如何去更名 已备案的购房合同如何更名给儿子 已备案的购房合同如何更名? 购房合同更名的流程有哪些? 购房合同更名要怎么办理 购房合同更名需要什么手续