您好我有一个成功将十进制转换为二进制的程序。但是,最后代码将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
答案 0 :(得分:0)
您收到的错误消息是什么?因为factorofTwo
永远不会是0
。
for (factorOfTwo = 1; factorOfTwo <= 128; factorOfTwo*=2)
..这里只是递增
答案 1 :(得分:0)
在发布的代码中没有除零。只有一个除法,factorOfTwo
在该循环中永远不能为0。
如果仍然出现除零错误,请确保您正在运行此代码:
检查已编译的类文件是否为源文件。
检查编译的类文件是否在类路径中的第一个。
另外,请注意 Aki 的评论。您正在向后创建二进制数。