我正在研究一個將顯示三種選擇的程序。三是:創建一個Java程序將十進制轉換爲二進制?
- 十進制轉換爲二進制
- 二進制轉換爲十進制
- 退出。
如果用戶在選擇中寫入「退出」,系統將採取該號碼並說出「再見」。
截至目前,這是我的。
import java.util.Scanner;
public class binary {
public String toBinary(int n) {
if (n == 0) {
return "0";
}
String binary = "";
while (n > 0) {
int rem = n % 2;
binary = rem + binary;
n = n/2;
}
return binary;
}
public static int binaryTodecimal(int i) {
int n = 0;
for (int pow = 1; i > 0; pow *= 2, i /= 10)
n += pow * (i % 10);
return n;
}
public static void main(String[] args) {
int answer2 = 0;
String answer;
final int info = 10;
for (int i = 0; i < info; i++) {
Scanner kb = new Scanner(System.in);
System.out.println("==================================");
System.out.print("Enter your choice: ");
answer = kb.next();
if (answer.equalsIgnoreCase("3"))
System.exit(0);
System.out.print("Enter a number: ");
answer2 = kb.nextInt();
binary decimalToBinary = new binary();
String binary = decimalToBinary.toBinary(answer2);
if (answer.equals("1"))
System.out.println("The 8-bit binary representation is: " + binary);
binary bd = new binary();
int n = bd.binaryTodecimal(answer2);
if (answer.equals("2"))
System.out.println("The decimal representation is: " + answer2);
我遇到的問題是這樣的。
在試圖將數字轉換在answers2爲二進制或十進制,我想不出如何實際分割ANSWER2彌補了這個工作。我想要做一個循環,但不知道我還能做什麼。你能否偶然告訴我我需要做什麼?我是Java新手,仍然在努力學習繩索。
在將十進制轉換爲二進制時,它打印出6位或另一位,我特別希望它是8位。我怎樣才能解決這個問題?例如:
Enter your choice: 1 Enter a number: 16 The 8-bit binary representation is: 10000
你能給產生6位數字的例子嗎? –
只是根據需要填充前導「0」的二進制字符串。 – OldProgrammer
它並不總是6.我剛剛意識到這一點,它的做法。輸入您的選擇:1 輸入數字:16 8位二進制表示是:10000 – chatslayer