Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java i++;for循环中的一部分_Java_Loops_For Loop_Dead Code - Fatal编程技术网

Java i++;for循环中的一部分

Java i++;for循环中的一部分,java,loops,for-loop,dead-code,Java,Loops,For Loop,Dead Code,这段代码一直在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.

这段代码一直在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);
    }
}
import java.util.Scanner;
公共类HideThatNumber{
/**
*@param args
*/
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
int enc=input.nextInt();
int-tur=0;
字符串测试=”;
双x;
对于(int i=1;i
无论if条件的计算结果是什么,都将执行此块。并且您将
从循环中中断

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

这一行:

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

分号不应该在那里。在你的代码中,带有
break;
的块总是会被执行,所以它在第一次迭代后会中断。

+1当我发现错误时,你的答案出现了。问题:花括号内的代码块是否真的是一个称为初始值设定项块的方法?我不知道如何调用它们,但我想了想初始化器块在类定义中。是的,它们是初始化器块。我之前也认为它们只能在类中使用,但几天前我就知道了这一点。实际上,当我们在构造函数外部声明并初始化out实例变量时,编译器会将初始化代码放入初始化器块中y构造函数。那时我才知道,我们可以把它们放在任何块中。@RohitJain,这根本不正确。方法中的普通块不是初始值设定块,因为它不初始化任何东西-它不会像初始值设定块那样作为构造函数的一部分运行。它只是一个普通的“块”它是按顺序执行的,除作用域局部变量外,没有太多用处。@RohitJain它用于初始化程序块。这些是出现在类体中的普通块。(意思是,不在方法内部)。方法内部的普通块不会移位,因此不是初始化程序块。
    {
        tur=i;
        break;
    }
if(x==Math.round(x)); {