⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculator.cs

📁 北大青鸟-Cs学生用书-教师用书实例源代码.rar
💻 CS
字号:
using System;

namespace Calculator
{
	/// <summary>
	/// Calculator 的摘要说明。
	/// </summary>
	public class Calculator
	{
		public Calculator()
		{
			//
			// TODO: 在此处添加构造函数逻辑
			//
		}

		public double Calculat(string Expression)
		{
			double result = 0d;
 
			//去掉空格
			Expression = Expression.Replace(" ", "");

			//运算符超过一个,抛出错误
			if(Expression.Replace("+", "").Replace("-","").Replace("X", "").Replace("/", "").Length 
				< Expression.Length - 1)
			{
				throw new ApplicationException("运算符个数不能超过一个");
			}
			//如果没有运算符,尝试转换为数字
			else if(Expression.Replace("+", "").Replace("-","").Replace("X", "").Replace("/", "").Length 
				== Expression.Length)
			{

				//不能转换为数字,抛出错误
				try
				{
					result = double.Parse(Expression);
				}
				catch
				{
					throw new ApplicationException("输入数字错误。");
				}
			}
			//只有一个运算符的情况
			else
			{
				char[] splitChar = {'+', '-', 'X', '/'};

				//用加、减、乘、除符号把字符串分成两短
				string[] number = Expression.Split(splitChar);
				
				//分别进行加、减、乘、除运算
				if(Expression.IndexOf("+") > 0)
				{
					result = double.Parse(number[0]) + double.Parse(number[1]);
				}
				else if(Expression.IndexOf("-") > 0)
				{
					result = double.Parse(number[0]) - double.Parse(number[1]);
				}
				else if(Expression.IndexOf("X") > 0)
				{
					result = double.Parse(number[0]) * double.Parse(number[1]);
				}
				else
				{
					//除数是零,抛出错误
					if(Convert.ToDouble(number[1]) == 0d)
					{
						throw new DivideByZeroException();
					}
					result = double.Parse(number[0]) / double.Parse(number[1]);
				}	
			}
			return result;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -