我想將十進制轉換爲二進制,下面的代碼不起作用。 請幫我改正代碼。將十進制轉換爲二進制錯誤
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]); '永遠運行。 –
這是一個家庭作業。如果沒有,那麼有內聯的方式來找到二進制文件。 –
這是使用您的調試器來調試程序的地方,它可以幫助您找到問題所在。 –