你好,我有一個程序,成功地將十進制轉換爲二進制。但是,在最後,代碼將0除以0,最終導致錯誤消息。這是代碼。將數字轉換爲二進制,無法修復0/0錯誤
import java.lang.*;
import java.util.*;
public class BinaryConverter {
public static void main (String[] argv) {
Scanner input = new Scanner (System.in);
int number = 0;
int factorOfTwo = 0;
do {
System.out.println("Enter the number to convert (0-255): ");
number = input.nextInt();
} while (number< 0 || number > 255);
System.out.println("The number " + number + " converted to binary is : ");
for (factorOfTwo = 1; factorOfTwo <= 128; factorOfTwo*=2) {
if (number/factorOfTwo >= 1){
System.out.print("1");
number -= factorOfTwo;
}
else System.out.print ("0");
}
} // end of main
}// end of class
我沒有看到錯誤...如果您將變量聲明爲儘可能小的範圍,您的代碼將變得更乾淨,但它不會給我一個錯誤......什麼值失敗? –
唯一的劃分是'factorOfTwo',我看不出'factorOfTwo'可以是零。 – NPE
您可以使用['toBinaryString()'](http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/Integer.html#toBinaryString%28int%29)。 – Sirko