0

こんにちは私は10進数を2進数に正常に変換するプログラムを持っています。ただし、最後にコードが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は決してなることができないから0です。 for (factorOfTwo = 1; factorOfTwo <= 128; factorOfTwo*=2)..ここではインクリメントのみです

于 2012-11-07T16:07:18.223 に答える
0

投稿されたコードにはゼロによる除算はありません。除算は1つだけでありfactorOfTwo、そのループで0になることはありません。

それでもゼロ除算エラーが発生する場合は、次のコードで実行していることを確認してください。

  1. コンパイルされたクラスファイルがソースファイルよりも新しいことを確認してください。

  2. コンパイルされたクラスファイルがクラスパスの最初にあることを確認します。

また、アキのコメントにも注意してください。2進数を逆方向に作成しています。

于 2012-11-07T16:09:32.370 に答える