GVKun编程网logo

php实现简单四则运算器(运算符php)

12

这篇文章主要围绕php实现简单四则运算器和运算符php展开,旨在为您提供一份详细的参考资料。我们将全面介绍php实现简单四则运算器的优缺点,解答运算符php的相关问题,同时也会为您带来C#四则运算器(

这篇文章主要围绕php实现简单四则运算器运算符php展开,旨在为您提供一份详细的参考资料。我们将全面介绍php实现简单四则运算器的优缺点,解答运算符php的相关问题,同时也会为您带来C# 四则运算器(多态方法实现)、C#实现的简单整数四则运算计算器功能示例、C++实现能四则运算计算器、JAVA 实现四则运算的简单计算器的实用方法。

本文目录一览:

php实现简单四则运算器(运算符php)

php实现简单四则运算器(运算符php)

本文实例为大家分享了php实现简单四则运算器的具体代码,供大家参考,具体内容如下

前端代码 :

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>php计算器</title>
 </head>
 <body>
 <form name="form" method="post" action="phpjisuan.php">
 请输入num1:<input type="text" name="num1"></br></br>
 请选择运算符:<select name="sel">
    <option value="+">+</option>
    <option value="-">-</option>
    <option value="*">*</option>
    <option value="/">/</option>
    <option value="%">%</option>
    </select></br></br>
 请输入num2:<input type="text" name="num2"></br></br>
 <input type="submit" name="Submit" value="计算">
   <input type="reset" name="Reset" value="重置">
 </form>
 </body>
</html>

后台:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>php计算器</title>
 <?php
   $num1=$_POST["num1"];
   $num2=$_POST["num2"];
   $sel=$_POST["sel"];
  ?>
 </head>
 <body>
 <?php
 if($sel=="+"){
 $num=$num1+$num2;
 }
 else if($sel=="-"){
 $num=$num1-$num2;
 }
 else if($sel=="*"){
 $num=$num1*$num2;
 }
 else if($sel=="/"){
 if($num2!=0){
  $num=$num1/$num2;
 }else{
  echo "除数不能为0";
 }
 }
 
 else if($sel=="%"){
 if($num2!=0){
  $num=$num1%$num2;
 }else{
  echo "除数不能为0";
 }
 }
  
 if(isset($num)){
 echo "运算结果为$num";
 }
 ?>

 </body>
</html>

效果图1:

效果图2:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

您可能感兴趣的文章:
  • PHP 使用位运算实现四则运算的代码
  • PHP实现的简单四则运算计算器功能示例
  • 用PHP实现的四则运算表达式计算实现代码

C# 四则运算器(多态方法实现)

C# 四则运算器(多态方法实现)

在上一节 C# 课上,我们学习了用类的继承的方式来做一个四则运算器,然而老师的代码在课上演示的效果并不理想,而且没有使用多态的思想实现,今天我们就来用多态的方式实现四则运算器。

 

1. 题目及要求

  

  

 

