日期:2014-05-18  浏览次数:21029 次

求助!!什么语句能代替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是终止这次变量的循环 直接跳到循环的下个变量