for循环中的I 部分中的死亡代码警告



此代码在for循环中的i++上一直给我发出死去的代码警告,并且由于某种原因而不会增加i

import java.util.Scanner;

public class HideThatNumber {
    /**
     * @param args
     */
    public static void main(String[] args) {
        Scanner input=new Scanner(System.in);
        int enc=input.nextInt();
        int tur=0;
        String test="";
        double x;
        for (int i=1;i<10;i++){
            test="";
            test+=i;
            test+=enc;
            x=Integer.parseInt(test);
            x/=11;
            if(x==Math.round(x));{
                tur=i;
                break;
            }
        }
        if(tur==0)
            System.out.println("Impossible");
        else 
            System.out.println(Integer.parseInt(test)/11);
    }
}
    if(x==Math.round(x)); <--semi-colon
    {
        tur=i;
        break;
    }

在循环内部,您已经在if的末尾放了一个半彩色。因此,在任何情况下,代码的下一个block都将执行,因此您将在第一次迭代后脱离循环。

    {
        tur=i;
        break;
    }

无论您的条件评估如何,该块将被执行。然后您从循环中 break

因此,您会收到警告,因为i++永远不会执行。

是这一行:

if(x==Math.round(x)); {

分号不应该在那里。在您的代码中,带有break;的块总是被执行 - 因此在第一次迭代后破裂。

相关内容

  • 没有找到相关文章

最新更新