for循环中无法访问的语句错误

时间:2017-08-12 20:20:36

标签: java

import java.util.*;

class dectobin
{
public static void main(String agrs[])
{
int i,a1;
int val[]=new int[20];
Scanner sc=new Scanner(System.in);
System.out.println("enter a decimal number");
a1=sc.nextInt();
while(true)
{
i=0;
val[i]=a1%2;
a1=a1/2;
i++;
}

for(i=val.length;i>=0;i--)
{
System.out.println(+val[i]);
}
}    
}

我无法执行我的代码,因为我在for循环中收到错误为无法访问的语句而且因为它没有得到任何输出。

4 个答案:

答案 0 :(得分:1)

你的while循环永远运行

while(true)
{
i=0;
val[i]=a1%2;
a1=a1/2;
i++;
}

这就是循环无法访问的原因。试着有一些条件。

答案 1 :(得分:0)

由于For循环无限,

while(true)循环以及while(true)循环下方的所有行都无法访问。这意味着程序不会超出while循环并继续执行其他行

答案 2 :(得分:0)

这是因为你有一段时间(真实)的情况会持续下去。看起来你不需要while循环,可以用for循环替换它。

答案 3 :(得分:0)

你没有超越while循环。为它做出退出条件。无论如何,在头部没有条件的情况下使用while循环是不好的做法。 如果你不能写一个入口点条件,那么尝试do-while循环 E.g。

do {
//...
}
while(i < 10);