将数字转换为二进制,无法修复0/0错误

时间:2012-11-07 16:00:45

标签: java divide-by-zero

您好我有一个成功将十进制转换为二进制的程序。但是,最后代码将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

2 个答案:

答案 0 :(得分:0)

您收到的错误消息是什么?因为factorofTwo永远不会是0for (factorOfTwo = 1; factorOfTwo <= 128; factorOfTwo*=2) ..这里只是递增

答案 1 :(得分:0)

在发布的代码中没有除零。只有一个除法,factorOfTwo在该循环中永远不能为0。

如果仍然出现除零错误,请确保您正在运行此代码:

  1. 检查已编译的类文件是否为源文件。

  2. 检查编译的类文件是否在类路径中的第一个。

  3. 另外,请注意 Aki 的评论。您正在向后创建二进制数。