2. Arithmetic 类的实现

  在实现 Arithmetic 类之前,我们需要一个类库,类库的创建方法如下:

 

  打开 VisualStidio,新建 -- 项目 -- 在 c# 一栏中选中类库

  

 

  我们将我们的类库命名为 MyClassLibrary1,当然你也可以根据自己的喜好命名

 

  进入类库后,将 c# 文件重命名为 Airthmetic,并开始编写代码

  

 

  Aeithmetic.cs 具体代码如下:

 1 using System;
 2 
 3 namespace MyClassLibrary1
 4 {
 5     public class Arithmetic //声明算术运算类
 6     {
 7         private double num1;
 8         private double num2;    //设置两个操作数
 9         //声明两个操作数的索引
10         public double Num1
11         {
12             get
13             {
14                 return num1;
15             }
16             set
17             {
18                 num1 = value;
19             }
20         }
21         public double Num2
22         {
23             get
24             {
25                 return num2;
26             }
27             set
28             {
29                 num2 = value;
30             }
31         }
32         //声明Airthmetic类的计算值方法
33         public virtual string GetResult()
34         {
35             return "两数没有做任何算术运算";
36         }
37         //检查输入的数据是否符合规范
38         public static bool CheckNum(string s1, string s2)
39         {
40             double num;
41             bool flag;  //声明标志变量flag
42             if (!double.TryParse(s1, out num))
43                 flag = false;   //当第一个数字不合规范时,flag为假
44             else if (!double.TryParse(s2, out num))
45                 flag = false;   //第二个数字不合规范时,flag为假
46             else flag = true;   //当两个数字都符合规范时,flag为真
47             return flag;
48         }
49     }
50 
51     public class NumAdd:Arithmetic //声明加法运算类
52     {
53         //重载父类中的计算值方法
54         public override string GetResult()
55         {
56             string result = "两数相加的结果为:";
57             double num = Num1 + Num2;   //计算两个数的和
58             result += Convert.ToString(num);   //将计算结果转换为字符串
59             return result;
60         }
61     }
62 
63     public class NumSub : Arithmetic    //声明减法运算类
64     {
65         //重载父类中的计算值方法
66         public override string GetResult()
67         {
68             string result = "两数相减的结果为:";
69             double num = Num1 - Num2;   //  计算两个数的差
70             result += Convert.ToString(num);    //  将计算结果转换为字符串
71             return result;
72         }
73     }
74 
75     public class NumMul : Arithmetic    //声明乘法运算类
76     {
77         //重载父类中的计算值方法
78         public override string GetResult()
79         {
80             string result = "两数相乘的结果为:";
81             double num = Num1 * Num2;   //计算两个数的积
82             result += Convert.ToString(num);    //将计算结果转换为字符串
83             return result;
84         }
85     }
86 
87     public class NumDiv : Arithmetic    //声明除法运算类
88     {
89         //重载父类中的计算值方法
90         public override string GetResult()
91         {
92             string result = "两个数相除的结果为:";
93             double num = Num1 / Num2;   //计算两个数的商
94             result += Convert.ToString(num);    //将计算结果转换为字符串
95             return result;
96         }
97     }
98 }

 

  在编写完代码之后,我们在菜单栏上点击  生成 -- 生成解决方案即可保存类库

  

 

  生成后的结果如下:

  

  请记住生成的路径名,我们在等下引用此类库时要用到

1. 连接到类库  

  首先,我们创建一个 c# 窗口程序

  

 

  然后,我们需要将刚才创建的类库引用到这个项目中去(直接在项目里面新建类的就不需要)

 

  对你的项目右键 -- 添加 -- 引用

  

 

  然后点击 浏览,在生成的路径里找到你的类库并添加

  

 

  之后我们再在代码里加入 using MyClassLibrary1; 便可以正常使用类库了

 

 

  当然,如果你嫌创建和引用类库过于麻烦,你也可以像 java 一样直接在项目里新建类,这里只是提供一下类库的创建和连接!

 

 

1. 窗体应用程序的具体实现

接下来,让我们回到窗体应用程序的实现中来,在创建了窗体应用程序后,右手边会出现一个可视化界面,将要用的控件拖到合适位置并右键 -- 属性对他们的名字和文本进行改变

 

 

这里提供我的界面布局和命名(命名用红字标出)

然后我们双击确定按钮进入编程界面。

Form1.cs 具体代码如下:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading.Tasks;
 9 using System.Windows.Forms;
10 using MyClassLibrary1;
11 
12 namespace cs四则运算器2018_1023
13 {
14     public partial class Form1 : Form
15     {
16         public Form1()
17         {
18             InitializeComponent();
19             this.Text = "四则运算工具";   //声明标题文字
20         }
21 
22         private void ButtonSubmit_Click(object sender, EventArgs e)
23         {
24             string a = textBoxNum1.Text;  //获取操作数A的字符串
25             string b = textBoxNum2.Text;  //获取操作数B的字符串
26             if (!Arithmetic.CheckNum(a, b)) //当数字不符合规范时,打印警告信息并退出
27             {
28                 MessageBox.Show("请输入符合规范的数字!", "警告", MessageBoxButtons.OK, MessageBoxIcon.Warning);
29                 return;
30             }
31 
32 
33             Arithmetic ari = new Arithmetic(); //声明一个Arithmetic类实例。
34 
35             //根据单选控件选中的值来决定使用哪一个子类来初始化
36             if (RadioAdd.Checked)
37                 ari = new NumAdd();
38             if (RadioSub.Checked)
39                 ari = new NumSub();
40             if (RadioMul.Checked)
41                 ari = new NumMul();
42             if (RadioDiv.Checked)
43                 ari = new NumDiv();
44 
45             ari.Num1 = Convert.ToDouble(a); 
46             ari.Num2 = Convert.ToDouble(b); //将两个操作数赋值给实例ari
47             LabelResult.Text = ari.GetResult(); //将结果转换为字符串
48         }
49     }
50 }

 

 

