将一段表达式中的数字加入c#数组
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/06 00:45:40
将一段表达式中的数字加入c#数组
有一段四则表达式 1+2*3-4
把1 2 3 4 加如数字数组
把 + * - 加入符号数组
有一段四则表达式 1+2*3-4
把1 2 3 4 加如数字数组
把 + * - 加入符号数组
可以循环读取每个字符,然后判断字符是否为运算符,如果不是则把字符连接为字符串,如果是则把连接的字符串存入数组,把运算符存入另一个数组.
private List NumberList = new List();
private List OperatorList = new List();
private void Check(string exp)
{
string numTmp = "";
for (int i = 0; i < exp.Length; i++)
{
string strtmp = exp.Substring(i, 1);
if (strtmp == "+" || strtmp == "-" || strtmp == "*" || strtmp == "/")
{
OperatorList.Add(strtmp);
if (!string.IsNullOrEmpty(numTmp))
{
NumberList.Add((double)numTmp);
numTmp = "";
}
}
else
numTmp += strtmp;
}
}
最后用NumberList.ToArray()和OperatorList.ToArray()就可以转换为数组了.
再问: numTmp是string 在下面NumberList.Add((double)numTmp); 怎么成double了。 好像不能转换啊。 那我把numTmp改成double呢。。。。
private List NumberList = new List();
private List OperatorList = new List();
private void Check(string exp)
{
string numTmp = "";
for (int i = 0; i < exp.Length; i++)
{
string strtmp = exp.Substring(i, 1);
if (strtmp == "+" || strtmp == "-" || strtmp == "*" || strtmp == "/")
{
OperatorList.Add(strtmp);
if (!string.IsNullOrEmpty(numTmp))
{
NumberList.Add((double)numTmp);
numTmp = "";
}
}
else
numTmp += strtmp;
}
}
最后用NumberList.ToArray()和OperatorList.ToArray()就可以转换为数组了.
再问: numTmp是string 在下面NumberList.Add((double)numTmp); 怎么成double了。 好像不能转换啊。 那我把numTmp改成double呢。。。。
C#求数组中的最大值和最小值
matlab将结果中的数字表达式变成数值
C#窗体中textBox中加入正则表达式:可以输入数字类型数据(int,double,小数、负数)和逗号(英文半角,)
c#用正则表达式提取小括号中的内容
C#中的lambda表达式和线性代数有关系么
用C#编写一个数组 长度一百 然后插入1-100之间的数字 不能重复
C# lamp表达式作用?
c#算术表达式 求值
求C#高手,统计5*4二维数组中的奇数个数和偶数个数
C# 正则表达式表示1到3之间的精确2位小数的数字.
C#正则表达式匹配单词
C#里怎么将数组元素逐个存入数据库表中,数组元素相同的占一行,并统计元素出现的次数