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循环中收到错误为无法访问的语句而且因为它没有得到任何输出。
答案 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);