运行结果如下:

C#实现的简单整数四则运算计算器功能示例

C#实现的简单整数四则运算计算器功能示例

本文实例讲述了C#实现的简单整数四则运算计算器功能。分享给大家供大家参考,具体如下:

运行效果图如下:

具体代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace 计算器
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }
    public string num;
    public int flag;//用于判断输入的操作符
    public double num1,num2;
    private void num0_button_Click(object sender,EventArgs e)
    {
      num = num + "0";
      num2 = Convert.Todouble(num);
      textBox.Text = num;
    }
    private void num1_button_Click(object sender,EventArgs e)//重点算法1
    {
      if (textBox.Text == "0")
      {
        num = "1";
        textBox.Text = Convert.ToString(num);
      }
      else
      {
        num = num + "1";
        num2 = Convert.Todouble(num);
        textBox.Text = num;
      }
    }
    private void num2_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text == "0")
      {
        num = "2";
        textBox.Text = Convert.ToString(num);
      }
      else
      {
        num = num + "2";
        num2 = Convert.Todouble(num);
        textBox.Text = num;
      }
    }
    private void num3_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text == "0")
      {
        num = "3";
        textBox.Text = Convert.ToString(num);
      }
      else
      {
        num = num + "3";
        num2 = Convert.Todouble(num);
        textBox.Text = num;
      }
    }
    private void num4_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text == "0")
      {
        num = "4";
        textBox.Text = Convert.ToString(num);
      }
      else
      {
        num = num + "4";
        num2 = Convert.Todouble(num);
        textBox.Text = num;
      }
    }
    private void num5_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text == "0")
      {
        num = "5";
        textBox.Text = Convert.ToString(num);
      }
      else
      {
        num = num + "5";
        num2 = Convert.Todouble(num);
        textBox.Text = num;
      }
    }
    private void num6_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text == "0")
      {
        num = "6";
        textBox.Text = Convert.ToString(num);
      }
      else
      {
        num = num + "6";
        num2 = Convert.Todouble(num);
        textBox.Text = num;
      }
    }
    private void num7_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text == "0")
      {
        num = "7";
        textBox.Text = Convert.ToString(num);
      }
      else
      {
        num = num + "7";
        num2 = Convert.Todouble(num);
        textBox.Text = num;
      }
    }
    private void num8_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text == "0")
      {
        num = "8";
        textBox.Text = Convert.ToString(num);
      }
      else
      {
        num = num + "8";
        num2 = Convert.Todouble(num);
        textBox.Text = num;
      }
    }
    private void num9_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text == "0")
      {
        num = "9";
        textBox.Text = Convert.ToString(num);
      }
      else
      {
        num = num + "9";
        num2 = Convert.Todouble(num);
        textBox.Text = num;
      }
    }
    private void add_button_Click(object sender,EventArgs e)//重点算法2
    {
      if (textBox.Text.Length > 0)
      {
        num1 = Convert.Todouble(textBox .Text);
        num = "";
        flag = 1;
        textBox.Text = "";
        textBox.Focus();
      }
    }
    private void dev_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text.Length > 0)
      {
        num1 = Convert.Todouble(textBox.Text);
        num = "";
        flag = 2;
        textBox.Text = "";
        textBox.Focus();
      }
    }
    private void mul_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text.Length > 0)
      {
        num1 = Convert.Todouble(textBox.Text);
        num = "";
        flag = 3;
        textBox.Text = "";
        textBox.Focus();
      }
    }
    private void chu_button_Click(object sender,EventArgs e)
    {
      if (textBox.Text.Length > 0)
      {
        num1 = Convert.Todouble(textBox.Text);
        num = "";
        flag = 4;
        // textBox.Text = "";
        textBox.Focus();
      }
    }
    private void equ_button_Click(object sender,EventArgs e)
    {
      switch (flag)
      {
        case 1:
          textBox.Text = Convert.ToString(num1+Convert .Todouble(num));//重点算法3
          num2 = Convert.Todouble(textBox .Text);
          break;
        case 2:
          textBox.Text = Convert.ToString(num1 - Convert.Todouble(num));
          num2 = Convert.Todouble(textBox.Text);
          break;
        case 3:
          textBox.Text = Convert.ToString(num1 * Convert.Todouble(num));
          num2 = Convert.Todouble(textBox.Text);
          break;
        case 4:
          textBox.Text = Convert.ToString(num1 / Convert.Todouble(num));
          num2 = Convert.Todouble(textBox.Text);
          break;
      }
    }
    private void re_button_Click(object sender,EventArgs e)
    {
      num = "";
      textBox.Text = "0";
    }
  }
}

