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
4

2 回答 2

0

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

于 2012-11-07T16:07:18.223 回答
0

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

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

  1. 检查编译的类文件是否比源文件更新。

  2. 检查已编译的类文件是否位于类路径的第一个位置。

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

于 2012-11-07T16:09:32.370 回答