Java i++;for循环中的一部分
这段代码一直在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.
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)); {