PS:这里再为大家推荐几款计算工具供大家进一步参考借鉴:

在线一元函数(方程)求解计算工具:
http://tools.jb51.net/jisuanqi/equ_jisuanqi

科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue

在线计算器_标准计算器:
http://tools.jb51.net/jisuanqi/jsq

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#数据结构与算法教程》、《C#程序设计之线程使用技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数组操作技巧总结》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。

C++实现能四则运算计算器

C++实现能四则运算计算器

#include <iostream>
#include <string>
#include <cmath>
#include <deque>
using namespace std;

#define LENGTH 61440 //60KB
bool isNo(char c) //is Number
{
	return c >= ''0'' && c <= ''9'' || c == ''.'';
}
bool isSyb(const char* c)//is Symbol
{
	return (*c == ''+'' || *c == ''-'' || *c == ''*'' || *c == ''/'') && strlen(c) == 1; //ver1.2
}
bool isSyb(char c)//is Symbol
{
	return c == ''+'' || c == ''-'' || c == ''*'' || c == ''/'';
}

bool isIlg(char c) //is illegal
{
	return !isNo(c) && !isSyb(c) && !(c == ''('' || c == '')'' || c == '' '');
}

const char* GetSubtext(const char* S,size_t bgn,size_t end) //follow "left-inclusive interval"
{
	char* subtext  = new char[end - bgn + 1];
	subtext[end - bgn] = ''\0'';
	for (size_t i = bgn; i != end; i++)
		subtext[i - bgn] = S[i];
	return subtext;
}
const char* calc(const char* S,size_t len)
{
	deque<string> words;
	bool inNo = false; //door for isNo
	//bool inSyb = false; //door for isSyb
	size_t NoPos = 0;
	//size_t SybPos = 0;
	size_t ParPos = 0, ParDep = 0;
	for (size_t i = 0; i <= len; i++) //build standard formula
	{
		
		if(isIlg(S[i]) && i != len) //formula illegal checking
		{
			return "The formula is illegal!";
			//exit(1);
		}
		
		if (isNo(S[i]) && !inNo) //Number postion begin
		{
			inNo = true;
			NoPos = i;
		}
		if (!isNo(S[i]) && inNo) //Number postion end
		{
			inNo = false;
			words.push_back(GetSubtext(S,NoPos,i));
		}

		if (isSyb(S[i])/* && !inSyb*/)
		{
			/*
			inSyb = true;
			SybPos = i;
			*/
			words.push_back(GetSubtext(S,i,i + 1));
		}
		/*
		if (!isSyb(S[i]) && inSyb)
		{
			inSyb = false;
			words.push_back(GetSubtext(S,SybPos,i));
		}*/
		
		if (S[i] == ''('')
		{
			//inPar = true;
			ParDep++;
			ParPos = i + 1; //left-inclusive interval
			size_t j;
			for (j= i + 1; ParDep && j <= len; j++)
			{
				if (S[j] == ''('') ParDep++;
				if (S[j] == '')'') ParDep--;
			}
			if (j <= len)
			{
				string recResult(calc(GetSubtext(S,ParPos,j - 1),strlen(GetSubtext(S,ParPos,j - 1))));
				if (recResult == "The formula is illegal!")
					return "The formula is illegal!";
				else if (recResult == "Parentheses is not match!")
					return "Parentheses is not match!";
				else
					words.push_back(recResult);
			}
			else
			{
				//parentheses is not match
				return "Parentheses is not match!";
			}
			i = j; //jump over subtext
		}
		if (S[i] == '')'')
			return "Parentheses is not match!";
	} //end for

	long double tempResult = 0;
	static char CtmpResult[50];

	//check formula
	if (words.size() == 0) return "0."; // 0 element
	if (words.size() == 1 ) //1 element
		if( !isSyb(words.front().c_str()))
		{
			strcpy_s(CtmpResult,words.front().c_str());
			return CtmpResult;
		} 
		else
		return "The formula is illegal!";
	if (words.front() == "*" || words.front() == "/")  //front is symble
		return "The formula is illegal!";
	if (words.front() == "+" || words.front() == "-")
	{
		if (!isSyb((words.begin() + 1) -> c_str()))
		{
			words.front() += *(words.begin() + 1);
			words.erase(words.begin() + 1); //erase second one
		}
		else
		return "The formula is illegal!";
	}
	if (isSyb(words.back().c_str()))
		return "The formula is illegal!";
	for (deque<string>::iterator i = words.begin() + 1; i < words.end(); i++)
	{
		if ((*i == "*" || *i == "/") && (isSyb((i-1) -> c_str())) && strlen((i-1) -> c_str()))
			return "The formula is illegal!";
		if ((*i == "+" || *i == "-") && (isSyb((i-1) -> c_str())) && strlen((i-1) -> c_str()))
			if(!isSyb(*((i+1) -> c_str())))
			{
				*(i + 1) = *i + *(i + 1);
				i = words.erase(i);
			}
			else
			return "The formula is illegal!";
	}

	//start calculate
	for (deque<string>::iterator i = words.begin(); i != words.end(); i++) 
	{
		//calculate * and /
		if (*i == "*")
		{
			tempResult = atof((i-1) -> c_str()) * atof((i+1) -> c_str());
			_gcvt_s(CtmpResult,tempResult,47);//double to string
			i = words.erase(i - 1);
			i = words.erase(i);
			*i = CtmpResult;
		}
		if (*i == "/")
		{
			tempResult = atof((i-1) -> c_str()) / atof((i+1) -> c_str());
			_gcvt_s(CtmpResult,tempResult,47); //double to string
			i = words.erase(i - 1);
			i = words.erase(i);
			*i = CtmpResult;
		}
	}
	for (deque<string>::iterator i = words.begin(); i != words.end(); i++) 
	{
		//calculate + and -
		if (*i == "+")
		{
			tempResult = atof((i-1) -> c_str()) + atof((i+1) -> c_str());
			_gcvt_s(CtmpResult,tempResult,47); //double to string
			i = words.erase(i - 1);
			i = words.erase(i);
			*i = CtmpResult;
		}
		if (*i == "-")
		{
			tempResult = atof((i-1) -> c_str()) - atof((i+1) -> c_str());
			_gcvt_s(CtmpResult,tempResult,47);//double to string
			i = words.erase(i - 1);
			i = words.erase(i);
			*i = CtmpResult;
		}
	}

	strcpy_s( CtmpResult, words.front().c_str());
	return CtmpResult;
}
void main(int argc,char* argv[])
{
	if (argc > 1)
	{
		cout<<argv[1]<<ends<<''=''<<ends<<calc(argv[1],strlen(argv[1]))<<endl;
	}
	else
	{
		cout<<"请输入公式,如需退出请按CTRL + C。\nVER1.3 design by zuozhiwen.\n";
		char S[LENGTH];
		while(1)
		{
			cin.getline(S,LENGTH);
			cout<<calc(S,strlen(S))<<endl;
		}
	}
}

