我正在尝试编写一个程序,将十进制转换为二进制,将十进制转换为八进制。 我可以从十进制转换为二进制,但从十进制转换为八进制它不起作用。
import java.util.*;
public class RadixConversion
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
System.out.println("Enter a number: ");
int number = scan.nextInt();
System.out.println("Convert to base: ");
String letter = scan.next();
if (letter.equals("b")||letter.equals("B"))
{
int remainder = 0;
for (int i = 1; number > 0; i++)
{
number /= 2;
remainder = number % 2;
System.out.print(remainder);
}
}
else if (letter.equals ("o") || letter.equals ("O"))
{
int remainder = 0;
for (int i = 1; number >0 ; i++)
{
number /= 8;
remainder = number % 8;
System.out.print(remainder);
}
}
}
}
最佳答案
这是我学习的方式有点复杂。您必须找到适合该数字的最大 8 次方,看看它出现在该数字中多少次,然后用下一个最小的 8 次方重复该过程。您可以边打印边打印每个数字。
关于java - 使用for循环将十进制转换为二进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28057994/