using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;public partial class _Default : System.Web.UI.Page
{
string[] oper={"+","-","*","/","="};
string[] var = { "x", "Fa", "y", "z", "m", "Tc" };
int m = 0;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{ }
protected void Button2_Click(object sender, EventArgs e)
{
string formular = TextBox1.Text;
string strvar = "";
string[] arr3=new string[10];
ReadVar(formular, oper, var,arr3);
for (int i = 0; i < arr3.Length; i++)
{
if (arr3[i] != null && arr3[i] != "")
{
strvar += arr3[i] + ",";
}
}
if (strvar.LastIndexOf(",") > -1)
{
strvar = strvar.Substring(0, strvar.LastIndexOf(","));
}
this.TextBox2.Text = strvar;
}
/// <summary>
///获取变量
/// </summary>
/// <param name="str">公式</param>
/// <param name="arr1">操作符</param>
/// <param name="arr2">变量</param>
/// <returns></returns>
public void ReadVar(string str,string[] arr1,string[] arr2,string[] arr3)
{
arr3 = new string[10];
for(int i=0;i<str.Length;i++)
{
for (int j = 0; j < arr1.Length;j++ )
{
if (str.Substring(i, 1) == arr1[j])
{
string befstr = str.Substring(0, i);
string aftstr = str.Substring(i+1,str.Length-befstr.Length-1);
for (int x = 0; x < arr2.Length; x++)
{
if (befstr == arr2[x])
{
arr3[m] = befstr;
m++; }
}
str = aftstr;
ReadVar(str, arr1, arr2, arr3); }
else
{
continue;
}
}
}
}
}
我的目的是解析变量,怎么运行不了啊?谢谢诶
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;public partial class _Default : System.Web.UI.Page
{
string[] oper={"+","-","*","/","="};
string[] var = { "x", "Fa", "y", "z", "m", "Tc" };
int m = 0;
protected void Page_Load(object sender, EventArgs e)
{
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{ }
protected void Button2_Click(object sender, EventArgs e)
{
string formular = TextBox1.Text;
string strvar = "";
string[] arr3=new string[10];
ReadVar(formular, oper, var,arr3);
for (int i = 0; i < arr3.Length; i++)
{
if (arr3[i] != null && arr3[i] != "")
{
strvar += arr3[i] + ",";
}
}
if (strvar.LastIndexOf(",") > -1)
{
strvar = strvar.Substring(0, strvar.LastIndexOf(","));
}
this.TextBox2.Text = strvar;
}
/// <summary>
///获取变量
/// </summary>
/// <param name="str">公式</param>
/// <param name="arr1">操作符</param>
/// <param name="arr2">变量</param>
/// <returns></returns>
public void ReadVar(string str,string[] arr1,string[] arr2,string[] arr3)
{
arr3 = new string[10];
for(int i=0;i<str.Length;i++)
{
for (int j = 0; j < arr1.Length;j++ )
{
if (str.Substring(i, 1) == arr1[j])
{
string befstr = str.Substring(0, i);
string aftstr = str.Substring(i+1,str.Length-befstr.Length-1);
for (int x = 0; x < arr2.Length; x++)
{
if (befstr == arr2[x])
{
arr3[m] = befstr;
m++; }
}
str = aftstr;
ReadVar(str, arr1, arr2, arr3); }
else
{
continue;
}
}
}
}
}
我的目的是解析变量,怎么运行不了啊?谢谢诶
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货