我正在研究一个将显示三种选择的程序。三是:创建一个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