本篇文章给大家谈谈java制作简易计算器界面,以及怎么用java做一个计算器界面对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Java编写计算器的流程图
分类: 电脑/网络 程序设计 其他编程语言
解析:
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 Graduate") ;
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 mand = e.getActionCommand();
tf.setText(tf.getText()+mand);
if(mand.equals("CLEAR")) 清零键 按下时返回初始状态
{
s1=null;
s="";
tf.setText("");记录输入值的变量清空
}
else if(mand.equals("OFF")) System.exit(0);off键 关闭应用程序
else if(!mand.equals("*")!mand.equals("\\")
!mand.equals("+")!mand.equals("-")
!mand.equals("="))判断输入是否为数字
{
if(s1==null)判断输入是否为第一个
s1 = mand;
else s1+=mand;
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(!mand.equals("=")) 判断输入是否为+ - * \
{
s = mand;
s1 = null;
d2 = d1;
}
else输入=时,显示运算结果
{
tf.setText(tf.getText()+d1);
}
}
public static void main(String [] args)
{
new Calculator().init();
}
}
急求!!!如何用java程序代码实现计算器界面
package jisuanqi_new;
import java.awt.*;
import java.awt.event.*;
public class JiSuanQi_new implements ActionListener
{
Panel p1;//声明面板p1
TextField t1;//声明文本行t1
String[] label = {"7","8","9","/","4","5","6","*","1","2","3","-","0",".","=","+"};//声明标签数组label1存放按钮上的标签
Button[] b;//声明按钮数组存放16个按钮
private int i;//声明i以备后用
private String op1 = "0";//运算数备用
private String operator = "+";//运算符备用
private boolean append = false;//备用
public JiSuanQi_new()//构造方法
{
t1=new TextField();//初始化文本行t1
b = new Button[label.length];//初始化按钮数组b
p1=new Panel();//初始化面板p1
p1.setLayout(new GridLayout(4,4,4,4));//使面板选择网格布局管理器以备储存16个按钮(4行4列)
for(int i=0;ib.length;i++)//利用for循环把标签放在按钮上,使每个按钮添加事件监听器,在面板p1上添加上16个按钮
{
b[i] = new Button(label[i]);//把标签依次放在16个按钮上
b[i].addActionListener(this);//使每个按钮添加动作事件监听器
p1.add(b[i]); //分别将按钮添加到面板p1上
}
Frame f=new Frame("计算器1.0");//初始化窗口f,起名字计算器1.0
f.setLayout(new BorderLayout());//为窗口选择边界布局管理器
f.add(BorderLayout.NORTH,t1);//把文本行他添加到窗口的北部
f.add(BorderLayout.CENTER,p1);//把面吧p1添加到窗口的中间
f.addWindowListener(new WindowAdapter(){//给窗口f添加窗口事件监听器
public void windowClosing(WindowEvent eve){//运行窗口关闭方法
System.exit(0);//退出程序
}
});
f.setSize(250, 250);//设置窗口大小
f.setLocation(200,200);
f.setVisible(true);//显示窗口
}
public static void main(String args[])
{
new JiSuanQi_new(); //调用构造方法
}
public void actionPerformed(ActionEvent ae)
{//按钮被操作发生
String comm = ae.getActionCommand();//返回与此动作相关的命令字符串,即:使用者第一次点击的按钮是什么。
if("0123456789".indexOf(comm)!=-1)//如果相关命令字符串为0~9之间的数字则执行
{
if(append){
String temp = t1.getText();//新数字
t1.setText(temp+comm);
}else{ //因为此时append为false执行这个
t1.setText(comm); //将文本行t1设置为相关命令字符串(你按中的按钮代码)
append = true;//此时append=true若继续按按钮若继续按数字的话1.第一次的按话不会改变2.非第一次按得话会覆盖之前按得数字(即缺点:只能进行单个数字的计算)
}
}
else if(("+-*/".indexOf(comm)!=-1))//如果相关命令字符串为+-*/之间的数字则执行
{
//保存
//t1.setText(comm);
op1 = t1.getText();//把第一个数赋值给op1
operator = comm;//把命令字符串赋值给operator
append = false;//此时append为false即若继续按按钮若按数字的话将重复上面的动作,按符号的话将覆盖之前的符号
}
else if("=".equals(comm))//如果按的是=号,则按条件进行下面的运算
{
String op2 = t1.getText();//op2第二个数
double d1 = Double.parseDouble(op1);
double d2 = Double.parseDouble(op2);
if(operator.equals("+")){
d1 = d1 + d2 ;
}else if(operator.equals("-")){
d1 = d1 - d2;
}else if(operator.equals("*")){
d1 = d1 * d2;
}else {
d1 = d1 / d2;
}
t1.setText(d1+"");//显示计算结果
append = false;
}
else if(".".equals(comm))//若是.号继续按
{
String temp = t1.getText();
if(temp.indexOf(".")==-1){
t1.setText(temp+".");
append = true;
}
}
}
}
java编写计算器界面
import sun.plugin.security.Broken11ClassFixer;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import javax.swing.JButton;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Scanner;
public class Test extends JFrame{
private JTextField t1;
private JTextField t2;
private JTextField t3;
private JButton b1;
public Test(){
JPanel p1=new JPanel();
JPanel p2=new JPanel();
p1.setLayout(new FlowLayout(FlowLayout.LEFT,4,3));
t1 = new JTextField("0",4);
t2 = new JTextField("0",4);
t3 = new JTextField(8);
b1 = new JButton("=");
p1.add(t1);
p1.add(new JTextField(" + "));
p1.add(t2);
p1.add(new JLabel("="));
p1.add(t3);
p2.add(b1,BorderLayout.CENTER);
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
t3.setText(Integer.toString(Integer.parseInt(t1.getText())+Integer.parseInt(t2.getText())));
}
});
add(p1,BorderLayout.NORTH);
add(p2,BorderLayout.SOUTH);
}
public static void main(String[] args){
Test frame=new Test();
frame.setTitle("计算器");
frame.setSize(300,100);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
帮你完善了下,其他来不及写了都是一样的,稍微改一下就行
java制作简易计算器界面的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于怎么用java做一个计算器界面、java制作简易计算器界面的信息别忘了在本站进行查找喔。
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » java制作简易计算器界面(怎么用java做一个计算器界面)
1 评论