我想将十进制转换为二进制,下面的代码不起作用。 请帮我改正代码。将十进制转换为二进制错误
package mainpackage;
import java.util.*;
class MainClass {
public MainClass() {
}
public static int binaryfinder(int n) {
int a[] = new int[8];
int i = 0;
int b = 0;
int n1 = n;
while (n1 > 0) {
a[i] = n1 % 2;
i++;
n1 = n1/2;
}
System.out.printf("Binary number of %d is = ", n);
for (int j = i - 1; j >= 0; j--) {
b += ((10^j) * a[j]);
}
return b;
}
public static void main(String[] args) {
System.out.println("\nEnter the number to find its binary value:\n");
Scanner k = new Scanner(System.in);
int num = k.nextInt();
int inBin = binaryfinder(num);
System.out.print(inBin);
}
}
我点击运行后,它会要求输入的二进制值,当我输入值,它说,“0 =二进制数”不管是什么,我总是进入它输出“二进制数0 =”。 没有错误引发。
很确定'while(j!= 0){+((10^j)* a [j]); '永远运行。 –
这是一个家庭作业。如果没有,那么有内联的方式来找到二进制文件。 –
这是使用您的调试器来调试程序的地方,它可以帮助您找到问题所在。 –