请将下面代码中的三个两层for循环,简化为一个两层for循环。
要求原代码的功能现实不变! public void PrintT(double[,] e, int[,] root, double[,] w)
{
int RootX = 700;
int WX = 360;
int EY = 60;
int x = 20;
int y = EY;
int AddDis = 40; for (int i = 1; i <= 7; i++)
{
for (int j = 0; j <= 6; j++)
{
if (e[i, j] != 0)
{ AddToForm(e[i, j].ToString("0.00"),x,y); }
else
{ }
x += AddDis;
if (j == 6)
{
y += AddDis;
x = 20;
}
}
}
x = RootX;
y = EY;
for (int i = 1; i <= 7; i++)
{
for (int j = 0; j <= 6; j++)
{
if (root[i, j] != 0)
{ AddToForm(root[i, j].ToString(),x,y); }
else
{ }
x += AddDis;
if (j == 6)
{
y += AddDis;
x = RootX;
}
}
}
x = WX;
y = EY;
for (int i = 1; i <= 7; i++)
{
for (int j = 0; j <= 6; j++)
{
if (w[i, j] != 0)
{ AddToForm(w[i, j].ToString("0.00"),x,y); }
else
{ }
x += AddDis;
if (j == 6)
{
y += AddDis;
x = WX;
}
}
}
}
要求原代码的功能现实不变! public void PrintT(double[,] e, int[,] root, double[,] w)
{
int RootX = 700;
int WX = 360;
int EY = 60;
int x = 20;
int y = EY;
int AddDis = 40; for (int i = 1; i <= 7; i++)
{
for (int j = 0; j <= 6; j++)
{
if (e[i, j] != 0)
{ AddToForm(e[i, j].ToString("0.00"),x,y); }
else
{ }
x += AddDis;
if (j == 6)
{
y += AddDis;
x = 20;
}
}
}
x = RootX;
y = EY;
for (int i = 1; i <= 7; i++)
{
for (int j = 0; j <= 6; j++)
{
if (root[i, j] != 0)
{ AddToForm(root[i, j].ToString(),x,y); }
else
{ }
x += AddDis;
if (j == 6)
{
y += AddDis;
x = RootX;
}
}
}
x = WX;
y = EY;
for (int i = 1; i <= 7; i++)
{
for (int j = 0; j <= 6; j++)
{
if (w[i, j] != 0)
{ AddToForm(w[i, j].ToString("0.00"),x,y); }
else
{ }
x += AddDis;
if (j == 6)
{
y += AddDis;
x = WX;
}
}
}
}
{
string returnValue="";
int RootX = 700;
int WX = 360;
int EY = 60;
int x = 20;
int y = EY;
int AddDis = 40;
for(int k=0;k<3;k++)
{
if(k==1)
{
x = 20;
y = EY;
returnValue =aaaa(x,y);
}else if(l==2)
{
x = RootX;
y = EY;
returnValue =aaaa(x,y);}else if(k==3)
{
x = WX;
y = EY;
returnValue =aaaa(x,y);
}
}}
}
public string aaaa(int x,int y)
{
for (int i = 1; i <= 7; i++)
{
for (int j = 0; j <= 6; j++)
{
if (e[i, j] != 0)
{ AddToForm(e[i, j].ToString("0.00"),x,y); }
else
{ }
x += AddDis;
if (j == 6)
{
y += AddDis;
x = 20;
}
}
}
return x +"," + y;
}把 string[] aaa = returnValue.Split(',');就是你要的X,Y!
那 对传个参数进来!!!
public string aaaa(int x,int y, int Val)
{
for (int i = 1; i <= 7; i++)
{
for (int j = 0; j <= 6; j++)
{
if (e[i, j] != 0)
{ AddToForm(e[i, j].ToString("0.00"),x,y); }
else
{ }
x += AddDis;
if (j == 6)
{
y += AddDis;
x = Val;
}
}
}
return x +"," + y;
}
public void PrintT<T>(T[,] t)//这是定义方法PrintT<int>(int [,])//方法调用
不知道你在说什么!!!是 参数类型不同,还是值?还是 赋值给X值 类型不同?
看你用 double,int .....double 也可保存INT,,,不喜欢用string ,用的时候转化成 INT,DOUBLEOR 7 楼