用java做的计算器
package com.cjg.jsj;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Calculator extends WindowAdapter
{
Panel p1=new Panel(); //创建面板p1
Panel p2=new Panel(); //创建面板p2
Panel p3=new Panel(); //创建面板p3
TextField txt; //创建文本框对象
private Button[] b=new Button[17]; //创建按钮数组
private String ss[]={"7","8","9","+","4","5","6","-","1","2","3","*","清空","0","=","/","关闭"}; //创建字符串数组
static double a; //创建double类型变量
static String s,str; //创建string类型变量
/**
* @param args
*/
public static void main(String[] args)
{
(new Calculator()).frame(); //创建Calculator对象
// TODO Auto-generated method stub
}
public void frame(){ //实现界面
Frame fm=new Frame("计算器"); //创建窗口对象
for(int i=0;i<=16;i++)
{
b[i]=new Button(ss[i]); //为按钮赋值
}
for(int i=0;i<=15;i++)
{
p2.add(b[i]); //添加按钮到面板p2
}
b[16].setBackground(Color.yellow); //设置按钮的背景色为黄色
txt=new TextField(15); //创建和设置文本框
txt.setEditable(false);
for(int i=0;i<=16;i++)
{
b[i].addActionListener(new buttonlistener()); //为按钮添加监听器
}
b[16].addActionListener(new close()); //为按钮添加关闭监听器
fm.addWindowListener(this);
fm.setBackground(Color.red);
p1.setLayout(new BorderLayout()); //设置面板p1布局管理器
p1.add(txt,"North"); //添加文本框到北面部分
p2.setLayout(new GridLayout(4,4)); //设置面板p2布局管理器
p3.setLayout(new BorderLayout()); //设置面板p3布局管理器
p3.add(b[16]); //添加按钮到面板p3
//添加各个面板到窗口上
fm.add(p1,"North");
fm.add(p2,"Center");
fm.add(p3,"South");
fm.pack();
fm.setVisible(true); //显示窗口
}
public void WindowClosing(WindowEvent e)
{
System.exit(0); //退出系统
}
class buttonlistener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
Button btn=(Button) e.getSource(); //获取发生事件按钮
if(btn.getLabel()=="=")
{
jisuan();
str=String.valueOf(a);
txt.setText(str);
s="";
}
else if(btn.getLabel()=="+")
{
s="+";
jisuan();
txt.setText("");
}
else if(btn.getLabel()=="-")
{
s="-";
jisuan();
txt.setText("");
}
else if(btn.getLabel()=="*")
{
s="*";
jisuan();
txt.setText("");
}
else if(btn.getLabel()=="/")
{
s="/";
jisuan();
txt.setText("");
}
else
System.out.println("出错啦");
}
public void jisuan() //编写具体的计算方法
{
if(s=="+")
a+=Double.parseDouble(txt.getText());
else if(s=="-")
a-=Double.parseDouble(txt.getText());
else if(s=="*")
a*=Double.parseDouble(txt.getText());
else if(s=="/")
a/=Double.parseDouble(txt.getText());
else
a=Double.parseDouble(txt.getText());
}
}
}
class close implements ActionListener //退出方法
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
怎么得不到结果啊。。。
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Calculator extends WindowAdapter
{
Panel p1=new Panel(); //创建面板p1
Panel p2=new Panel(); //创建面板p2
Panel p3=new Panel(); //创建面板p3
TextField txt; //创建文本框对象
private Button[] b=new Button[17]; //创建按钮数组
private String ss[]={"7","8","9","+","4","5","6","-","1","2","3","*","清空","0","=","/","关闭"}; //创建字符串数组
static double a; //创建double类型变量
static String s,str; //创建string类型变量
/**
* @param args
*/
public static void main(String[] args)
{
(new Calculator()).frame(); //创建Calculator对象
// TODO Auto-generated method stub
}
public void frame(){ //实现界面
Frame fm=new Frame("计算器"); //创建窗口对象
for(int i=0;i<=16;i++)
{
b[i]=new Button(ss[i]); //为按钮赋值
}
for(int i=0;i<=15;i++)
{
p2.add(b[i]); //添加按钮到面板p2
}
b[16].setBackground(Color.yellow); //设置按钮的背景色为黄色
txt=new TextField(15); //创建和设置文本框
txt.setEditable(false);
for(int i=0;i<=16;i++)
{
b[i].addActionListener(new buttonlistener()); //为按钮添加监听器
}
b[16].addActionListener(new close()); //为按钮添加关闭监听器
fm.addWindowListener(this);
fm.setBackground(Color.red);
p1.setLayout(new BorderLayout()); //设置面板p1布局管理器
p1.add(txt,"North"); //添加文本框到北面部分
p2.setLayout(new GridLayout(4,4)); //设置面板p2布局管理器
p3.setLayout(new BorderLayout()); //设置面板p3布局管理器
p3.add(b[16]); //添加按钮到面板p3
//添加各个面板到窗口上
fm.add(p1,"North");
fm.add(p2,"Center");
fm.add(p3,"South");
fm.pack();
fm.setVisible(true); //显示窗口
}
public void WindowClosing(WindowEvent e)
{
System.exit(0); //退出系统
}
class buttonlistener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
Button btn=(Button) e.getSource(); //获取发生事件按钮
if(btn.getLabel()=="=")
{
jisuan();
str=String.valueOf(a);
txt.setText(str);
s="";
}
else if(btn.getLabel()=="+")
{
s="+";
jisuan();
txt.setText("");
}
else if(btn.getLabel()=="-")
{
s="-";
jisuan();
txt.setText("");
}
else if(btn.getLabel()=="*")
{
s="*";
jisuan();
txt.setText("");
}
else if(btn.getLabel()=="/")
{
s="/";
jisuan();
txt.setText("");
}
else
System.out.println("出错啦");
}
public void jisuan() //编写具体的计算方法
{
if(s=="+")
a+=Double.parseDouble(txt.getText());
else if(s=="-")
a-=Double.parseDouble(txt.getText());
else if(s=="*")
a*=Double.parseDouble(txt.getText());
else if(s=="/")
a/=Double.parseDouble(txt.getText());
else
a=Double.parseDouble(txt.getText());
}
}
}
class close implements ActionListener //退出方法
{
public void actionPerformed(ActionEvent e)
{
System.exit(0);
}
}
怎么得不到结果啊。。。
...全文
相关推荐
Java 做的计算器界面
用Java写的计算器的界面,可以运行。只是界面额。没有计算功能
一个用NetBeans做的java计算器
未能实现记忆功能和二进制等科学运算功能,由于这个计算器是为了熟悉NetBeans而做的,所以尝试了一些不同的方法来实现同一个功能造成代码看上去复杂。
Java做的简单的计算器(有什么问题可以指点)
Java做的简单的计算器 Java做的简单的计算器 Java做的简单的计算器 Java做的简单的计算器
用Java做的小计算器
初学用Java做的小计算器,大家看看。刚才传错了,那个是做的过程中留下的,有问题,上传了不知道怎么删除,这个没问题了。
java做的模拟计算器程序
java做的计算器程序,模拟微软的计算器部分功能。


Eclipse
