java - 使用for循环将十进制转换为二进制?

标签 java loops data-conversion

我正在尝试编写一个程序,将十进制转换为二进制,将十进制转换为八进制。 我可以从十进制转换为二进制,但从十进制转换为八进制它不起作用。

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/

相关文章:

javascript - 如何在 JavaScript 中将字符串转换为整数?

java - 如何使我的 ActionBar DrawerToggle 按钮正常工作?

java - YAML 文件中的版权符号在构建的 JAR 文件中渲染不正确

php - 将数组分组为 2 个元素的子数组,最后一组缺失

loops - haskell 无法构造无限类型

c - 在 C 中将 ASCII 转换为 HEX 时跳过特殊字符

java - 从两个冲突的 jar 导入类时,使用哪个?

java - 在 RecyclerView Adapter 中使用 onActivityResult

php - 在 A-Z 列表中回显数组

java - 用于十六进制到二进制转换的填充,以便每个十六进制数字产生 4 位