Myeclipse环境下Java语言编写的计算器小程序 源代码
//程序的主要部分
package pkg_1;
import java.awt.*;
import java.awt.Button;
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.WindowEvent;
import java.awt.event.WindowListener;
public class cacalator extends Frame implements ActionListener, WindowListener {
String button_name[] ={ "1", "2", "3", "+", "4", "5", "6", "-", "7", "8", "9", "*", "0", "=", "清除", "/" };//按钮上的字符串
Button but[];//按钮数组
TextField text_1;//一个文本框 用于记录数入的字符串
Panel pan_1, pan_2;//两个面板
double n_1 = 0, n_2 = 0;//记录输入的数值
char c = '1';//记录输入的符号
static int n=0;//记录数入的符号的数目
static String s_1="",s_3="";
static String s_2 ="";//记录输入符号前输入的字符串
cacalator(){
super("计算器");//调用父类的构造函数
setSize(300,300);//设置大小
setLayout(new BorderLayout(10,10));//布局
but=new Button[button_name.length];//实例化 创建按钮数组
text_1=new TextField("0");//实例化并出示话为0
pan_1=new Panel();//实例化
pan_2=new Panel();//实例化
pan_1.setLayout(new GridLayout(1,1));//设置面板1为2行1列
pan_1.add(text_1);//将文本框添加到面板1中
add(pan_1,BorderLayout.NORTH);//将面板1放到窗体的上部
pan_2.setLayout(new GridLayout(4,4));//设置面板2为4行4列
for(int i=0;i<button_name.length;i++)
{
but[i]=new Button(button_name[i]);//写入按钮上的字
pan_2.add(but[i]);//按钮添加到面板2上
but[i].addActionListener(this);//加上监听
}
add(pan_2,BorderLayout.CENTER);//将面板2放到窗体的中间
addWindowListener(this);//窗体加上监听
setVisible(true);//设置可见
}
public void actionPerformed(ActionEvent arg0) {
String s_0, s_1;//定义字符创用以存储读出的东西
s_0 = ActionCommand();//读到单击按钮时 按钮上的字符串 相当于记录命令
s_1 = Text();//读出文本框1的内容
if(s_0.equals("1") || s_0.equals("2") || s_0.equals("3") ||s_0.equals("4") ||s_0.equals("5") ||s_0.equals("6") ||s_0.equals("7") ||s_0.equals("8") ||s_0.equals("9") ||s_0.equals("0")){
if(n%2==0){
s_2=s_2+s_0;
text_1.setText(s_2);//如果这个时候没有输入 运算符 则直接将单击的东西连接在s_2上 并显示在s_2上
n_1=(Float.valueOf(s_2)).floatValue();//在没有输入运算符的时候将数值记录在n_1上
}
if(n%2==1){
s_3=s_3+s_0;
text_1.setText(s_3);//如果这个时候输入了运算符 则直接将单击的东西连接在s_2上 并显示在s_2上
n_2=(Float.valueOf(s_3)).floatValue();//在输入了运算符的时候将数值记录在n_2上
}
}
if(s_0.equals("+")){
n=n+1;
c='+';
//text_1.setText("");
}
if(s_0.equals("-")){
n=n+1;
c='-';
//text_1.setText("");
}
if(s_0.equals("*")){
n=n+1;
c='*';
//text_1.setText("");
}
if(s_0.equals("/")){
n=n+1;
c='/';
//text_1.setText("");
}
if(s_0.equals("=")){
n=n+1;
s_3="";
入门的java游戏小程序 if(c=='+'){
n_1=n_1+n_2;
s_String(n_1);
}
if(c=='-'){
n_1=n_1-n_2;
s_String(n_1);
}
if(c=='*'){
n_1=n_1*n_2;
s_String(n_1);
}
if(c=='/'){
n_1=n_1/n_2;
s_String(n_1);
}
text_1.setText(s_1);
}
if(s_0.equals("清除")){
c='1';
n_1=0;
n_2=0;
s_1="";
s_2="";
text_1.setText("");
}
}
public void windowActivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowClosed(WindowEvent arg0) {
}
public void windowClosing(WindowEvent arg0) {
Window w=(Source();
setVisible(false);
w.dispose();
}
public void windowDeactivated(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowDeiconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowIconified(WindowEvent arg0) {
// TODO Auto-generated method stub
}
public void windowOpened(WindowEvent arg0) {
// TODO Auto-generated method stub
}
}
//这是主函数部分
package pkg_1;
import javax.swing.JOptionPane;
public class cacalator_1 {
public static void main(String[] args) {
cacalator cac_1=new cacalator();
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论