对于Loop Stuck?

时间:2017-05-17 15:37:39

标签: java for-loop

我是java的初学者。有没有办法知道变量function msubirimagendropzone(){ $storeFolder = '/imagenes/vinos/'; //2 $nombreimagen = $_POST["nombrevino"]; if (!empty($_FILES)) { $tempFile = $_FILES['file']['tmp_name']; //3 $tipo_imagen=$_FILES['file']['type']; $targetPath = dirname( __FILE__ ) . $storeFolder; //4 imagepng($tempFile, $nombreimagen); $targetFile = $targetPath. $nombreimagen; //5 move_uploaded_file($tempFile,$targetFile. ".png"); //6 smart_resize_image($targetFile.".png",null,200,200,false,$targetFile . "_little.png",false,false,100); smart_resize_image($targetFile.".png",null,500,500,false,$targetFile . "_medium.png",false,false,100); smart_resize_image($targetFile.".png",null,1000,1000,false,$targetFile . "_big.png",false,false,100); } } 是否永远不会达到n?方法(boats-3)中包含placeShip循环,因此while可能会在for到达n之前卡住。

boats-3

3 个答案:

答案 0 :(得分:2)

这是一个错误的问题。你应该问问自己,我如何确保placeShip中的while循环永远不会卡住。例如:

while (true)
{
    if (no more boats left to place) { break; }
    else { place another boat; }
}

如果您编写设计良好的代码,您将永远不需要问自己这样的事情。

答案 1 :(得分:1)

变量n永远不会达到循环内的boats - 3值,因为你的for循环显示n < boats - 3

答案 2 :(得分:1)

我想你想知道该程序是否卡在placeship()函数之一中。您可以在每个placeship()函数之前和之后放置两个打印语句,以检查程序是否跳出函数。代码将是这样的:

if (opcao == 0)
{
  System.out.println("n is " + n);
  System.out.println("Before placeShip1");
  placeShip1(grelha);
  System.out.println("After placeShip1");
}

对其他两个placeShip()做同样的事情。然后你应该能够看到程序被卡住的地方。