JAVA 实现四则运算的简单计算器

JAVA 实现四则运算的简单计算器

开发环境 eclipse java neon.

今天用 JAVA 的 swing 界面程序设计制作了一个四则运算的简易计算器。代码以及截图如下:

代码的缩进格式复制后没有了缩进,看起来有点难受哈哈哈哈

computer.java:

/////////////////////////////////////////
//
// 开发者:
//
// 简介:实现四则运算的简易计算器
//
////////////////////////////////////////
/*
* 用 swing 图形用户界面实现计算器的设计
* 同时练习在线文档注释的使用方法
*
* @author linruier
* @version 1.0
* @since J2SE1.8
*/
import javax.swing.JButton;
import java.awt.Graphics;
import java.awt.FlowLayout;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import javax.swing.JPanel;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class computer extends JFrame
{
computer()
{
super ("简易计算器");
Font f=new Font ("黑体",30,30);
JTextField jt1=new JTextField(null);
JTextField jt2=new JTextField(null);
jt1.setFont(f);
jt2.setFont(f);
jt1.setHorizontalAlignment(JTextField.RIGHT);
jt2.setHorizontalAlignment(JTextField.RIGHT);
Container c=getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
c.add(jt1);
c.add(jt2);
jt1.setPreferredSize(new Dimension(370,70));
jt2.setPreferredSize(new Dimension(370,75));
jt1.setEditable(false);jt2.setEditable(false);
JButton jb[]=new JButton[16];
for(int j=0;j<16;j++)
{
jb[j]=new JButton();
jb[j].setBackground(Color.WHITE);
jb[j].setFocusable(false);
jb[j].setPreferredSize(new Dimension(90,90));
jb[j].setFont(f);
c.add(jb[j]);
}
this.setResizable(false);
// 对各个按钮的名称赋值
jb[0].setText("+");jb[1].setText("-");jb[2].setText("*");jb[3].setText("/");
jb[4].setText("1");jb[5].setText("2");jb[6].setText("3");jb[7].setText("C");jb[7].setBackground(Color.ORANGE);
jb[8].setText("4");jb[9].setText("5");jb[10].setText("6");jb[11].setText("0");
jb[12].setText("7");jb[13].setText("8");jb[14].setText("9");jb[15].setText("=");

JButton Button_num[]={jb[4],jb[5],jb[6],jb[8],jb[9],jb[10],jb[11],jb[12],jb[13],jb[14]};
for(int i=0;i<Button_num.length;i++)
{
Button_num[i].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JButton action_Button=(JButton)e.getSource();
jt2.setText(jt2.getText()+action_Button.getText());
}
}
);
}
for(int j=0;j<4;j++)
{
jb[j].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
String s=jt2.getText();
char ch=s.charAt(s.length()-1);

if(ch==''+''||ch==''-''||ch==''*''||ch==''/'')((JButton)e.getSource()).setEnabled(false);
else
{
jt1.setText(jt2.getText());
jt2.setText(((JButton)e.getSource()).getText());
}

}
}
);
}
jb[7].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jt1.setText(null);jt2.setText(null);
}
}

);
jb[15].addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
String Calculate_String=jt1.getText()+jt2.getText();
int result=calculation.result(Calculate_String);
jt1.setText(null);
jt2.setText(Integer.toString(result));
}
catch(ArithmeticException ex)
{
jt1.setText(null);jt2.setText("ERROR");
}
}
}
);
}
public static void main(String args[])
{
computer app=new computer();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
app.setSize(400,580);
app.setVisible(true);
}
}

 

 

