计数器程序 (简单的计数器,功能齐全)

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class fram extends JFrame implements ActionListener {
 String ss = "";
 String s1 = "";
 String s2 = "";
 String s3 = "";
 String ss1 = "";
 String ss2 = "";
 String sss="";
 char al;
 char aa;
 double d;
 int b;
 JButton jb1[] = { new JButton("0"), new JButton("+/-"), new JButton("."),
   new JButton("1"), new JButton("2"), new JButton("3"),
   new JButton("4"), new JButton("5"), new JButton("6"),
   new JButton("7"), new JButton("8"), new JButton("9"), };
 JButton jb2[] = { new JButton("mc"), new JButton("mr"), new JButton("ms"),
   new JButton("m+"), };
 JButton jb3[] = { new JButton("Backspace"), new JButton("CE"),
   new JButton("C"), };
 JButton jb4[] = { new JButton("/"), new JButton("*"), new JButton("-"),
   new JButton("+"), };
 JButton jb5[] = { new JButton("sqrt"), new JButton("%"),
   new JButton("x/1"), new JButton("=") };
 JTextField jtf = new JTextField("");
 JLabel jl = new JLabel();

 public fram() {
  setTitle("计算机");
  setLayout(null);
  setBounds(100, 100, 430, 350);
  jtf.setBounds(10, 20, 390, 37);
  add(jtf);
  jtf.setHorizontalAlignment(jtf.RIGHT);
  for (int i = 0; i < jb3.length; i++) {
   jb3[i].setBounds(75 + i * 112, 65, 100, 37);
   jb3[i].addActionListener(this);
   add(jb3[i]);
  }
  for (int i = 0; i < jb2.length; i++) {
   jb2[i].setBounds(10, 110 + i * 45, 60, 37);
   jb2[i].addActionListener(this);
   add(jb2[i]);
  }
  for (int i = 0; i < 3; i++) {
   jb1[i].setBounds(75 + i * 65, 245, 60, 37);
   jb1[i].addActionListener(this);
   add(jb1[i]);
  }
  for (int i = 3; i < 6; i++) {
   jb1[i].setBounds(-120 + i * 65, 200, 60, 37);
   jb1[i].addActionListener(this);
   add(jb1[i]);
  }
  for (int i = 6; i < 9; i++) {
   jb1[i].setBounds(-315 + i * 65, 155, 60, 37);
   jb1[i].addActionListener(this);
   add(jb1[i]);
  }
  for (int i = 9; i < 12; i++) {
   jb1[i].setBounds(-510 + i * 65, 110, 60, 37);
   jb1[i].addActionListener(this);
   add(jb1[i]);
  }
  for (int i = 0; i < jb4.length; i++) {
   jb4[i].setBounds(275, 110 + i * 45, 60, 37);
   jb4[i].addActionListener(this);
   add(jb4[i]);
  }
  for (int i = 0; i < jb5.length; i++) {
   jb5[i].setBounds(340, 110 + i * 45, 60, 37);
   jb5[i].addActionListener(this);
   add(jb5[i]);
  }
  jl.setBounds(28, 70, 30, 27);
  add(jl);
  jtf.setColumns(5);
  setVisible(true);
  setDefaultCloseOperation(3);
 }

 public static void main(String[] args) {
  new fram();
 }

 public void actionPerformed(ActionEvent e) {
       double dd=0;
  if (e.getSource() == jb3[1]) {
   jtf.setText("0");
   ss1 = "";
   ss2 = "";
  }
  if (e.getSource() == jb3[2]) {
   jtf.setText("0");
   ss1 = "";
   ss2 = "";
  }
  if (e.getSource() == jb3[0]) {
   s1 = jtf.getText().toString().trim();
   int i1 = s1.length();
   int i2 = i1 - 1;
   if (i1 == 1) {
    jtf.setText("0");
   } else {
    s2 = s1.substring(0, i2);
    jtf.setText(s2);
   }

  }
  if (e.getSource() == jb2[0]) {
   ss = "";
   jl.setText("");
  }
  if (e.getSource() == jb2[2]) {
   ss = jtf.getText().toString().trim();
   jl.setText("M");
  }
  if (e.getSource() == jb2[1]) {
   if (ss.equals("")) {
   } else {
    jtf.setText(ss);
   }
  }
  if (e.getSource() == jb2[3]) {
   if (ss.equals("")) {

   } else {
    s1 = jtf.getText().toString().trim();
    try {
     int i5 = Integer.parseInt(s1);
     try {
      int f1 = Integer.parseInt(ss);
      int f2 = f1 + i5;
      s3 = f2 + "";
     } catch (Exception e2) {
      double f = Double.parseDouble(ss);
      double ff = f + (double) i5;
      s3 = ff + "";
     }
    } catch (Exception e2) {
     double ff1 = Double.parseDouble(s1);
     try {
      int f1 = Integer.parseInt(ss);
      double f2 = (double) f1 + ff1;
      s3 = f2 + "";
     } catch (Exception e3) {
      double ff2 = Double.parseDouble(ss);
      double ff = ff1 + ff2;
      s3 = ff + "";
     }
    }
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[3]) {
   s1 = jtf.getText().toString().trim();
   s2 = "1";
   if (s1.equals("0") ||b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[4]) {
   s1 = jtf.getText().toString().trim();
   s2 = "2";
   if (s1.equals("0") ||b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[5]) {

   s1 = jtf.getText().toString().trim();
   s2 = "3";
   if (s1.equals("0") ||b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[6]) {
   s1 = jtf.getText().toString().trim();
   s2 = "4";
   if (s1.equals("0") ||b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[7]) {
   s1 = jtf.getText().toString().trim();
   s2 = "5";
   if (s1.equals("0") ||b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[8]) {

   s1 = jtf.getText().toString().trim();
   s2 = "6";
   if (s1.equals("0") || b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[9]) {

   s1 = jtf.getText().toString().trim();
   s2 = "7";
   if (s1.equals("0") || b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[10]) {

   s1 = jtf.getText().toString().trim();
   s2 = "8";
   if (s1.equals("0") || b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[11]) {
   s1 = jtf.getText().toString().trim();
   s2 = "9";
   if (s1.equals("0")||b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[0]) {
   s1 = jtf.getText().toString().trim();
   s2 = "0";
   if (s1.equals("0") || b==1) {
    jtf.setText(s2);
    b=0;
   } else {
    s3 = s1.concat(s2);
    jtf.setText(s3);
   }
  }
  if (e.getSource() == jb1[2]) {
   s1 = jtf.getText().toString().trim();
   s2 = ".";
   int i1;
   try {
    i1 = Integer.parseInt(s1);
    s3 = s1.concat(s2);
    jtf.setText(s3);
   } catch (Exception e2) {

   }
  }
  if (e.getSource() == jb1[1]) {
   
   s1 = jtf.getText().toString().trim();
   int i1;
   if(s1.equals("")){
    
   }
   else{
   try {
    i1 = Integer.parseInt(s1);
    int i2 = i1 * (-1);
    s2 = i2 + "";
   } catch (Exception e2) {
    double f1 = Double.parseDouble(s1);
    double f2 = f1 * (-1);
    s2 = f2 + "";
   }
   jtf.setText(s2);
  }
   }
  if (e.getSource() == jb4[3]) {
   int a = 0;
    b=1;
    aa='+';
   if (ss1.equals("")) {
    ss1 = jtf.getText().toString().trim();
    a = 1;
    jtf.setText("");
    al = '+';
   }
   if (a < 1) {
    ss2 = jtf.getText().toString().trim();
    jtf.setText("");
    if(al=='+'){
      dd = koxux(Double.parseDouble(ss1), Double
       .parseDouble(ss2));
      al = '+';
    }
    if(al=='-'){
     dd = ilix(Double.parseDouble(ss1), Double.parseDouble(ss2));
     al = '-';
    }
    if(al=='*'){
     dd = kopaytix(Double.parseDouble(ss1), Double.parseDouble(ss2));
     al = '*';
    }
    if(al=='/'){
     dd = bolox(Double.parseDouble(ss1), Double.parseDouble(ss2));
     al = '/';
              }
    ss1 =dd+" ";
    ss2 = "";
    al = '+';
    jtf.setText(dd + "");
   }
  }
  if (e.getSource() == jb4[2]) {
     b=1;
   int a = 0;
   aa='-';
   if (ss1.equals("")) {
    ss1 = jtf.getText().toString().trim();
    a = 1;
    jtf.setText("");
    al = '-';
   }
   if (a < 1) {
    ss2 = jtf.getText().toString().trim();
    jtf.setText("");
    if(al=='+'){
      dd = koxux(Double.parseDouble(ss1), Double
       .parseDouble(ss2));
      al='+';
    }
    if(al=='-'){
     dd = ilix(Double.parseDouble(ss1), Double.parseDouble(ss2));
      al='-';
    }
    if(al=='*'){
     dd = kopaytix(Double.parseDouble(ss1), Double.parseDouble(ss2));
      al='*';
    }
    if(al=='/'){
     dd = bolox(Double.parseDouble(ss1), Double.parseDouble(ss2));
      al='/';
              }
    ss1 =dd+" ";
    ss2 = "";
    al = '-';
    jtf.setText(dd + "");
   }
  }
  if (e.getSource() == jb4[1]) {
   aa='*';
       b=1;
   int a = 0;
   
   if (ss1.equals("")) {
    ss1 = jtf.getText().toString().trim();
    a = 1;
    jtf.setText("");
    al = '*';
   }
   if (a < 1) {
    ss2=jtf.getText().toString().trim();
    jtf.setText("");
    if(al=='+'){
      dd = koxux(Double.parseDouble(ss1), Double
       .parseDouble(ss2));
      al='+';
    }
    if(al=='-'){
     dd = ilix(Double.parseDouble(ss1), Double.parseDouble(ss2));
      al='-';
    }
    if(al=='*'){
     dd = kopaytix(Double.parseDouble(ss1), Double.parseDouble(ss2));
      al='*';
    }
    if(al=='/'){
     dd = bolox(Double.parseDouble(ss1), Double.parseDouble(ss2));
      al='/';
              }
    ss1 =dd+" ";
    ss2 = "";
    al = '*';
    jtf.setText(dd + "");
   }
  }
  if (e.getSource() == jb4[0]) {
    b=1;
   int a = 0;
   aa='/';
   if (ss1.equals("")) {
    ss1 = jtf.getText().toString().trim();
    a = 1;
    jtf.setText("");
    al = '/';
    
   }
   if (a < 1) {
    ss2 = jtf.getText().toString().trim();
    jtf.setText("");
    if(al=='+'){
      dd = koxux(Double.parseDouble(ss1), Double
       .parseDouble(ss2));
      al='+';
    }
    if(al=='-'){
     dd = ilix(Double.parseDouble(ss1), Double.parseDouble(ss2));
      al='-';
    }
    if(al=='*'){
     dd = kopaytix(Double.parseDouble(ss1), Double.parseDouble(ss2));
      al='*';
    }
    if(al=='/'){
     dd = bolox(Double.parseDouble(ss1), Double.parseDouble(ss2));
      al='/';
              }
    ss1 =dd+" ";
    ss2 = "";
    al = '/';
    jtf.setText(dd + "");
   }
  }
  if (e.getSource() == jb5[3]) {
   
   ss2 = jtf.getText().toString().trim();
   if(ss2.equals("")){
    
   }
   if(ss1.equals("")){
    ss1=ss2;
    ss2=sss;
   }
   
   switch(aa){
   case '+':{
    
    dd = koxux(Double.parseDouble(ss1), Double.parseDouble(ss2));
    sss=ss2;
    ss1 = "";
    ss2 = "";
    
    jtf.setText(dd + "");
    break;
    }
    case '-':
    dd = ilix(Double.parseDouble(ss1), Double.parseDouble(ss2));
    sss=ss2;
    ss1 =  "";
    ss2 = "";
    jtf.setText(dd + "");
    break;
    case '/':
    dd = bolox(Double.parseDouble(ss1), Double.parseDouble(ss2));
    sss=ss2;
    ss1 = "";
    ss2 = "";
    jtf.setText(dd + "");
    break;
   case '*':
    dd = kopaytix(Double.parseDouble(ss1), Double.parseDouble(ss2));
    sss=ss2;
    ss1 = "";
    ss2 = "";
   
    jtf.setText(dd + "");
    break;
    default:
     break;
   }
   
  }
  if(e.getSource()==jb5[0]){
    b=1;
   ss2=jtf.getText().toString().trim();
   double ddd=Double.parseDouble(ss2);
   double d=Math.sqrt(ddd);
   jtf.setText(d+"");
  }
 
 if(e.getSource()==jb5[1]){
   b=1;
   if(ss1.equals(""))
   {
   
   }
   else{
    if(al=='*'){
    ss2=jtf.getText().toString().trim();
    double s=Double.parseDouble(ss1)*Double.parseDouble(ss2)*0.01;
    jtf.setText(s+"");
   }
    if(al=='+'){
     ss2=jtf.getText().toString().trim();
     double s=Double.parseDouble(ss1)+Double.parseDouble(ss1)*Double.parseDouble(ss2)*0.01;
     jtf.setText(s+"");
    }
   }
 }
 if(e.getSource()==jb5[2]){
   b=1;
  ss2=jtf.getText().toString().trim();
  double ddd=1/Double.parseDouble(ss2);
  jtf.setText(ddd+"");
 }
}
 
 public double koxux(double a, double b) {
  double sum;
  sum = a + b;
  return sum;
 }

 public double ilix(double a, double b) {
  double ay;
  ay = a - b;
  return ay;
 }

 public double kopaytix(double a, double b) {
  double ko;
  ko = a * b;
  return ko;
 }

 public double bolox(double a, double b) {
  double bo;
  bo = a / b;
  return bo;
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值