• ベストアンサー

Javaプログラミング

Javaプログラミング 課題で10進法で入力した値を2進法に計算しなおすプログラミングを書いてます。Integer.toBinaryString(int)を使わないでと指定があるのですが、まったくわかりません。おそらくfor か while を使うのだろうと思うのですが、 わかるかたいましたら教えてください。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • webpot
  • ベストアンサー率100% (1/1)
回答No.2

10進数を2進数に変換する方法は、ご存知ですよね。 ■10進数を2進数に変換する ある10進数を2で割り続けて、1もしくは0になるまで繰り返す。 その過程で出力された余りが各桁の値となる。 でこれをプログラムで表現すると、以下になります。 StringBuffer test = new StringBuffer(); if(num <= 1){ test.append(num); }else{ while(true){ test.append(num % 2); num = num / 2 ; if(num <= 1){ test.append(num); break; } } } return test.reverse().toString(); 軽くテストしましたが、そのまま使用するかは自己責任でお願いします。

KaYoukAyOu
質問者

お礼

丁寧にありがとうございます。 とても参考になりました! 返事遅れてすいません。ありがとうございました。

その他の回答 (2)

  • sincia
  • ベストアンサー率0% (0/1)
回答No.3

Integer.toBinaryString(int) がそのままなんでソース見れば答えでしょ。

参考URL:
http://www.docjar.com/html/api/java/lang/Integer.java.html
KaYoukAyOu
質問者

お礼

こんなページがあったんですね。 ありがとうございます。

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.1

プログラムを書こうとする前に、たとえば10進数で12345という数字を2進数表記に手動で変換する手順を説明できますか? 問題のプログラムはforやwhileを使って書くこともできますし、どちらも使わずに書くことも可能です。

KaYoukAyOu
質問者

お礼

手動のやり方は知ってます。 問題とりあえず解けました。 返事遅れて申し訳ありません。ありがとうございました。

関連するQ&A

専門家に質問してみよう