// 再定义一个计算类 calculation.java:

public class calculation {
calculation(){};
boolean is_operator(char ch)
{
if(ch==''+''||ch==''-''||ch==''*''||ch==''/'')return true;
else return false;
}
static int result(String s)
{
String ch[]={"+","-","*","/"};
int i=0;int index;
while(s.indexOf(ch[i])==-1&&i<4){i++;}
if(i==4)return -1;
else index=s.indexOf(ch[i]);
String s1=s.substring(0, index);
String s2=s.substring(index+1, s.length());
if(i==0)return Integer.parseInt(s1)+Integer.parseInt(s2);
if(i==1)return Integer.parseInt(s1)-Integer.parseInt(s2);
if(i==2)return Integer.parseInt(s1)*Integer.parseInt(s2);
if(i==3&&Integer.parseInt(s2)!=0)return Integer.parseInt(s1)/Integer.parseInt(s2);
else if(i==3&&Integer.parseInt(s2)==0){throw new ArithmeticException();}
return -1;
}

}

最后运行就可以实现一个十分简洁的小计算器:

 

关于php实现简单四则运算器运算符php的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于C# 四则运算器(多态方法实现)、C#实现的简单整数四则运算计算器功能示例、C++实现能四则运算计算器、JAVA 实现四则运算的简单计算器的相关知识,请在本站寻找。

本文标签: