SyntaxAnalyse/TokenRecord/Symbol/Arithmetic/TokenDivide.cs
(完整代码) 1KB//xxxxxxxxxxx
using System;
using System.Collections.Generic;
using System.Text;
namespace ConExpress.Calculator
{
public class TokenDivide : TokenArithmeticSymbol
{
public TokenDivide(int Index, int Length)
: base(Index, Length)
{
}
protected override void SetPriority()
{
this.m_Priority = 3;
}
public override void Execute()
{
this.CheckChildCount("除法的运算元素数量不合法");
TokenRecord TokenFirst = this.ChildList[0];
TokenRecord TokenSecond = this.ChildList[1];
TokenFirst.Execute();
TokenSecond.Execute();
//检查除数不能为0
if (TokenSecond.ChangeTokenToDouble("除法的运算元素不是数值") == 0)
{
//throw new DivideByZeroException(string.Format("算术运算错误,列{0},除数不能为零。",this.Index.ToString()));
throw new SyntaxException(this.Index, this.Length, "算术运算错误,除数不能为零");
}
this.TokenValue = TokenFirst.ChangeTokenToDouble("除法的运算元素不是数值") / TokenSecond.ChangeTokenToDouble("除法的运算元素不是数值");
}
}
}
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。