求助!!什么语句能代替goto语句。
最经在改别人用QBASIC语言编写的一段程序,里面很多判断和循环语句,代码中用到很多goto语句。我用了几个成员函数进行调用,好像goto语句goto过去就不再回到程序调用处,但函数调用会回到函数调用处。不知道怎么解决,本人新手求帮助。先谢过!!部分代码如下:
public void level1540()//1540
{
XZ();//调用旋转函数
if (C < D) //1550
{
P = J1 - Y1; Q = X1 - I1;
P1 = I1 * P + J1 * Q; P2 = I2 * P + J2 * Q; P3 = I3 * P + J3 * Q;
if ((P3 > P1 && P2 >= P1) || (P3 < P1 && P2 <= P1))
{
P = J3 - Y1; Q = X1 - I3;
P1 = I3 * P + J3 * Q; P2 = I2 * P + J2 * Q; P3 = I1 * P + J1 * Q;
if ((P3 > P1 && P2 >= P1) || (P3 < P1 && P2 <= P1))
{
I5 = X1; J5 = Y1;
f = A - B;
return;
}
else
{
I1 = X1; J1 = Y1;
level1540();//goto1540
}
}
else
{
I3 = X1; J3 = Y1;
level1540();//goto1540
}
}
else
{
if ((P1 > P2 && P1 < S[X2, Y2]) || (P1 < P2 && P1 > S[X2, Y2]))
{
I4 = X2; J4 = Y2; P = J2 - J4; Q = I4 - I2;
P1 = I1 * P + J1 * Q; P2 = I2 * P + J2 * Q; P3 = I3 * P + J3 * Q;
if ((P1 > P2 && P2 > P3) || P1 < P2 && P2 < P3)
{
f = A - B;
return;
}
else
{
I1 = I3; J1 = J3;
level1210();//goto 1210
}
}
else
{
I2 = X2; J2 = Y2;
level1520();//goto 1520;
}
}
}
------解决方案--------------------
goto是终止这次变量的循环 直接跳到循环的下个变量